系统: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告警.