HAIP启动失败应先查日志和子接口:执行ifconfig -a | grep 169.254确认HAIP子接口是否存在,再查ocssd.log中“no network HB”等关键字,同时用crsctl stat res -t -init验证CSSD状态。

oifcfg 是配置 Oracle RAC 私有网络(cluster_interconnect)的核心工具,但直接改网卡或 /etc/hosts 不等于生效——私网配置必须被 Grid Infrastructure 识别并由 HAIP(Highly Available IP)接管,否则节点间心跳失败、CRS 启动卡住、crsctl check crs 报 CRS-4638: Oracle High Availability Services is online 但 crsctl check cluster -all 显示节点失联。
确认私网网卡已就位且未被占用
私网网卡不能和公网、存储网共用物理接口(除非明确做了 VLAN 隔离),也不能配置默认网关或 DNS。常见错误是把私网网卡(如 enp0s8)配成 BOOTPROTO=dhcp 或漏设 ONBOOT=yes,导致重启后消失。
检查要点:
-
ip link show enp0s8确认状态为UP -
ip addr show enp0s8确认只含一个私网 IP(如192.168.1.1/24),无多余别名或 IPv6 地址 -
route -n | grep enp0s8输出应为空(私网不走路由) -
ethtool enp0s8查速率/双工,避免 auto-negotiation 失败导致间歇性丢包
用 oifcfg 正确注册私网子网和角色
oifcfg 不是“设置 IP”,而是告诉 Clusterware:哪块网卡承载什么流量。私网必须标记为 cluster_interconnect,若还跑 ASM 流量(12c+ 默认启用),需额外加 asm 标签。
典型操作顺序(在任一节点执行):
- 先查现状:
oifcfg getif—— 确认旧配置是否存在冲突(比如两个网卡都标了cluster_interconnect) - 新增私网:
oifcfg setif -global enp0s8/192.168.1.0:cluster_interconnect,asm(注意是子网地址,不是节点 IP) - 删旧配置(如有):
oifcfg delif -global enp0s8/10.10.10.0(删除前务必确认新配置已生效) - 验证:
oifcfg getif应显示类似enp0s8 192.168.1.0 global cluster_interconnect,asm
⚠️ 错误示例:oifcfg setif -global enp0s8/192.168.1.1:cluster_interconnect —— 这里填的是节点 IP 而非子网,会导致后续 HAIP 分配失败。
验证 HAIP 是否接管并生成 169.254.x.x 地址
Grid Infrastructure 启动后,会自动在私网网卡上绑定一个 169.254.x.x/16 的链路本地地址(HAIP),这是心跳通信的真实端点。没有它,crsctl check cluster -all 一定失败。
检查方法:
-
ifconfig enp0s8—— 必须看到主 IP(如192.168.1.1)和至少一个enp0s8:1别名,IP 形如169.254.123.45 -
oifcfg getif输出中的子网必须与ifconfig中主 IP 的子网一致(如192.168.1.0对应192.168.1.1/24) - 若没出现
169.254.x.x,执行crsctl stop has && crsctl start has强制重载(注意:这会中断所有 CRS 资源)
⚠️ 常见坑:CentOS 7+ 默认启用 NetworkManager,它会抢管私网网卡,导致 HAIP 绑定失败。解决方式是禁用:systemctl disable NetworkManager 并改用 network 服务管理网卡。
同步 /etc/hosts 和 OCR 中的私网解析
OCR 中不存私网主机名,但 /etc/hosts 必须包含每个节点的私网 IP 和对应主机名(带 -priv 后缀是惯例,非强制),否则 cluvfy comp nodecon -n all -verbose 会报 PRVF-7532 : Core file name pattern is not same on all nodes 类似无关错误,实则因 DNS 解析失败引发连锁反应。
正确写法(两节点均需一致):
192.168.1.1 rac1-priv 192.168.1.2 rac2-priv
注意:
- 不要在
/etc/hosts里写私网 VIP(RAC 没有私网 VIP) - 不要用通配符或
127.0.0.1解析私网名 - 节点间必须能
ping -c3 rac1-priv和ssh rac1-priv date(SSH 免密需提前配好)
最关键的信号是:cluvfy comp nodecon -n all 输出末尾出现 Verification of node connectivity was successful. —— 这一步过了,私网才算真正连通。











