RMAN恢复在RAC中变慢主因是默认串行且未显式配置多通道、通道路径未隔离导致I/O争用,以及SYSTEM/SYSAUX表空间高并行引发控制文件冲突;必须显式分配跨实例通道、分离FORMAT路径、限制关键表空间通道数,并通过V$SESSION_LONGOPS和GV$PX_PROCESS_SYSSTAT验证真实并行。

为什么RMAN恢复在RAC里变慢了
RAC环境下的RMAN恢复不是天然并行的,它默认只用一个通道读备份、写数据文件,哪怕你有4个节点、32核CPU、parallel_max_servers设为64,不显式配置就仍是串行。更关键的是:RAC中多个实例共享控制文件和FRA(Fast Recovery Area),若所有通道都往同一个ASM磁盘组或本地路径写入,I/O会争用成排队,不是并行是“伪并行”。
- 检查当前是否真用了多通道:
V$RMAN_OUTPUT里看是否有多个RESTORE任务同时出现;更可靠的是查V$SESSION_LONGOPS,OPNAME含“restore”且SOFAR持续增长的行数应 ≥ 通道数 - 确认通道路径隔离:每个
ALLOCATE CHANNEL必须指定不同FORMAT,例如FORMAT '+DATA/backup/%U'和FORMAT '+RECO/backup/%U',不能全指向+FRA - 避免SYSTEM/SYSAUX表空间高并行:它们涉及控制文件更新,开太多通道易触发
ORA-00600 [kcrf_update_ckpt],建议固定用1~2个通道
实例崩溃后OPEN慢,AWR里找不到“Parallel Recovery”指标
Oracle 19c的instance recovery(崩溃恢复)本身不可配置并行度,_parallel_recovery_threads是隐含参数,默认等于cpu_count,但你改不了——它只在MOUNT阶段由后台进程自动启用,且此时AWR快照无法生成。所以你在AWR里根本搜不到“Parallel Recovery”这个术语,也看不到对应等待事件。
真正该盯的间接指标只有三个:
-
log file parallel write平均等待时间 > 15ms → 归档日志或联机日志所在存储写延迟高,拖慢redo apply -
control file sequential read总耗时占比突增 → 控制文件争用,常见于FRA空间不足或控制文件未放在高速存储上 -
db file scattered read等待集中在某几个数据文件 → 对应表空间可能没做SECTION SIZE拆分,导致单通道扛全部块读
RAC节点重启后恢复卡在“Waiting for CSSD to stop…”
这不是数据库层问题,而是集群资源清理阻塞。CSSD(Cluster Synchronization Services Daemon)在驱逐前要等IPC信号量释放、私网心跳确认、表决盘投票完成。如果卡在这里,oclsomon.log和top -b -n1 | grep ocssd大概率显示ocssd进程CPU占用100%或处于D状态(不可中断睡眠)。
- 先查内核信号量是否耗尽:
ipcs -u输出的semnum值接近kernel.sem第四个参数(semmsl)→ 必须≥1024,否则CSSD释放资源时死锁 - 别乱调
reboottime:它只控制“驱逐命令下发后关机动作时限”,对总重启耗时不生效;设大了反而让异常节点残留更久 - 确认
misscount没被误设:执行crsctl get css misscount,若>45且是双节点RAC,小编号节点可能被无故驱逐
并行恢复生效与否,唯一验证方式是看I/O分布
别信RMAN日志里“allocated channel 4”这种话。真正并行,得满足两个硬条件:一是物理I/O路径分离,二是PX server实际参与。
- 查
V$BACKUP_ASYNC_IO(需开启跟踪)或V$IOSTAT_FILE:同一恢复时段内,不同设备路径(如+DATA和+RECO)的PHYSICAL_READ_BYTES应同步上升 - RAC环境下,必须查
GV$PX_PROCESS_SYSSTAT:各节点的SERVERS ALLOCATED和SERVERS IN USE都要有非零值;若只有INSTANCE 1有值,其余为0,说明只是单实例伪并行 - 备份时没用
SECTION SIZE,恢复时再多通道也白搭——RMAN仍只能让一个通道读完整个备份片,其余通道空转等待
最常被忽略的点:并行恢复性能瓶颈90%不在Oracle参数,而在存储路径设计和内核网络缓冲。比如RAC私网UDP接收缓冲区net.core.rmem_max没调到24MB,netstat -su里rcvbuferrors每秒涨,GC块就静默丢包,恢复时大量重传和超时,比单通道还慢。


















