广告
返回顶部
首页 > 资讯 > 数据库 >oracle中adg主库通过rman无法删除归档怎么办
  • 769
分享到

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

2024-04-02 19:04:59 769人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关oracle中adg主库通过rman无法删除归档怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。oracle 11.2.0.4 ADG环境

这篇文章将为大家详细讲解有关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 Mode

Automatic archival        Enabled

Archive destination        /data/oradata/ctidb/arch/

Oldest online log sequence     1319

Next log sequence to archive   1321

Current log sequence        1321

SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With 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 Nov  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

                                                                                      1268

accdbdg                                                                         1269

/caadb/oradata/arch/accdb/1_1269_943625125.dbf     1269

accdbdg                                                                         1270

/caadb/oradata/arch/accdb/1_1270_943625125.dbf     1270

accdbdg                                                                         1271

2)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.dbf

2538    1    1270    A 06-JUL-18

        Name: /caadb/oradata/arch/accdb/1_1270_943625125.dbf

2540    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 catalog

new 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天的所有archivelog

3.删除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无法删除归档怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: oracle中adg主库通过rman无法删除归档怎么办

本文链接: https://www.lsjlt.com/news/62618.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle中adg主库通过rman无法删除归档怎么办
    这篇文章将为大家详细讲解有关oracle中adg主库通过rman无法删除归档怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。oracle 11.2.0.4 ADG环境...
    99+
    2022-10-18
  • oracle中怎么利用rman删除过期的归档
    这期内容当中小编将会给大家带来有关oracle中怎么利用rman删除过期的归档,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.检测所有归档   RMAN>...
    99+
    2022-10-18
  • 怎么解决DataGuard环境中主库RMAN删除归档时报ORA-08137问题
    本篇内容主要讲解“怎么解决DataGuard环境中主库RMAN删除归档时报ORA-08137问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决DataG...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作