root

mkdir /home/bak

chown ora112:oinstall -R /home/bak

1.开启归档

set linesize 300

show parameter db_recovery_file_dest

alter system set db_recovery_file_dest='/home/bak' scope=both;

alter system set db_recovery_file_dest_size=10000000g scope=both;

show parameter db_recovery_file_dest


oracle管理(十四)开启归档_hive

image.png


archive log list;

shutdown immediate;

startup mount;

alter database archivelog;

alter database open;


oracle管理(十四)开启归档_归档日志_02

image.png


验证:

archive log list

oracle管理(十四)开启归档_归档日志_03

image.png


ll /home/bak

oracle管理(十四)开启归档_hive_04

image.png


alter system archive log current;

oracle管理(十四)开启归档_归档日志_05

image.png

ll /home/bak

oracle管理(十四)开启归档_归档日志_06

image.png


ll /home/bak/ORCL/archivelog/2016_12_28


oracle管理(十四)开启归档_归档日志_07

image.png

失败情况下 先查看文件组 再尝试切换日志,
3、解决办法:
清除非归档的日志。
select group#,sequence#,archived,status from v$log;
该结果会显示哪些日志没有归档,结果显示第3组日志还没有归档。这有可能就是脏日志。我们可以清除掉这组日志。
4、清除
alter database clear unarchived logfile group 3;
5、执行完以上操作后尝试切换日志组
alter system switch logfile;



--------删除归档日志

rman target / -----进入rman工具窗口
crosscheck archivelog all; --运行这个命令可以把无效的expired的archivelog标出来。
delete noprompt archivelog until time "sysdate -3"; -- -即删除3天前的归档日志