在客户现场,使用数据泵导入导出数据,前面数据导出已经做好,在测试环境导入数据的时候,查看了归档日志,发现快满了,就手动删除一下已经过期的日志和一周之前的日志,可是在执行一些删除语句的时候
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;
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31546994/viewspace-2213058/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31546994/viewspace-2213058/