Oracle 11gR2 RAC CRS-4535错误解决方法
作者:技术拾光时间:2026-06-25 08:28:01浏览:185
CRS-4535错误的根源在于crsd因底层依赖缺失而无法启动。应先检查私网连通性、OCR与VotingDisk可达性及ASM实例状态,再针对问题修复。11.2.0.1版本存在启动卡死bug需特殊处理。注意该错误常伴随CSSD单节点运行,问题必在跨节点通信或共享存储层面。
先说一个核心判断:CRS-4535 的本质不是 crsd 进程崩溃,而是它压根没能启动——因为底层依赖断了。所以,别一上来就暴力执行
crsctl start crs,那样大概率无效,甚至会让集群状态进一步恶化。正确的做法是:先确认私网、OCR/Voting Disk、ASM 实例这三块是否就绪,再对症下药。
检查私网心跳连通性与配置一致性
OCR 和 CSSD 的运转高度依赖私网通信,丢包、高延迟、MTU 不一致或者防火墙拦截,都会让 cssd.bin 无法正常启动,进而导致 crsd.bin 无法完成注册。所以,私网是第一道坎。
- 用
ping -I双向测试,要求延迟 ≤5ms——别拿默认路由的ping结果来敷衍。 - 检查
ifconfig中私网接口的mtu值,所有节点必须完全一致,推荐统一设为1500,避免因分片导致通信异常。 - 临时关闭防火墙:RHEL5/6 用
service iptables stop,RHEL7+ 用systemctl stop firewalld。别指望它是无辜的,很多诡异问题都出在这里。 - 别忘了
/etc/hosts:每个节点的 public、private、scan 名称都要正确定义,不能有重复或解析冲突,否则 CSSD 会迷失方向。
验证 OCR 和 Voting Disk 的可达性与权限
crsd 启动之前必须能读写 OCR 和 Voting Disk。路径不可达、权限不对、ASM 磁盘组没有 mount——任意一条都会触发 CRS-4535。
- 先跑
ocrcheck -config看看 OCR 配置路径,再用crsctl query css votedisk确认投票盘是不是ONLINE。这两步是最基础的健康检查。 - 切换到
grid用户,执行asmcmd lsdg,重点盯住 OCR 所在磁盘组的state是否为MOUNTED、offline_disks是否为0、usable_file_mb是否大于 0。这三个条件缺一不可。 - 检查设备权限:
ls -l /dev/mapper/ocr*应该看到属主是grid:asmadmin。如果不一致,就同步 udev 规则并重载。 - 另外,别忽略
ocrconfig -showbackup——如果备份路径不可写(比如 NFS 挂载点异常),也有可能阻塞启动。这种边缘情况常被人忽略。
确认 ASM 实例和 ora.crsd 资源状态
即使 OCR 磁盘组已经 mount,ASM 实例本身也可能没启动,或者 ora.crsd 资源卡在 INTERMEDIATE 或 OFFLINE 状态——这时候手动拉起毫无意义。
- 用
ps -ef | grep asm_pmon确认 ASM 实例进程是否存在。如果没有,尝试srvctl start asm -n启动。 - 运行
crsctl stat res ora.crsd -init,状态不是ONLINE就别急着start。先去查日志:$ORACLE_HOME/log/。/crsd/crsd.log - 日志里常见的线索:
ORA-15077表示 ASM 实例不可达,CLSF-00100多指向 OCR 设备路径访问失败。 - 如果
crsd.log显示反复尝试连接 ASM 但超时,优先用asmcmd试试能不能ls出 OCR 目录,而不要只看磁盘组状态就下结论。
避免 11.2.0.1 版本特有的启动卡死问题
Oracle 11.2.0.1 GI 有一个知名 bug:首次 crsctl start crs 可能卡住不动,实际上是 ohasd 在等一个命名管道就绪,需要人工干预才能继续。
- 在 root 用户下执行
./crsctl start crs之后,立即另开一个终端,运行:/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1。 - 这个命令会阻塞几秒,完成后原终端通常立刻显示
CRS-4123成功信息。 - 注意:这个操作只适用于 11.2.0.1;升级到 11.2.0.4+ 可以彻底避免。
- 但务必记住:这个修复不能跳过前面的三步诊断——如果私网不通或 OCR 不可达,dd 命令也救不回来。
最后说一个最容易让人误判的情况:CRS-4535 报错时,crsctl check crs 往往显示 CRS-4529(CSSD online)和 CRS-4533(EVM online)都正常,于是很多人以为“只有 crsd 有问题”。实际上,这恰恰说明 CSSD 已经退守为单节点模式,不再尝试集群协调——根源一定出在跨节点通信或共享存储层面,而不是 crsd 自身二进制文件损坏。别在错误的方向上浪费时间。
