这篇文章主要为大家展示了“DG如何保证归档日志不能随意被删除”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“DG如何保证归档日志不能随意被删除”这篇文章吧。
保证归档日志不能随意被删除的四种方法
http://blog.itpub.net/30126024/viewspace-1982071/
RMAN 配置归档日志删除策略
https://blog.csdn.net/cuiyan1982/article/details/45721433
--查询归档删除策略
show archivelog deletion policy;
--方法详述
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即取消了该限制
以上三种方法都不会自动删除归档,而是删除的时候确认是否符合条件,是避免删除其他功能所需要的归档日志。
4. 除以上三种情况外还存在的第四种特殊情况,即使没有上面三种设置,如果是dataguard环境中的备库,主库传输过来的
归档日志还没有被备库 recover,此时备库执行delete noprompt archivelog until time "sysdate-XX"也会报错 RMAN-08137
如1和2两种方法则要确认归档是否已经被DATA GUARD所应用。如果没有被DATA GUARD所应用,备份过程中执行delete all input或
delete input或delete 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
以上是“DG如何保证归档日志不能随意被删除”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。