讲师中心 微信公众号
AI工具推荐 视频效率加速

如何在Oracle 19c RAC中利用RMAN并行备份到ASM存储

夏丽小哥_2697

夏丽小哥_2697

发布时间:2026-11-07 12:09:25

|

612人浏览过

|

来源于php中文网

原创

RMAN在Oracle 19c RAC中并行备份到ASM需显式为各通道指定CONNECT实例、确保所有节点挂载目标ASM磁盘组、统一归档路径至ASM且归档链完整,否则默认单节点执行。

如何在oracle 19c rac中利用rman并行备份到asm存储

在 Oracle 19c RAC 中用 RMAN 并行备份到 ASM,关键不是“能不能”,而是“通道是否真正跨节点、ASM 路径是否被所有实例识别、归档日志链是否完整”。默认配置下,BACKUP DATABASE PLUS ARCHIVELOG 很可能只在一个节点上跑完全部备份,白白浪费 RAC 的并行能力。

为什么 RMAN 备份没真正跨节点执行

RMAN 通道本质是数据库会话,而会话默认绑定在连接的实例上。即使你在 node1 上运行 RMAN 连接 target /,所有 ALLOCATE CHANNEL 默认都在 node1 启动 —— 即使 ASM 磁盘组(如 +DATA)本身是共享的,备份 I/O 仍集中在单节点,CPU/IO 成为瓶颈。

  • 检查当前通道归属:RMAN 中执行 SHOW ALL,看 CONFIGURE CHANNEL 是否含 CONNECT 子句;若没有,说明通道未显式指定连接目标实例
  • 确认实际运行节点:备份过程中查 V$SESSION,过滤 PROGRAM LIKE '%rman%',看 INST_ID 是否只出现一个值
  • 19c 默认不启用跨节点并行 —— 这和 11.2 以前靠 TNS load_balance=NO 的老办法不同,现在靠的是 CONNECT + 实例名显式控制

如何让 RMAN 通道真正分发到多个 RAC 实例

必须为每个通道显式指定连接哪个实例,且该实例必须能访问目标 ASM 磁盘组(通常没问题,但需验证)。

QuantOracle
QuantOracle

63个确定性量化金融计算器 + 10个通过MCP的复合工作流。期权定价、Greeks、奇异衍生品、风险指标、投资组合优化……

下载
  • 先确保所有节点都能访问目标 ASM 磁盘组:在 node1 和 node2 分别执行 sqlplus / as sysasm → SELECT NAME, STATE FROM V$ASM_DISKGROUP WHERE NAME = 'DATA';,状态必须是 MOUNTED
  • 在 RMAN 中分配多通道并指定实例连接:
    RMAN> RUN {
      ALLOCATE CHANNEL c1 DEVICE TYPE DISK CONNECT 'sys/oracle@racdb1' FORMAT '+DATA/backup/%U';
      ALLOCATE CHANNEL c2 DEVICE TYPE DISK CONNECT 'sys/oracle@racdb2' FORMAT '+DATA/backup/%U';
      BACKUP DATABASE PLUS ARCHIVELOG;
      RELEASE CHANNEL c1;
      RELEASE CHANNEL c2;
    }
  • racdb1 和 racdb2 是 TNSNAMES.ORA 中定义的服务名,分别指向 node1 和 node2 的实例;密码必须正确,且用户需有 SYSDBA 或 SYSBACKUP 权限
  • 不要混用 CONFIGURE CHANNEL 和 ALLOCATE CHANNEL:前者是全局配置,后者是 RUN 块内动态分配;跨节点必须用后者显式 CONNECT

备份路径写入 ASM 时的常见陷阱

写入 ASM 不是把路径换成 +DATA 就完事 —— ASM 需要目录结构、权限隔离、以及 RMAN 对格式字符串的实际解析规则。

  • FORMAT '+DATA/backup/%U' 中的 backup 是 ASM 别名(alias),不是操作系统目录;首次使用前需手动创建:ASMCMD> mkalias +DATA/backup(注意:不能用斜杠嵌套多级,ASM 不支持传统目录树)
  • 如果报错 ORA-19504: failed to create file '+DATA/backup/xxx.bkp',大概率是 alias 不存在,或当前连接实例无权在该磁盘组创建 alias(检查 V$ASM_CLIENT 确认实例已注册)
  • 不要用 %d_%T_%s_%p 这类变量拼接长文件名:ASM 对 alias 长度限制严格(最长 255 字符),过长会导致创建失败;建议精简为 %U 或 %d_%T_%s
  • 归档日志备份也必须走同一 ASM 路径:PLUS ARCHIVELOG 会复用通道的 FORMAT,所以只要通道 FORMAT 指向 ASM,归档日志也会写进去 —— 无需额外配置

归档日志链断裂导致备份卡在“当前日志已存档”

这是最隐蔽的问题:备份看起来在运行,但长时间停在 当前日志已存档,最后静默失败或只完成部分归档备份。根本原因是某个节点的归档日志没传到共享位置,或 FRA 空间满导致归档中断。

  • 查所有节点归档状态:ARCHIVE LOG LIST 在 node1 和 node2 分别执行,确认都是 Archive Mode 且 Automatic archival: Enabled
  • 查归档目标是否统一指向 ASM:SHOW PARAMETER log_archive_dest_1,理想值应为 LOCATION='+RECO'(不是 USE_DB_RECOVERY_FILE_DEST);若混用 FRA 和 ASM,RMAN 可能找不到某些归档
  • 查归档日志物理存在性:SELECT THREAD#, SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG WHERE DEST_ID = 1 AND STANDBY_DEST = 'NO' ORDER BY 1,2 DESC;,确认各 thread 的最新 sequence 在所有节点一致
  • 备份前强制切换并验证:ALTER SYSTEM ARCHIVE LOG CURRENT; ×2,再查 V$ARCHIVED_LOG 确保新日志已生成并可访问

真正难的不是命令怎么写,而是确认每个节点的归档路径、ASM 挂载状态、TNS 连接可用性这三件事是否同时成立 —— 缺一不可。任何一项不满足,RMAN 就会退化成单节点串行执行,还可能不报错。

热门AI工具

更多
Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

讯飞智文

一款面向学习和办公场景的AI文档创作工具,可辅助生成PPT与Word文档,提高资料整理和内容制作效率。

码上飞
码上飞 Hot

一款基于自然语言的AI应用开发平台,可根据用户描述自动生成应用程序,帮助个人和团队快速完成应用原型与开发。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
oracle清空表数据
oracle清空表数据

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

1101

2023.08.16

Oracle中declare的使用
Oracle中declare的使用

Oracle DECLARE语句是PL/SQL编程语言中用于声明变量、常量、游标或异常的关键字。它的主要作用是在程序中定义这些对象,以便在后续的代码中使用。DECLARE语句的语法简单明了,可以根据需要声明多个对象。通过使用这些声明的对象,可以进行各种操作,如计算、查询数据库、处理异常等 。

3293

2023.09.15

oracle怎么分页
oracle怎么分页

实现分页的步骤:1、使用ROWNUM进行分页查询;2、在执行查询之前进行设置分页参数;3、使用"COUNT(*)"函数来获取总行数,并使用"CEIL"函数来向上取整计算总页数;4、在外部查询中使用"WHERE"子句来筛选出特定的行号范围,以实现分页查询。想了解更多oracle怎么分页的文章,可以来阅读本专题先的文章。

3290

2023.09.18

Oracle查看表操作历史记录
Oracle查看表操作历史记录

查看操作历史记录的方法:1、使用Oracle内置的审计功能,可以记录数据库中发生的各种操作,包括登录、DDL语句、DML语句等;2、使用Oracle日志文件,其中包含了数据库中发生的各种操作,可以通过查看日志文件来获取操作历史记录;3、使用Oracle的Flashback功能,可以查看数据库在某个时间点的操作历史记录;4、使用第三方工具等。本专题还提供其他查看表操作的文章,大家可以免费阅读。

1889

2023.09.19

Oracle中RAC的用法
Oracle中RAC的用法

Oracle中RAC的用法:1、通过在多个服务器上运行数据库实例来提供高可用性;2、允许在需要时增加或减少节点数量;3、通过将工作负载分布到多个节点上来实现负载均衡;4、使用共享存储来实现多个节点之间的数据共享;5、允许多个节点同时处理数据库请求,从而实现并行处理;6、提供了透明故障切换功能;7、使用了一些技术来确保数据的一致性;8、提供了管理工具来简化RAC环境的管理和维护。本专题还提供RAC相关的其他文章,大家可以免费阅读。

2493

2023.09.19

oracle imp
oracle imp

imp是Oracle数据库中的一个命令行工具,用于将导出的数据和对象从一个数据库实例导入到另一个数据库实例。imp命令的一般语法为“imp username/password@connect_string file=file_name [options]”。

3469

2023.09.19

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4849

2023.11.02

oracle通配符有哪些
oracle通配符有哪些

oracle通配符有“%”、“_”、“[]”和“[^]"。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

257

2023.11.08

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

20

2026.11.05

热门下载

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

精品课程

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn