首页 > 技术文章 > RMAN-08137 主库无法删除归档文件

wwjd365 2019-08-01 10:12 原文

crosscheck archivelog all;
delete noprompt force archivelog until time 'sysdate-6'; 
在主库删除归档时报如下错误
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
  • 参考文档:RMAN-08137 on Primary Database although Archive Destination to Standby is deferred (文档 ID 1380368.1)
原因是log_archive_dest_state_x设置为DEFER,但是Oracle认为只要设置了log_archive_dest_n就会认为备库存在,只是暂时不可用而已,因此不会删除归档。
可以通过设置隐含参数(动态参数)来规避这个问题,默认值是true,该参数将认为延迟存档目的地完全不可用,并且不再为这些目的地保存归档日志
  • 解决方法1:
alter system set "_deferred_log_dest_is_valid" = FALSE scope=both;

--修改前
NAME                                                         DESCRIPTION                                                            VALUE                                    ISDEFAULT  ISMODIFIED ISADJUSTED
------------------------------------------------------------ ---------------------------------------------------------------------- ---------------------------------------- ---------- ---------- ----------
_deferred_log_dest_is_valid                                  consider deferred log dest as valid for log deletion (TRUE/FALSE)      TRUE                                     TRUE       false      false

--修改后
NAME                                                         DESCRIPTION                                                            VALUE                                    ISDEFAULT  ISMODIFIED ISADJUSTED
------------------------------------------------------------ ---------------------------------------------------------------------- ---------------------------------------- ---------- ---------- ----------
_deferred_log_dest_is_valid                                  consider deferred log dest as valid for log deletion (TRUE/FALSE)      FALSE                                    TRUE       system_mod false
  • 解决方法2
delete noprompt force archivelog all completed before 'sysdate-6';

推荐阅读