保证归档日志不能随意被删除的四种方法

保证归档日志不能随意被删除的四种方法

1.        

SQL> alter system set log_archive_dest_2='service=testdb1dg lgwr async db_unique_name=slave MANDATORY';

2.        

RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;

RMAN>CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY

把它设置为CONFIGURE ARCHIVELOG DELETION POLICY TO NONE即取消了该限制

不过第二种方法的前提是已经有第一种方法的配置(第二种方法是第一种方法基础上的加强),否则会报错RMAN-08591: WARNING: invalid archived log deletion policy

以上两种方法适用于dataguard环境中的主库,保证主库日志不能随便被删除,不过主站上这两种方法都不推荐用,因为前提就是MANDATORY会导致主库hang

 

3.

RMAN> configure archivelog deletion policy to backed up X times to device type disk;

以上x>=1时执行delete noprompt archivelog until time "sysdate-XX"会报错 RMAN-08138

把它设置为CONFIGURE ARCHIVELOG DELETION POLICY TO NONE即取消了该限制

 

以上三种方法都不会自动删除归档,(已经于20160120实验过的)。而是删除的时候确认是否符合条件,是避免删除其他功能所需要的归档日志。

 

4.

除以上三种情况外还存在的第四种特殊情况,即使没有上面三种设置,如果是dataguard环境中的备库,主库传输过来的归档日志还没有被备库 recover,此时备库执行delete noprompt archivelog until time "sysdate-XX"也会报错 RMAN-08137

 

 

12两种方法则要确认归档是否已经被DATA GUARD所应用。,如果没有被DATA GUARD所应用,备份过程中执行delete all inputdelete inputdelete noprompt archivelog until time "sysdate-XX"都会报错

如果只是上面第一种方法则报错

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

如果是上面第二种方法则报错

RMAN-08120: WARNING: archived log not deleted, not yet applied by standby

但是仍然可以通过OS层面来手工删除

 

MANDATORY选项不能随便配置在远程归档路径中,一旦选了后如果网络中断会出现如下情况,影响主库,导致主库hang

ORA-16014: log 1 sequence# 565 not archived, no available destinations


个人实验经历









来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30126024/viewspace-1982071/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30126024/viewspace-1982071/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值