GI集群启动失败,CRS无法上线,常见原因有哪些?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
泰坦V 2026-02-06 18:55关注```html一、现象层:CRS服务无法启动的直观表现
执行
crsctl check cluster -all返回CRS-4537: Cluster Ready Services is not running;ps -ef | grep ohasd无init.ohasd或ohasd.bin进程;systemctl status oracle-ohasd显示inactive (dead)。此时集群尚未进入“健康检测”阶段,属最表层故障信号。二、基础设施层:OCR/Voting Disk访问性验证
OCR与Voting Disk是GI集群的“神经系统”。需按序验证:
- 检查ASM磁盘组状态:
asmcmd lsdg确认+OCR或+VOTE是否MOUNTED; - 验证udev绑定一致性:
ls -l /dev/asm*对比各节点设备权限(应为grid:asmadmin 660); - 排查存储链路:
multipath -ll+cat /proc/scsi/scsi检查路径是否 active,有无 failed path。
典型错误日志片段:
/u01/app/grid/crsdata/node1/log/alert.log中出现ORA-15032: not all alterations performed或CLSGPNP_ERR: Failed to get CSS voting file list。三、运行时环境层:grid用户环境变量与守护进程链
变量名 正确值示例 常见错误 ORACLE_HOME/u01/app/19.0.0/grid指向RDBMS HOME或为空 GRID_HOME/u01/app/19.0.0/grid未设置或拼写错误(如 GRDI_HOME)PATH含 $GRID_HOME/bin缺失,导致 crsctl命令不可达务必以
sudo -u grid bash -c 'env | grep -E "(ORACLE|GRID)_HOME|PATH'实际校验——shell登录方式与服务启动环境可能不一致。四、系统约束层:资源与内核参数深度核查
执行以下命令组合诊断:
# 内存与Swap(最小要求:RAM ≥ 4GB,Swap ≥ RAM*1.5) free -h && swapon --show # ulimit(关键项必须满足) su - grid -c "ulimit -n -u -v -l" # nofile≥65536, nproc≥16384, memlock=unlimited # 内核参数(/etc/sysctl.conf) grep -E "kernel.sem|fs.aio-max-nr|net.ipv4.ip_local_port_range" /etc/sysctl.conf若
cluvfy comp health -n all -verbose报PRVE-0421 : Available memory is less than required,需立即扩容或调优。五、时间与网络协同层:CSS心跳失效根因建模
graph LR A[节点间NTP/chrony同步] -->|偏差 ≤ 1s| B[CSS进程正常心跳] A -->|偏差 > 1s| C[CSS拒绝加入集群] D[Private网卡MTU不一致] --> C E[hosts中public/private IP解析错误] --> C F[防火墙阻断UDP 123/NTP或UDP 42422/CSS] --> C验证命令:
ntpq -p(检查偏移offset)、cluvfy comp clocksync -n all、ping -s 8972 node2-priv(测试private网卡MTU连通性)。六、服务生命周期层:CRS禁用状态与ohasd启动链
关键检查点:
- 确认未执行过
crsctl disable crs:systemctl is-enabled oracle-ohasd应返回enabled; - 检查
/etc/init.d/ohasd是否存在且可执行; - 人工启动调试:
sudo -u root /u01/app/19.0.0/grid/bin/crsctl start crs -wait并实时跟踪tail -f /u01/app/grid/crsdata/node1/log/ohasd.log。
若日志末尾持续出现
CRS-4000: Command Start failed且无后续错误,大概率是前五层某环节阻塞了初始化流程。七、版本治理层:补丁兼容性与升级完整性审计
升级后未执行
rootupgrade.sh是高危操作。验证方法:- 比对GI版本与已安装补丁:
opatch lspatches | grep -E "(29|30|31)...."; - 检查升级日志:
tail -50 /u01/app/grid/cfgtoollogs/crsconfig/rootupgrade*.log; - 确认Oracle Cluster Registry元数据版本:
ocrdump -backupfile $(ocrconfig -showbackup | head -1 | awk '{print $1}') | grep -A5 "VERSION"。
当
```cluvfy comp patch -n all -o crs报PRVG-11405 : Patch conflict detected,需使用opatch auto回滚冲突补丁并重跑rootupgrade.sh。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报- 检查ASM磁盘组状态: