配置RMAN清除已应用到备库的归档日志 (文档 ID 1577382.1)
Tags: Oracle
适用于:
Oracle Database - Enterprise Edition - 版本 10.2.0.1 到 10.2.0.5 [发行版 10.2]
本文档所含信息适用于所有平台
目标
我们需要利用RMAN自动从FRA清除已经应用到备库的归档日志。
\1) Bug 6216036:
在10g中,使用CONFIGURE命令配置的归档日志删除策略
仅适用于自动删除闪回恢复区的归档日志。
其他的删除机制,如DELETE ARCHIVELOG或DELETE INPUT不遵守这个配置。
2)APPLIED ON STANDBY - 启用闪回恢复区删除已应用在属性为mandatory的备库的归档日志。
更多信息请查看 Oracle Data Guard Concepts and Administration
http://docs.oracle.com/cd/B19306_01/backup.102/b14194/rcmsynta015.htm#sthref289
在11g此限制已解除。
解决方案
DataGuard的配置中,当数据库满足下列条件时,FRA下的归档日志将被自动清除,。如果您需要在主库清除,将其设置在主库。
\1) 11g之前,如果不使用mandatory ARCHIVELOG目标,数据库(主库和备库)必须更改下面的参数并重新启动:
SQL> alter system set "_log_deletion_policy"='ALL' scope=spfile;
\2) 在RMAN中配置下列参数(主库和备库):
1 | RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY; |
警告:对于10g,如果设置了APPLIED ON STANDBY, 即使FRA 中的文件没有备份也会被清除。
11g: 从11g 开始,我们对归档日志删除策略的配置进行了增强,包含了 APPLIED ON [ALL] STANDBY [BACKED UP n TIMES TO DEVICE TYPE ] 选项。该选项确认归档日志已经被应用,并且在主库进行过备份后才可以被清除。
\3) 归档日志必须已应用到备库。运行下面的查询列出所有已应用到备库的归档日志:
select a.thread#, a.sequence#, a.applied
from v$archived_log a, v$database d
where a.activation# = d.activation#
and a.applied='YES'
/
\4) FRA有空间压力
当归档日志从FRA自动删除,你会看到数据库的alert.log报出以下信息:
Sat Jun 18 01:00:32 2011
Deleted Oracle managed file /opt/app/oracle/FRA/ORA102/archivelog/2011_05_30/o1_mf_1_1516y71q675.arc
Deleted Oracle managed file /opt/app/oracle/FRA/ORA102/archivelog/2011_05_31/o1_mf_1_1516y87pzg4.arc
参考
NOTE:331924.1 - RMAN backups in Max Performance/Max Availability Data Guard Environment
BUG:6216036 - RMAN+DG ARCHIVELOG DELETION POLICY APPLIED ON STANDBY NOT RESPECTED
NOTE:740322.1 - RMAN Archived Redo Logs Are Deleted Before Being Applied at Standby Database