对于OracleDataGuard的MaximumAvailability和MaximumPerformance两种模式下的主库归档文件的删除,必须是在归档文件在备库应用以后才可以删除。
对于MaximumProtection模式,这种模式的日志是同时写到主库和备库的,所以这种模式下的主库删除归档,没有限制。可以直接删除。
那么在MaximumAvailability和MaximumPerformance下,RMAN备份归档文件的时候,如果我们加上deleteinput,那么如何确定归档问及爱你该不该删除。
在10g之前的版本,只能通过操作系统脚本的方式,在删除归档文件之前,首先对Standby端数据库的归档文件应用状态作判断,应用之后才能在Primary端执行正常删除。
在Oracle10g后,RMAN提供了配置归档文件删除策略:configurearchivelogdeletionpolicy
该策略对应两个值:
APPLIEDONSTANDBY:设置为该值时,当通过附加的DELETEINPUT子句删除Standby数据库仍需要的日志时,会提示RMAN-08137错误。不过仍然可以手动地通过DELETEARCHIVELOG方式删除。
NONE:设置为该值时,则不启用归档文件的删除策略。默认情况下就是NONE。
我们配置一下:
RMAN>configurearchivelogdeletionpolicytoappliedonstandby;
oldRMANconfigurationparameters:
CONFIGUREARCHIVELOGDELETIONPOLICYTOAPPLIEDONSTANDBY;
newRMANconfigurationparameters:
CONFIGUREARCHIVELOGDELETIONPOLICYTOAPPLIEDONSTANDBY;
newRMANconfigurationparametersaresuccessfullystored
RMAN-08591:WARNING:invalidarchivelogdeletionpolicy
这里有个警告,解决方法,执行如下命令:
SQL>altersystemset"_log_deletion_policy"=ALLscope=spfilesid='*';
设置该参数以后,DB需要重启。
具体参考:
RMANbackupsinMaxPerformance/MaxAvailabilityDataGuardEnvironment[ID331924.1]
/tianlesoftware/archive//03/07/6227944.aspx
修改之后,我们在设置:
RMAN>configurearchivelogdeletionpolicytoappliedonstandby;
usingtargetdatabasecontrolfileinsteadofrecoverycatalog
oldRMANconfigurationparameters:
CONFIGUREARCHIVELOGDELETIONPOLICYTOAPPLIEDONSTANDBY;
newRMANconfigurationparameters:
CONFIGUREARCHIVELOGDELETIONPOLICYTOAPPLIEDONSTANDBY;
newRMANconfigurationparametersaresuccessfullystored
RMAN>configurearchivelogdeletionpolicytonone;
oldRMANconfigurationparameters:
CONFIGUREARCHIVELOGDELETIONPOLICYTOAPPLIEDONSTANDBY;
newRMANconfigurationparameters:
CONFIGUREARCHIVELOGDELETIONPOLICYTONONE;
newRMANconfigurationparametersaresuccessfullystored
修改之后成功修改RMAN的归档文件删除策略。
本文转自东方之子736651CTO博客,原文链接:/ecloud/1289474,如需转载请自行联系原作者