oracle rac无法实施传统冷备,因其多实例共享数据文件且依赖asm、ocr、voting disk等集群资源;停单实例其余仍写入,停全部实例则面临asm挂载、路径抽象、时间点不一致等问题。

Oracle RAC 没有真正意义上的“冷备”——只要集群在线、实例启动,数据库就处于打开或 mounted 状态,无法执行传统单实例的 shutdown immediate + 文件拷贝式冷备。 你看到的所谓“RAC 冷备”,实际是停掉全部实例后对数据文件、控制文件、OCR、Voting Disk、ASM 配置等做一致性快照或归档拷贝,但操作窗口极短、风险极高,生产环境应避免依赖此方式作为主备份手段。
为什么不能像单实例那样直接 shutdown + cp?
RAC 架构下,多个实例共享同一套数据文件和控制文件,且依赖 ASM、OCR、Voting Disk 等集群级资源。若仅 shutdown 一个实例,其余实例仍在写入,文件处于活跃状态;若强行 shutdown all,又面临以下问题:
-
srvctl stop database -d <db_name></db_name>停库后,ASM 实例仍运行,+DATA磁盘组仍被挂载,底层文件系统不可直接cp或tar - OCR 和 Voting Disk 是裸设备或 ASM diskgroup,需用
ocrconfig -export和crsctl query css votedisk配合dd或存储快照,不是普通文件拷贝 - 即使所有 CRS 资源停止,ASM 磁盘组 unmount 前,
ls -l看到的仍是 ASM 别名路径(如+DATA/DBNAME/DATAFILE/system.256.12345),无法直接访问物理块 - 时间点不一致:控制文件、数据文件、归档日志、spfile 可能跨不同存储位置,手工同步极易遗漏
真正可落地的“类冷备”实施路径
所谓规范实施,是指在最小业务影响下获取一套可用于灾难恢复的、带时间戳的一致性副本。推荐组合使用以下三类操作,按优先级排序:
-
ASM 级存储快照:在支持快照的存储层(如 NetApp、华为 OceanStor、腾讯云共享云硬盘)对整个 OCR、Voting Disk、DATA、FRA 所在 LUN 执行原子快照。这是最接近“冷”的方式,且无需停库。需确保快照时所有节点 I/O 已 flush(可通过
alter system checkpoint触发) -
RMAN 备份 + 归档冻结:执行
ALTER SYSTEM ARCHIVE LOG CURRENT后立即运行 RMAN 全备:run {<br> allocate channel c1 device type disk;<br> backup as compressed backupset database plus archivelog delete input;<br> release channel c1;<br>}注意:必须指定PLUS ARCHIVELOG并DELETE INPUT,否则归档日志堆积会导致 FRA 满 -
OCR/Voting Disk 显式备份:每季度或每次集群变更后手动执行:
ocrconfig -export /backup/ocr_backup_$(date +%Y%m%d).ldif<br>crsctl query css votedisk > /backup/votedisk_list_$(date +%Y%m%d).txt<br># 对每个 voting disk 执行 dd(需 root 权限)<br>dd if=/dev/oracleasm/disks/VOTE1 of=/backup/vote1_$(date +%Y%m%d).img bs=4M
最容易被忽略的三个破坏性操作
很多团队误以为“停掉所有实例就是冷备”,结果导致集群无法拉起或数据损坏:
- 直接
shutdown abort所有实例后,未用crsctl stop crs -f停止 CRS 就去 umount ASM 磁盘组 —— 这会触发 ASM 实例异常终止,下次启动可能报ORA-15032, ORA-15063 - 用
cp拷贝+DATA下的 alias 文件(如system.256.12345)—— 这只是 ASM 元数据指针,不是真实数据文件,拷过去无法 restore - 备份时未确认
v$asm_diskgroup中state = 'MOUNTED'且type = 'NORMAL' or 'HIGH',对正在 rebalance 的磁盘组做快照,恢复后可能丢失部分 extent
真正关键的不是“怎么停库”,而是“怎么确保所有组件(数据库、ASM、CRS、网络资源)在备份瞬间处于已知一致状态”。RAC 的备份本质是多层级协同,任何一层脱节都会让整套备份失效。尤其要注意 OCR 导出和 Voting Disk 备份必须与 RMAN 备份时间戳对齐,否则恢复时可能因集群元数据不匹配而无法注册数据库资源。











