crs-4537表明ohas未启动,需先执行ps -ef | grep ohasd确认进程是否存在,若无输出则检查/etc/oracle/olr.loc路径有效性及权限,再手动执行crsctl start ohasd并验证crsctl check crs是否返回crs-4638。

crsctl check crs 报 CRS-4537,说明本地节点连不上 CRS,不是资源没启起来,而是整个高可用框架压根没跑起来。先别碰 crsctl start crs,直接查 ohasd 进程。
先确认 ohasd 是否存活
ohasd 是 Oracle 高可用服务的入口进程,所有 crsctl 命令都依赖它通信。一旦它挂了,crsctl check crs 就必然报 CRS-4537。
- 执行
ps -ef | grep ohasd:若无输出,说明ohasd没运行 - 检查
/etc/oracle/olr.loc是否存在且路径有效:cat /etc/oracle/olr.loc,内容应类似olrconfig_loc=/u01/app/19c/grid/cdata/olr.ocr - 若路径指向不存在目录,或权限不是
644(常见错设为600),ohasd会静默失败 - 手动启动:
sudo /u01/app/19c/grid/bin/crsctl start ohasd - 立即验证:
crsctl check crs,必须看到CRS-4638: Oracle High Availability Services is online才算过关
crsctl start crs 卡在 ora.cssd 或超时
ora.cssd 是集群心跳核心,不依赖数据库,但强依赖 OCR 和 voting disk 的可访问性。卡在这里,基本是存储层断了。
- 用
asmcmd lsdg查 OCR 所在磁盘组(如OCRVOTE)状态:若是DISMOUNTED,需先sqlplus / as sysasm执行ALTER DISKGROUP OCRVOTE MOUNT - 运行
crsctl query css votedisk,确认输出路径(如+OCRVOTE或/dev/mapper/mpathb)在所有节点上都能被root用户读取 - 检查权限:
ls -l输出中属主应为grid:oinstall,裸设备权限为660,NFS 文件为644 - 验证私网连通:
olsnodes -n应列出全部节点编号;若某节点缺失,查$GRID_HOME/log/<hostname>/cssd/ocssd.log</hostname>中是否有IPC Send timeout或Failed to connect to CSS daemon—— 大概率是防火墙拦了 UDP 12345,或私网网卡 down 了
crsctl stat res -t 显示 ora.asm ONLINE INTERMEDIATE
这表示 ASM 实例已启动,但无法挂载 OCR/voting disk 对应的磁盘组。最常被忽略的是设备映射一致性问题。
- 在每个节点执行
ls -l /dev/asm<em></em>或ls -l /dev/mapper/,确认多路径设备(如mpatha、mpathb)在各节点映射到同一 WWID - 若用了 ASMLIB,运行
oracleasm listdisks,输出必须与crsctl query css votedisk中路径完全一致 - 检查 Grid 安装目录权限:
ls -ld /u01/app/19c/grid属组不能是oinstall(错误配置),应为asmadmin或dba;同时确认id -g grid返回的 GID 与正确属组匹配 - 若日志中反复出现
ORA-12541: TNS:no listener或CRS-5055: unable to connect to an ASM instance,说明ora.ASMNET1LSNR_ASM.lsnr没就绪,需手工拉起:crsctl start res ora.ASMNET1LSNR_ASM.lsnr -init
操作系统升级或重装后 CRS 启动异常
重装或升级 OS 后,内核参数、大页配置、安全加固策略、存储驱动等都会重置,RAC 很可能直接瘫痪。
- 必须永久禁用
transparent_hugepage:修改/etc/default/grub,在GRUB_CMDLINE_LINUX行末加transparent_hugepage=never,再grub2-mkconfig -o /boot/grub2/grub.cfg并重启 - 验证:
cat /sys/kernel/mm/transparent_hugepage/enabled输出应为[never],且grep AnonHugePages /proc/meminfo返回AnonHugePages: 0 kB - 运行
$ORACLE_HOME/rdbms/install/hugepages_settings.sh计算vm.nr_hugepages值,不要手算;设完后sysctl -p,并确认vm.hugetlb_shm_group和kernel.shmall同时生效 - 若用 EMC 存储,升级 SUSE SP4 → SP5 后必须安装对应版本的
DellEMCPower.LINUX-7.1.0.00.00-075.SLES12SP5.x86_64.rpm,否则ocssd找不到 voting disk - 主机名必须严格匹配
/etc/hostname、/etc/hosts和集群注册信息;若重启后主机名变成 VIP 名(如xxdb01-vip),crsctl会去错目录找 ADR,报DIA-49802权限错误
真正卡住的地方,往往不在 CRS 层本身,而在它下面那几层——ohasd 没起来、OCR 盘没 mount、私网不通、大页没配、主机名错了。每一步都得验,跳步等于埋雷。











