0

0

如何配置RAC环境下的归档日志_共享存储上的Archive Log与RMAN

P粉602998670

P粉602998670

发布时间:2026-03-10 22:02:03

|

233人浏览过

|

来源于php中文网

原创

归档日志路径必须使用集群共享存储(如ASM、NFS等),RMAN需配置维护通道并统一归档删除策略,各节点LOG_ARCHIVE_DEST_STATE_n必须为ENABLE,否则RMAN将静默遗漏归档导致恢复失败。

归档日志路径必须指向集群共享存储,不能用本地文件系统

oracle rac 要求所有实例都能读写同一份归档日志,否则 rman 备份会漏掉其他节点产生的 archivelog,恢复时直接失败。常见错误是每个节点配了自己本地的 log_archive_dest_1,比如 /u01/archivelog,结果只有本节点的归档可见。

  • 必须使用集群可访问的共享路径:ASM 磁盘组(推荐)、NFS、OCFS2、或符合 POSIX 的集群文件系统
  • ASM 示例:LOG_ARCHIVE_DEST_1='LOCATION=+FRA' ,其中 +FRA 是所有节点都 mount 的磁盘组
  • NFS 示例:LOG_ARCHIVE_DEST_1='LOCATION=/shared_nfs/arch' ,需确认所有节点 mount 状态一致且权限正确(oracle:oinstall 可读写)
  • 切忌混用路径类型——比如节点1用 ASM、节点2用 NFS,RMAN 无法统一识别

RMAN CONFIGURE ARCHIVELOG DELETION POLICY 要配合实际备份策略

默认情况下 RMAN 不会自动删除已备份的归档,但若配置了 ARCHIVELOG DELETION POLICY 却没真正完成备份,就可能误删。尤其在 RAC 中,多个实例并发写归档,策略生效范围容易被误解。

  • 最安全的起点:CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO DEVICE TYPE DISK;
  • 如果用了带 catalog 的异地备份,可设为 TO BACKED UP 1 TIMES TO DEVICE TYPE SBT,但必须确保 SBT 通道真实可用且 catalog 已同步
  • 禁用自动删除?可以:CONFIGURE ARCHIVELOG DELETION POLICY TO NONE;,但得靠人工或脚本定期清理,否则 +FRA 很快占满
  • 注意:该策略只影响 DELETE ARCHIVELOGBACKUP ... DELETE INPUT 行为,不影响数据库自身归档切换

RMAN 备份归档日志时必须用 ALLOCATE CHANNEL FOR MAINTENANCE

RAC 环境下,RMAN 默认的通道分配机制可能只连到当前连接的实例,导致只备份了部分节点产生的归档。这不是 bug,而是设计行为——RMAN 的 BACKUP ARCHIVELOG 命令本身不跨实例扫描,除非显式指定维护通道。

OneAI
OneAI

将生成式AI技术打包为API,整合到企业产品和服务中

下载
  • 正确做法:进入 RMAN 后先执行 ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;,再运行 BACKUP ARCHIVELOG ALL;
  • 如果用了 catalog,建议加 CONNECT CATALOG 并确保 catalog 中已注册所有实例(LIST DB_UNIQUE_NAME OF DATABASE 应显示全部)
  • 别依赖 BACKUP ARCHIVELOG FROM TIME 'SYSDATE-1' 这类时间条件——RAC 各节点时间若有微小偏差(哪怕 2 秒),就会漏掉某些归档
  • 验证是否全量备份:LIST ARCHIVELOG ALL; 对比 LIST BACKUP OF ARCHIVELOG ALL;,看 THREAD#SEQUENCE# 是否覆盖全部

归档目标状态(LOG_ARCHIVE_DEST_STATE_n)在 RAC 中必须显式启用所有节点

即使路径配置正确,某个节点的 LOG_ARCHIVE_DEST_STATE_1 被设为 DEFERALTERNATE,该节点就不会生成归档到共享位置,RMAN 自然也备份不到。这种状态常因滚动升级、故障切换后未重置而残留。

  • 检查方式:对每个实例分别执行 SELECT DEST_NAME, STATUS, STATE FROM V$ARCHIVE_DEST WHERE DEST_ID = 1;
  • 修复命令(在对应实例上):ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=ENABLE;
  • 不要依赖 SCOPE=BOTH 全局下发——RAC 中每个实例要单独确认
  • 特别注意 Data Guard 环境:主库启用了 LOG_ARCHIVE_DEST_2 到备库,但若 LOG_ARCHIVE_DEST_1(本地共享归档)状态异常,仍会导致 RMAN 备份断裂

归档路径、RMAN 策略、通道分配、目标状态——这四点任意一个没对齐,RMAN 就会静默丢失归档。最麻烦的是问题不报错,只在恢复时才暴露,所以每次配置变更后,务必在所有节点上跑一次 ARCHIVE LOG LISTLIST BACKUP OF ARCHIVELOG SUMMARY 对照看。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Java 并发编程高级实践
Java 并发编程高级实践

本专题深入讲解 Java 在高并发开发中的核心技术,涵盖线程模型、Thread 与 Runnable、Lock 与 synchronized、原子类、并发容器、线程池(Executor 框架)、阻塞队列、并发工具类(CountDownLatch、Semaphore)、以及高并发系统设计中的关键策略。通过实战案例帮助学习者全面掌握构建高性能并发应用的工程能力。

99

2025.12.01

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

287

2023.11.13

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

222

2023.12.29

Golang channel原理
Golang channel原理

本专题整合了Golang channel通信相关介绍,阅读专题下面的文章了解更多详细内容。

261

2025.11.14

golang channel相关教程
golang channel相关教程

本专题整合了golang处理channel相关教程,阅读专题下面的文章了解更多详细内容。

351

2025.11.17

location.assign
location.assign

在前端开发中,我们经常需要使用JavaScript来控制页面的跳转和数据的传递。location.assign就是JavaScript中常用的一个跳转方法。通过location.assign,我们可以在当前窗口或者iframe中加载一个新的URL地址,并且可以保存旧页面的历史记录。php中文网为大家带来了location.assign的相关知识、以及相关文章等内容,供大家免费下载使用。

232

2023.06.27

点击input框没有光标怎么办
点击input框没有光标怎么办

点击input框没有光标的解决办法:1、确认输入框焦点;2、清除浏览器缓存;3、更新浏览器;4、使用JavaScript;5、检查硬件设备;6、检查输入框属性;7、调试JavaScript代码;8、检查页面其他元素;9、考虑浏览器兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

197

2023.11.24

oracle清空表数据
oracle清空表数据

当表中的数据不需要时,则应该删除该数据并释放所占用的空间。本专题为大家提供oracle清空表数据的相关文章,帮助大家解决该问题。

271

2023.08.16

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

4

2026.03.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号