查询归档日志信息常用的数据字典视图
v$database #查询数据库是否处于归档
v$archived_log #包含控制文件中所有已经归档的日志信息
v$archive_dest #包含所有归档目标信息
v$archive_processes #包含已启动的 ARCN 进程状态信息
v$backup_redolog #包含所有已备份的归档日志信息
1、查看当前日志模式
select log_mode from v$database;
2、开启归档模式
注:改变日志模式时,不能使用 shutdown abort 命令
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
archive log list;
3、关闭归档模式
shutdown immediate;
startup mount;
alter database noarchivelog;
alter database open;
archive log list;
4、配置归档进程
注:用多个 ARCN 进程可以加速归档的速度
alter system set log_archive_max_processes=4;
5、设置归档文件位置
①本地归档 location
optional : 默认选项,无论"归档操作"是否执行成功,都可以覆盖重做日志文件
mandatory : 强制进行"归档操作",只有归档成功后重做日志文件才能被覆盖
reopen : 设定重新归档的时间间隔,默认值为 300 秒。reopen 属性必须跟在 mandatory 选项后
alter system set log_archive_dest_5='location=/home/oracle/oradata2/arch5 optional';
#alter system set log_archive_dest_6='location=/home/oracle/oradata2/arch6 mandatory reopen=300';
②设置本地最小成功归档个数
alter system set log_archive_min_succeed_dest=2;
③设置归档位置是否可用
enable : 表示激活相应的归档位置
defer : 表示禁用相应的归档位置
alter system set log_archive_dest_state_6=defer;
④手动切换在线日志
alter system switch logfile;
6、显示归档信息
archive log list;
7、查看归档日志
$ rman target /
RMAN> list archivelog all;
RMAN> crosscheck archivelog all;
8、清理归档日志
$ rman target /
RMAN> delete force noprompt archivelog all;
RMAN> delete force noprompt archivelog all completed before 'sysdate - 7';
RMAN> delete force noprompt archivelog until time "to_date('2021-04-18 00:00:00','yyyy-mm-dd hh24:mi:ss')";
RMAN> delete force noprompt archivelog until sequence 33;
# 删除系统时间1天以内到现在的归档日志
RMAN> delete force noprompt archivelog from time 'sysdate-1';