分享更有价值
被信任是一种快乐

oracle中adg主库通过rman无法删除归档怎么办

文章页正文上

这篇文章将为大家详细讲解有关oracle中adg主库通过rman无法删除归档怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。oracle 11.2.0.4 ADG环境主库os空间紧张,发现归档日志占用很大的一个比例!但是我们的备份脚本中每天都执行CROSSCHECK ARCHIVELOG ALL;DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-31’;也就是保留了31天的,那么31天的怎么会这么大呢?SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination
/data/oradata/ctidb/arch/Oldest online log sequence 1319Next log sequence to archive 1321Current log sequence 1321SQL> exitDisconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options[oracle@BJ-CTI-17 ctidb]$
cd /data/oradata/ctidb/arch/[oracle@BJ-CTI-17 arch]$ ll -rt-rw-r—– 1 oracle oinstall 369649664 Nov 8 2017 1_303_950667461.dbf-rw-r—– 1 oracle oinstall 56832 Nov 8 2017 1_304_950667461.dbf-rw-r—– 1 oracle oinstall 1024 Nov 8 2017 1_305_950667461.dbf-rw-r—– 1 oracle oinstall 377382400 Nov 9 2017 1_306_950667461.dbf-rw-r—– 1 oracle oinstall 55808 No免费主机域名v 9 2017 1_307_950667461.dbf-rw-r—– 1 oracle oinstall 1024 Nov 9 2017 1_308_950667461.dbf-rw-r—– 1 oracle oinstall 305280000 Aug 10 2017 1_30_950667461.dbf-rw-r—– 1 oracle oinstall 373349376 Nov 10 2017 1_309_950667461.dbf-rw-r—– 1 oracle oinstall 141824 Nov 10 2017 1_310_950667461.dbf-rw-r—– 1 oracle oinstall 1024 Nov 10 2017 1_311_950667461.dbf发现居然还有一年之前的归档日志文件,那就奇怪了?1)查看控制文件中记录的归档的文件信息SQL> select name ,SEQUENCE# from v$archeved_log;name SEQUENCE#—————————————————————————————accdbdg 1268 1268accdbdg 1269/caadb/oradata/arch/accdb/1_1269_943625125.dbf 1269accdbdg 1270/caadb/oradata/arch/accdb/1_1270_943625125.dbf 1270accdbdg 12712)rman中查看31天前的归档,显示为空。说明控制文件没有记录相关的信息RMAN> list archivelog all completed before ‘sysdate-31’;3)rman中查看30天前的归档,就有了!说明记录了倒数31天的信息RMAN> list archivelog all completed before ‘sysdate-30’;List of Archived Log Copies for database with db_unique_name ACCDB=====================================================================Key Thrd Seq S Low Time——- —- ——- – ———2536 1 1269 A 05-JUL-18 Name: /caadb/oradata/arch/accdb/1_1269_943625125.dbf2538 1 1270 A 06-JUL-18 Name: /caadb/oradata/arch/accdb/1_1270_943625125.dbf2540 1 1271 A 06-JUL-18 Name: /caadb/oradata/arch/accdb/1_1271_943625125.dbf再次查看归档目录中的归档文件,发现确实是保留了最近31天的归档,原来是在归档SEQUENCE#为1268开始有了adg,这之前包括1268的归档主库的控制文件都不记录了!因此执行下列命令是没办法删除;CROSSCHECK ARCHIVELOG ALL;DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-31’;解决办法是通过find命令从os层面删除归档![oracle@BJ-CTI-17 arch]$ find /data/oradata/ctidb/arch -name “*.dbf” -mtime +30 -exec rm -f {} ;一:关于adg的主库归档删除策略:CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default该策略对应三个值:1)NONE :设置为该值时,则不启用归档文件的删除策略。默认情况下就是NONE。2)APPLIED ON STANDBY :设置为该值时,会强制检查待删除的log 是否已经在备库apply,只有apply后的log才能删除。当通过附加的 DELETE INPUT 子句删除Standby数据库仍需要的日志时,会提示RMAN-08137错误而无法删除。 不过仍然可以手动地通过 DELETE ARCHIVELOG 方式删除。3) SHIPPED TO ALL STANDBY: RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;using target database control file instead of recovery catalognew RMAN configuration parameters:CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;new RMAN configuration parameters are successfully stored注意:如果设置APPLIED ON STANDBY,当归档已经正常传给了standby,那么是可以手工地通过 DELETE ARCHIVELOG 方式删除,但是由于网络问题导致没有传给standby,这样你DELETE ARCHIVELOG 就无法删除了!二:删除归档的方法:1.删除os目录上不存在的归档,也就是删除控制文件中记录的信息RMAN>crosscheck archivelog all;RMAN> delete expired archivelog all;2.删除超过恢复策略的归档RMAN>delete noprompt obsolete; #不仅仅删除过期的备份,相关的归档也会删除!RMAN脚本中使用 “delete noprompt obsolete;” 删除超出保存策略的备份。以前我的备份脚本中处理归档日志时都是“plus archivelog delete all input”,备份完archivelog后马上删除,总以为“delete noprompt obsolete;” 只删除备份集不删归档。在做DataGuard时候,Primary需要保存最近的archivelog,以便standby出现archivelog gap时过来取。实验中发现它也会将obsolete backupset相关的archivelog一并删掉。所有dataguard不能用delete noprompt obsolete;这个命令删除。那需要用什么命令删除呢?delete archivelog until time ‘sysdate-7’ ; 删除截止到前7天的所有archivelog3.删除n天前的归档,delete archivelog all completed before ‘sysdate-N’注意:list archivelog until time ‘sysdate-1’; 此时是按照归档日志开始时间即fisrt_time作为截止时间list archivelog all completed before ‘sysdate-1’ 是按照归档日志完成时间即completion_time作为截止时间试想如果删除归档日志,还是采用delete archivelog all completed before ‘sysdate-N’4.通过os命令删除30天前的归档[oracle@BJ-CTI-17 arch]$ find /data/oradata/ctidb/arch -name “*.dbf” -mtime +30 -exec rm -f {} ;关于“oracle中adg主库通免费主机域名过rman无法删除归档怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

相关推荐: 如何解决mysql客户端显示乱码的问题

这篇文章主要介绍“如何解决mysql客户端显示乱码的问题”,在日常操作中,相信很多人在如何解决mysql客户端显示乱码的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解决mysql客户端显示乱码的问题”的疑惑有所帮助!接…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册