在12C版本数据库部署自动清理归档脚本,查看删除日志报错,在11g中未出现过此警告,感觉是12C的新特性导致。
RMAN-08120:WARNING: archived log not deleted, not yet applied by standby
这个问题,是因为在12.1.0.2中,删除归档日志的默认行为发生了变化。原来在11g中不考虑defer的路径,在12.1.0.2时如果有defer的路径,则会报错日志没有applied,即使这些日志实际上已经被applied了。
This behavior has changed and is related to:
Bug 16082541 RMAN DELETES ARCHIVELOGS WHICH HAVE NOT BEEN APPLIED TO A DEFERRED STANDBY
which was fixed in 12.1.0.2, ( but has changed behaviour in handling of deleting logs)
Changed behaviour:
-> Destinations that are marked DEFERRED (and valid_now=’UNKNOWN’) are considered in in 12.1.0.2 before deleting logs.
排查过程:
检查log_archive_dest_status_n参数是否存在为defer
处理方法:
1. 不改log_archive_dest_state_n,设置log_archive_dest_n=''
2. 不取消log_archive_dest_n='',修改log_archive_dest_state_n为enable --确认有效
3. alter system set "_deferred_log_dest_is_valid"=false
4. archivelog deletion policy从applied on all standby改成applied on standby