对于Oracle Data Guard 的Maximum Availability和 Maximum Performance 两种模式下的主库归档文件的删除,必须是在归档文件在备库应用以后才可以删除。
在Oracle 10g 后,RMAN提供了配置归档文件删除策略:
configure archivelog deletion policy
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
该策略对应三个值:
1)NONE :设置为该值时,则不启用归档文件的删除策略。默认情况下就是NONE。
2)APPLIED ON STANDBY :
设置为该值时,会强制检查待删除的log 是否已经在备库apply,只有apply后的log才能删除。
当通过附加的 DELETE INPUT 子句删除Standby数据库仍需要的日志时,会提示RMAN-08137错误。 不过仍然可以手动地通过 DELETE ARCHIVELOG 方式删除。
3) SHIPPED TO ALL STANDBY:
当归档传送到备库就可以删除。
APPLIED ON STANDBY 策略 操作流程: (环境 一个节点的rac + 单节点 asm 备库)
SQL> alter system set "_log_deletion_policy"=ALL scope=spfile sid='*';
System altered.
[root@node1 bin]# ./srvctl stop database -d devdb
[root@node1 bin]# ./srvctl start database -d devdb
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
using target database control file instead of recovery catalog
new RMAN configuration parameters:
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
new RMAN configuration parameters are successfully stored
RMAN> show all;