删除归档日志报RMAN-08137

来源:这里教程网 时间:2026-03-03 11:56:31 作者:

在客户现场,使用数据泵导入导出数据,前面数据导出已经做好,在测试环境导入数据的时候,查看了归档日志,发现快满了,就手动删除一下已经过期的日志和一周之前的日志,可是在执行一些删除语句的时候

delete NOPROMPT expired archivelog all;

报错如下:

RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process

做了如下分析: 1、可能与DG断开有关,因为部分日志传输没有成功传输到备库,主库不允许删除 2、可能是Oracle的bug,详见

RMAN-08137 When deleting archivelogs even when Streams CAPTURE does not require them [ID 1079953.1]
Bug 12412131 - Archivelog backups are not being deleted by 'DELETE OBSOLETE' (文档 ID 12412131.8)
RMAN Is Not Reporting Old Archive Log Files As Obsolete (文档 ID 1936141.1)

按文档描述,进行如下 诊断:

rman target <user/pwd> catalog <if using user/pwd> debug trace='rman_debug.trc'
rman target / debug trace='/u01/dba_log/rman_debug.trc'
delete noprompt obsolete device type disk;

解决: 1、手动强制删除

delete force noprompt archivelog until time 'sysdate-2' ;

2、网上看到的方法 2.1 将主库的log_archive_dest_2置空,命令如下:

alter system set log_archive_dest_2='' scope=both sid='*';

2.2 启用log_archive_dest_stat_2,命令如下:

alter system set log_archive_dest_state_2=enable scope=both sid='*';

2.3 重新登录到rman,删除过期文件,结果:成功删除 ,命令如下:

rman target /
run{
delete noprompt obsolete device type disk;
}

相关推荐