oracle 12c rac安装自检失败需区分硬依赖与可忽略项:device checks for asm失败须修正udev规则中group="asmdba";asm未挂载需修复oracle二进制权限(chmod 6751)及/dev/oracleasm属主;node connectivity失败应清理多网卡ip绑定或调整windows网卡顺序;仅ins-30131等特定场景可安全使用-ignoreprereq。
oracle 12c rac 安装时自检失败,多数不是真问题,而是验证逻辑过于严格或环境配置未对齐。直接跳过关键检查(如 asm 挂载、节点连通性)会引发后续故障;但硬扛所有报错又常卡在非致命项上。核心思路是:区分「必须修复」和「可安全忽略」的检查项,优先处理共享存储挂载类硬依赖。
Device Checks for ASM 失败:磁盘组权限与 udev 规则不匹配
报错典型形式是 PRVF-9992 或 PRVF-5184,提示设备组为 asmadmin,但期望是 asmdba。这不是磁盘没识别,而是 udev 规则里写死了错误的组名。
- 检查规则文件:
/etc/udev/rules.d/99-oracle-asmdevices.rules,确认每条规则中GROUP="asmdba"(不是asmadmin或oinstall) - 修改后重载规则:
udevadm control --reload-rules && udevadm trigger - 验证设备属组:
ls -l /dev/asm-disk*,输出中第三列应为asmdba - 若仍不生效,临时修复:
chown grid:asmdba /dev/asm-disk*(仅用于验证,不能替代 udev 修复)
Could not validate ASM: Not a single diskgroup is mounted by ASM
安装界面提示 ASM 未挂载任何磁盘组,但实际已配置好。根本原因常是 grid 用户无法通过 asmcmd 正常连接,背后多为二进制权限或通信目录权限缺失。
- 确认
asmcmd可用:su - grid -c "asmcmd lsdg",若报权限错误,重点查/u01/app/12.1.0/grid/bin/oracle - 修复命令:
chmod 6751 /u01/app/12.1.0/grid/bin/oracle(6751是 setuid + setgid + sticky bit) - 同时检查
/dev/oracleasm目录属主:chown -R grid:oinstall /dev/oracleasm - 不要跳过这步直接点“忽略”——否则 GI 安装后 CRS 无法管理 ASM 实例
Node Connectivity Failed:IP 地址绑定到多个网卡
常见于虚拟机环境,ifconfig 显示同一 IP 同时出现在 eth0、bond0、eth1 上,runcluvfy.sh 会直接报 PRVG-1172。这不是网络不通,而是 Linux 内核允许了非法绑定。
- 停用干扰服务:
systemctl stop NetworkManager && systemctl disable NetworkManager - 清空多余 IP:
ip addr flush dev eth0、ip addr flush dev eth1(保留 bond0 上的 IP) - 重启网络服务或直接 reboot,再运行
./runcluvfy.sh stage -post hwos -n node1,node2 -verbose验证 - Windows 环境下需检查网卡绑定顺序:Public 网卡必须排第一,Private 必须排第二,否则同样触发
INS-40937
如何安全地忽略非关键检查
只有两类情况适合加 -ignorePrereq:一是 Windows 下临时目录权限死活搞不定(INS-30131),二是 CVU 版本校验失败且确认环境无误。其他检查强行忽略大概率导致 GI 启动失败或数据库无法注册。
- Windows 安装时临时绕过:
setup.exe -ignorePrereq -J"-Doracle.install.db.validate.supportedOSCheck=false" - Linux 下慎用,尤其涉及 ASM、OCR、投票盘的检查项——它们不通过,
root.sh会卡在CLSRSC-363或静默失败 - 真正省事的办法是提前跑
runcluvfy.sh,把报错逐个解决,而不是等 GUI 安装器弹窗才处理
最易被忽略的是:所有节点的 /etc/hosts 必须完全一致,且 VIP 和 Public IP 必须在同一子网。云环境用模板机部署时,这个细节出错概率极高,但错误日志里往往只显示“主机名无效”,不会明说子网不匹配。











