系统:CentOS 7.9
数据库:oracle 11.2.0.4
异常描述:物理备库被激活为读写库后,执行rman删除归档命令报错RMAN-08317,如下所示:
RMAN> delete archivelog until time 'sysdate-3';
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=199 device type=DISK
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/app/oracle/fast_recovery_area/archivelog1_12_1105638338.dbf thread=1 sequence=12
通常造成此异常原因为存在dg或ogg等类似归档复制或者抽取进程占用归档文件,以下两种情况会触发报错:
a、V$ARCHIVED_LOG.NEXT_CHANGE# is GREATER THAN the required SCN
b、V$ARCHIVED_LOG.APPLIED column is NO
说明:此处查询V$ARCHIVED_LOG.APPLIED字段确实存在“NO”字样.
因为当前环境为物理dg转读写库,此处介绍两种解决方案:
1、删除语句增加
delete force archivelog until time 'sysdate-3';
2、修改配置参数
alter system set log_archive_dest_2='' scope=both sid='*';
说明:以上两种方案均测试过,都能成功消除RMAN-08137告警.