跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Oracle RAC数据库实例无法拉起?检查OCR与Voting Disk健康

OCR磁盘组无法挂载会导致CRS启动失败,表现为CRS-4535错误;常见原因包括ASM未启动、磁盘组未识别、路径权限异常或OCR文件头损坏,应优先检查ASM状态、磁盘发现结果及手动挂载尝试,并从备份恢复OCR而非直接dd清零。 OCR磁盘组无法挂载导致CRS无法启动 ocr(oracle cluster registry)是rac集群的“配置中心”,如果存放ocr的asm磁盘组无法挂载,
crsd.bin
会直接失败退出,
crsctl check crs
显示
crs-4638: oracle high availability services is online
但
crs-4535: cannot communicate with cluster ready services
。 常见原因包括:ASM实例未启动、OCR所在磁盘组未被ASM识别、磁盘路径权限异常、或磁盘组中OCR文件头损坏。 先确认ASM是否运行:
ps -ef | grep asm_pmon
;若无输出,尝试手动启动:
srvctl start asm -n
检查ASM磁盘发现状态:
asmcmd lsdsk -k
,确认OCR所在磁盘(如
/dev/oracleasm/disks/OCR_VOTE
)是否显示为
PROVISIONED
而非
UNKNOWN
若磁盘可见但磁盘组无法
mount
,用
sqlplus / as sysasm
执行:
ALTER DISKGROUP OCR_VOTE MOUNT
,观察是否报
ORA-15032
/
ORA-15017
——这往往指向磁盘路径不可达或UDEV规则失效 切勿直接用
dd
清零磁盘,OCR损坏时应优先从备份恢复:
ocrconfig -showbackup
→
ocrconfig -restore
Voting Disk离线引发节点驱逐(Node Eviction) Voting Disk不是“可选组件”,而是RAC心跳仲裁的核心。只要一个节点无法访问多数Voting Disk(即“quorum”丢失),该节点会在60秒内被强制重启,日志中出现
cssd(9819)ERROR: clssnmvDRLUpdate: Aborting local node to avoid split-brain.
。 注意:Voting Disk可以放在ASM磁盘组里(推荐),也可以放在裸设备或NFS上;但无论哪种方式,必须确保所有节点对同一份Voting Disk有**一致、低延迟、无中断**的读写能力。 查看当前Voting Disk位置与状态:
crsctl query css votedisk
,输出中
STATE
列必须全为
ONLINE
若显示
OFFLINE
,检查对应路径是否可访问:
ls -l
+
dd if= of=/dev/null bs=4k count=1
(测试I/O通路) 在ASM场景下,Voting Disk依赖ASM磁盘组在线;若
crsctl query css votedisk
报
CLSU-00100: Operating System function: ioctl() failed with error data: 25
,大概率是ASM未加载该磁盘或udev绑定错误 添加/替换Voting Disk必须使用
crsctl replace votedisk
,不能手动复制或修改底层文件——Voting Disk内容受CSS守护进程独占管理 OCR/Voting Disk共存于同一ASM磁盘组的风险 Oracle允许将OCR和Voting Disk放在同一个ASM磁盘组(如
+OCR_VOTE
),但这是把双刃剑:简化部署的同时,也把两个关键路径耦合在一起。一旦该磁盘组因磁盘故障、路径抖动或ASM bug无法挂载,整个集群立刻失去配置管理和节点仲裁能力。 生产环境强烈建议分离:OCR单独一组(如
+OCR
),Voting Disk另放一组(如
+VOTE
),且两组后端物理磁盘不共享同一控制器或光纤链路。 检查是否共存:
ocrcheck -detail
中
Location
与
crsctl query css votedisk
中路径是否同属一个ASM DG名 分离操作需停集群:
crsctl stop crs -f
→ 在各节点分别
ocrconfig -repair -add +VOTE
→
crsctl replace votedisk +VOTE
→ 清理旧路径 → 重启 特别注意:
ocrconfig -repair
仅修复OCR注册信息,不移动物理文件;真正迁移需结合
dd
或
asmcmd cp
(后者要求目标DG已存在且可写) 诊断时最容易忽略的底层细节 很多DBA卡在“磁盘路径存在、权限OK、ASM能识别”,却始终无法拉起实例,问题往往藏在更底层:不是配置错,而是通路断。 多路径设备(multipath)下,
ocrconfig -showbackup
显示路径如
/dev/mapper/mpathb
,但
crsctl query css votedisk
输出却是
/dev/oracleasm/disks/VOTE1
——这两者若未通过udev规则正确映射,CSS进程根本看不到Voting Disk 检查
/etc/udev/rules.d/99-oracle-asmdevices.rules
是否包含对应WWID绑定,且
start_udev
后
ls -l /dev/oracleasm/disks/
能看到持久化链接 私网(Cluster Interconnect)不通也会间接影响OCR同步:CSS依赖UDP多播维持节点视图,若
ping -I
丢包或延迟>20ms,可能触发误驱逐,继而破坏OCR一致性 时间不同步虽不直接导致拉不起实例,但会使OCR备份时间戳混乱,
ocrconfig -showbackup
可能列出未来时间的备份文件,误导恢复操作

相关文章