不能跳过。Oracle 12c及以后版本中,网络地址解析检查失败会导致CRS安装硬性中止,必须确保/etc/hosts正确配置、禁用NetworkManager对resolv.conf的覆盖,并优先使用hosts方案而非DNS。
cluvfy.sh 预检查报 “Network address resolution check failed” 怎么跳过?
不能跳过。oracle 12c 及以后版本中,runcluvfy.sh 的网络解析检查(尤其是 check -n 和 stage -pre crsinst)若失败,crs 安装会直接中止——这不是警告,是硬性拦截。强行加 -fixup 或改脚本注释掉检查项,后续集群启动时大概率卡在 ohasd 初始化或 ora.cssd 启动失败。
常见错误现象:ERROR: PRVF-4657 : Name resolution setup check for "node1" failed,或反复提示某节点无法反向解析自身 FQDN。
- 必须确保所有节点的
/etc/hosts中,每行都同时包含 IPv4 地址、短主机名、FQDN(如192.168.10.11 node1 node1.example.com) - 禁用 NetworkManager 对
/etc/resolv.conf的覆盖(CentOS/RHEL 7+ 默认开启),否则 DNS 设置会被动态清空 - 关闭防火墙或放行 UDP 53 端口(如果用了内部 DNS),但更推荐纯 hosts 方案——
cluvfy默认不信任 DNS 缓存行为
runcluvfy stage -pre crsinst 报 “PRVF-4007 : Failed to retrieve interface information”
这通常不是网卡没起来,而是 Oracle 检查逻辑对多网卡、bonding、或 IPv6 启用状态过于敏感。它会尝试读取 /sys/class/net/*/device/vendor 和 /proc/sys/net/ipv6/conf/*/disable_ipv6,任一路径不可读或值异常就报错。
使用场景:物理机多网卡绑定 + IPv6 disabled,但 cluvfy 仍去查 ipv6/conf/all/disable_ipv6 文件(该文件在某些内核版本下不存在)。
- 临时修复:在所有节点执行
echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6(仅内存生效,不影响持久配置) - 确认 bonding 接口已 up 且有 MAC 地址:
ip link show bond0 | grep 'link/ether',若无输出,cluvfy会认为接口无效 - 避免使用
teamd或nmcli配置的连接——cluvfy只认传统ifconfig或ip addr管理的接口命名
忽略 cluvfy 某类检查是否可行?比如磁盘权限或 NTP
部分检查可以绕过,但必须用官方支持的参数,不能删日志或 patch 脚本。Oracle 明确允许通过 -verbose -fixup 自动修复部分问题,但“忽略”需精准指定检查项。
参数差异:-ignore 是全局开关(危险),而 -skip 才是安全方式,只跳过特定子检查。
- 跳过 NTP 检查:
runcluvfy.sh stage -pre crsinst -n node1,node2 -skip ntp - 跳过磁盘权限(仅限非 ASM 场景):
-skip diskpermission,但若后续用 ASM,此跳过会导致ocrconfig初始化失败 - 绝对不要用
-ignore,它会跳过所有依赖校验(包括 OCR 设备可见性),安装中途崩溃概率极高
cluvfy 输出 “PRVF-5636 : The NTP daemon is not running” 但 chronyd 正在运行
cluvfy 在 12.1–19c 版本中硬编码检测 ntpd 进程名和 /var/run/ntpd.pid 路径,对 chronyd 完全无感知。这不是 bug,是设计限制。
性能与兼容性影响:强行用 systemctl enable ntpd 并启动,可能与 chronyd 冲突导致系统时间跳跃;但不用 NTP 服务,RAC 节点间时钟偏移超 1 秒,cssd 会强制驱逐节点。
- 正确做法:停掉
chronyd,启用ntpd,并确保其配置指向同一 NTP server(/etc/ntp.conf) - 验证方式:
ntpq -p必须显示*或+标记的活动源,cluvfy不接受ntpq -p输出为空或全是? - Oracle GI 21c 开始才原生支持
chronyd检测,旧版本别抱幻想
真正麻烦的从来不是报什么错,而是 cluvfy 检查项之间存在隐式依赖——比如修复了 DNS 却忘了关 NetworkManager,或者跳过了 NTP 却没意识到 OCR 备份也依赖时间同步。每个 PRVF- 错误码背后,都是 Oracle 强制你把环境钉死在某个确定态上。

















