首页 游戏 软件 资讯 排行榜 专题
首页
数据库
Oracle Data Guard如何设置自动清理_配置归档删除策略

Oracle Data Guard如何设置自动清理_配置归档删除策略

热心网友
42
转载
2026-04-24

RMAN归档删除策略:是自动清理,还是条件删除?

RMAN归档删除策略是带保护条件的删除控制机制,仅在执行DELETE INPUT或显式DELETE ARCHIVELOG时按策略判断是否可删,不自动清理;configure archivelog deletion policy to applied on standby要求归档在备库应用后才允许删除,但需启用隐含参数并重启数据库才生效。

首先,得澄清一个常见的误解:RMAN的归档删除策略,本质上并非一个“自动清理”服务。它更像是一个带有严格保护条件的删除控制机制。简单来说,它不会主动去扫描你的归档目录、定时删除旧文件。它的作用,只在你执行BACKUP ARCHIVELOG ... DELETE INPUT或显式的DELETE ARCHIVELOG命令时,才作为“守门员”介入,根据预设的策略来判断:“这个归档文件,现在能删了吗?” 如果你追求的是真正的“自动化”,那还得依赖外部调度工具(比如cron配合脚本)来定期触发RMAN命令。策略本身,只负责把关。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

Oracle Data Guard如何设置自动清理_配置归档删除策略


configure archivelog deletion policy to applied on standby 是什么

这个从Oracle 10g开始引入的RMAN配置项,其实是一个安全开关。它的核心作用在于:当你在主库上执行归档删除操作时,它会强制进行一轮检查——目标归档日志是否已经在备库上完成了应用(即APPLIED = 'YES')。

请注意,它不改变归档日志的传输或应用行为本身,仅仅是对“删除”这个动作进行干预。

  • 生效范围明确:仅对RMAN命令中的DELETE INPUT选项以及显式的DELETE ARCHIVELOG命令有效。
  • 系统命令无效:对于在操作系统级别执行的rmfind -delete等操作,这个策略完全不起作用。
  • 不影响备份:它只决定备份完成后,源头的归档文件要不要删,而不会影响RMAN备份任务本身的执行。

基于此,常常会看到两种“矛盾”的现象:

  • 配置了该策略后,执行BACKUP ARCHIVELOG ALL DELETE INPUT可能会报错RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture
  • 但与此同时,执行DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-7'却可能成功(这实际上绕过了策略检查)。

为什么 configure archivelog deletion policy 常报 RMAN-08591

如果你遇到了RMAN-08591: WARNING: invalid archivelog deletion policy这个警告,问题根源通常不在于配置命令本身,而在于一个底层依赖参数没有打开。

Oracle数据库默认关闭了跨库校验归档状态的能力,必须手动启用这个“开关”:

  • 关键一步:必须执行ALTER SYSTEM SET "_log_deletion_policy" = ALL SCOPE=SPFILE SID='*';
  • 必须重启:修改完成后,数据库需要重启(SHUTDOWN IMMEDIATE + STARTUP)才能生效,否则策略配置将一直处于静默失效状态。
  • 适用范围:这个隐含参数会影响所有实例(RAC环境下需指定SID='*'),并且仅在Data Guard环境中配置才有实际意义。

这里有几个容易踩的坑:

  • 修改了参数却忘记重启数据库,导致策略看似配好,实则从未起作用。
  • 在单机数据库(非DG环境)中配置此策略,不仅没有意义,还可能对后续的数据库升级造成干扰。
  • 试图使用SCOPE=BOTH进行动态修改会失败,必须通过SPFILE修改并重启。

Maximum Protection 模式下要不要配 deletion policy

答案是:不用配,也不建议配

  • MAXIMUM PROTECTION(最大保护)模式下,事务的Redo数据是同步写入主库和至少一个备库的。这意味着,主库上生成归档日志时,对应的Redo数据已经在备库的Standby Redo Log中落盘了。
  • 因此,主库的归档日志在生成后随时可以删除,无需等待备库的“应用”阶段(因为Redo Apply是异步过程,而强一致性在写入时已经保证了)。
  • 如果强行配置APPLIED ON STANDBY,反而可能因为备库的MRP(Managed Recovery Process)进程延迟(例如在维护窗口被暂停)而错误地阻止主库删除归档,带来不必要的麻烦。

简单对比一下适用场景:

  • MAXIMUM A VAILABILITY / MAXIMUM PERFORMANCE模式 → 强烈建议配置APPLIED ON STANDBY,这是防止误删的关键屏障。
  • MAXIMUM PROTECTION模式 → 保持策略为默认的NONE,或者干脆不配置。

delete input 删除失败时怎么手动补救

当遇到RMAN-08137报错,导致备份流程卡住,而你又不能等待备库追上应用进度(例如网络中断、归档间隙积压)时,可以采取临时绕过的补救措施:

  • 查询未应用的归档范围:在主库执行SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;查看是否存在Gap。
  • 确认备库应用进度:在备库执行SELECT MAX(SEQUENCE#) FROM V$ARCHIVED_LOG WHERE APPLIED = 'YES';,了解已应用到哪个序列号。
  • 主库手动删除:根据查询结果,在主库使用RMAN命令手动删除已确认在备库安全的归档,例如:DELETE ARCHIVELOG FROM SEQUENCE 12345 UNTIL SEQUENCE 12350;
  • 操作后验证:删除后应立即检查备库状态,避免人为制造新的归档间隙。

这里有三个关键点需要牢记:

  • DELETE ARCHIVELOG命令本身不受deletion policy的约束,它是绕过策略进行“硬删除”的唯一通道。
  • 但这种手动操作每次都需要人工仔细核对,绝不能写入定时脚本长期使用,风险极高。
  • 真正健壮的做法,应该是优先修复归档传输或应用链路的问题(检查V$ARCHIVE_DEST_STATUSV$MANAGED_STANDBY视图),让删除策略能够自然地、安全地生效。

最后,还有一个极易被忽略的角落:归档清理的压力不仅在主库,备库自身同样需要清理。主库的删除策略再严格,如果备库上的归档日志堆积不清理,磁盘空间照样会被撑爆。而备库并没有RMAN deletion policy这样的机制来保护,必须依靠定期执行DELETE ARCHIVELOG命令或操作系统级的清理脚本来维护,这一点常常在规划时被遗忘。

来源:https://www.php.cn/faq/2338156.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Oracle视图如何提高跨库查询效率_利用DBLINK与视图封装
数据库
Oracle视图如何提高跨库查询效率_利用DBLINK与视图封装

Oracle视图如何提高跨库查询效率:利用DBLINK与视图封装 说到跨库查询,很多朋友的第一反应就是创建DBLINK。但实际操作后,往往会发现一个令人困惑的现象:明明已经建好了链路,查询速度却依然慢得让人难以接受。这背后的症结,通常不在于DBLINK本身,而在于查询的执行方式没有优化到位。 DBL

热心网友
04.24
Oracle如何高效处理海量数据_利用PL/SQL Bulk Collect与Forall
数据库
Oracle如何高效处理海量数据_利用PL/SQL Bulk Collect与Forall

PL SQL批量查数据不能只用普通LOOP,因逐行FETCH引发高频上下文切换和引擎通信,性能极差;应使用BULK COLLECT配合显式集合类型一次性加载数据,再用FORALL批量DML提升效率。 PL SQL里批量查数据,为什么不能只用普通LOOP? 原因其实很直接:逐行 fetch 的操作,本

热心网友
04.24
如何在Spring Boot应用中监控Oracle连接池_集成Druid
数据库
如何在Spring Boot应用中监控Oracle连接池_集成Druid

Druid连接池为什么比Hikari更适配Oracle监控需求 说到监控Oracle数据库的连接池,很多开发者可能会发现,事情没那么简单。Oracle的官方JDBC驱动在暴露连接状态、会话级指标(比如SQL执行耗时、等待事件)方面,远不如MySQL那样“友好”。这时候,连接池的选择就变得至关重要了。

热心网友
04.24
Oracle RMAN在生产环境备份需注意什么_配置备份排除策略
数据库
Oracle RMAN在生产环境备份需注意什么_配置备份排除策略

RMAN生产备份必须显式配置归档删除策略,否则归档堆积导致闪回区满、数据库hang 在RMAN生产环境备份这件事上,千万别以为一句backup database就能高枕无忧。如果不显式配置归档删除策略,归档日志暴增、控制文件膨胀、闪回恢复区被撑爆,这些麻烦随时可能找上门来。 为什么默认不自动删除归档

热心网友
04.24
如何解决C#调用Oracle出现ORA-01460未实现或不合理的转换_参数类型与长度溢出检查
数据库
如何解决C#调用Oracle出现ORA-01460未实现或不合理的转换_参数类型与长度溢出检查

ORA-01460:未实现的转换?不,是参数绑定在“抗议” 遇到ORA-01460错误时,先别急着怀疑Oracle的能力。这个错误的本质,并非数据库真的“无法实现”某种数据转换,而是ODP NET(或旧版的System Data OracleClient)在准备SQL语句时,发现你传入的参数(Par

热心网友
04.24

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

还在为看行情付费?这些免费网站一样好用!
web3.0
还在为看行情付费?这些免费网站一样好用!

实时掌握加密货币行情是每位投资者的必修课 精准的数据和强大的图表工具,是不是非得付费才能获得?其实不然。市面上有大量免费且功能卓越的网站,它们提供的数据深度和分析工具,完全能满足绝大多数投资者的看盘和研究需求。 免费好用的行情网站推荐 1 币安 (Binance) 作为全球交易量领先的交易所,币安

热心网友
04.24
零跑D19正式上市:增程/纯电双版本共七款配置,首销权益
娱乐
零跑D19正式上市:增程/纯电双版本共七款配置,首销权益

零跑D19正式上市:增程 纯电双版本共七款配置,首销权益详解 备受市场瞩目的零跑D19,其官方售价已于2026年4月16日正式公布。这款全新中大型SUV提供增程式与纯电动两种动力系统,共计七款车型配置。其中,增程版推出三款车型,售价区间为21 98万元至23 98万元;纯电版则提供四款车型,官方指导

热心网友
04.24
龙之剑:觉醒Steam上线,2026年7月发售,虚幻5打
娱乐
龙之剑:觉醒Steam上线,2026年7月发售,虚幻5打

龙之剑:觉醒Steam上线,2026年7月发售,虚幻5打造动画风开放世界 备受瞩目的动作角色扮演游戏《龙之剑:觉醒》现已正式登陆Steam平台,并公布将于2026年7月全球发售。游戏确认提供完整的官方中文支持,极大方便了华语区玩家获取信息与未来体验。 这款游戏的背景颇具渊源。它并非全新IP,而是基于

热心网友
04.24
新手必看!币圈免费看行情的神器网站盘点
web3.0
新手必看!币圈免费看行情的神器网站盘点

对于刚刚踏入加密货币世界的新手来说,找到一个信息准确、使用方便的免费行情网站至关重要 一个好的行情工具,远不止是看个价格那么简单。它就像你的市场雷达,既要能实时捕捉价格波动,又要能提供深度的图表和数据,帮你从纷繁的信息中理出头绪。那么,市面上有哪些公认好用的免费神器呢?下面就来盘点几个,助你轻松上手

热心网友
04.24
TCOMAS幻世NEOX 360一体式水冷发售:6.67
娱乐
TCOMAS幻世NEOX 360一体式水冷发售:6.67

TCOMAS钛钽幻世NEOX 360一体式水冷散热器正式上市发售 高端电脑散热领域迎来重磅新品。TCOMAS钛钽品牌推出的幻世NEOX 360一体式水冷CPU散热器,已于4月17日正式上市销售。目前,玩家已可通过京东平台直接购买。对于注重个性装机与极限性能的DIY用户来说,这款水冷散热器提供了经典黑

热心网友
04.24