必须先删OCR旧网卡记录再换网卡,否则CRS启动报PRIF-32或PROC-44;公网需在线执行oifcfg delif并验证,私网须先add后del以防PRIF-31;hosts与网卡配置顺序、srvctl interface参数及GPNP profile同步均需严格校验。

更换公网网卡前必须先删OCR里的旧网卡记录
直接换网卡但不更新OCR,CRS启动会失败,报错 PRIF-32 或 PROC-44。关键动作是先在所有节点CRS运行状态下执行删除:
-
oifcfg delif -global enp92s0f0/192.168.3.0(用实际旧网段替换) - 必须确保集群在线,否则命令报错且无法写入OCR
- 删完立刻用
oifcfg getif验证旧记录已消失
私网网卡更换要分两步:先加新、再删旧
私网不能像公网那样“删完再配”,因为OCR里只允许存在至少一个 cluster_interconnect 接口。强行删最后一个会触发 PRIF-31 错误。
- 先添加新网卡+新网段:
oifcfg setif -global bond1/172.168.10.0:cluster_interconnect - 确认
oifcfg getif输出中同时存在新旧两条记录 - 再删旧网卡:
oifcfg delif -global enp92s0f3/10.110.1.0 - 这一步必须在CRS仍运行时完成,停CRS后再删会失败
/etc/hosts 和物理网卡配置顺序不能颠倒
hosts 文件改早了或改晚了都会导致VIP绑定失败或SCAN监听异常。真实踩坑点在于:OS层网卡重启后IP未生效,但CRS已尝试拉起VIP资源。
- 先改
/etc/hosts,把新公网IP、新VIP、新SCAN、新私网IP全写进去(旧IP暂时保留也无妨) - 再改网卡配置文件(如
/etc/sysconfig/network-scripts/ifcfg-enp92s0f0),确保IPADDR和NETMASK与hosts一致 - 执行
systemctl restart network后,立刻用ip addr show确认IP已生效 - 最后才启CRS;若跳过验证直接启CRS,
crsctl check crs会显示CRS-4639或VIP资源offline
网卡设备名变更后必须同步更新srvctl的interface参数
比如把 enp92s0f0 换成 bond0,但 srvctl modify nodeapps 命令里还写着旧设备名,VIP就永远绑不到正确接口上。
- 查当前绑定:
srvctl config nodeapps -a,注意末尾的设备名(如/b表示bond0) - 修改命令必须带新设备名:
srvctl modify nodeapps -n ora11grac1 -A ora11grac1vip/255.255.255.0/bond0 - SCAN IP不用指定设备名,但需确保
/etc/hosts中SCAN主机名解析到新IP,且DNS或hosts都生效 - 改完立刻
srvctl stop vip -n ora11grac1 && srvctl start vip -n ora11grac1强制重绑
实际操作中最容易被忽略的是GPNP profile文件——它和OCR一样存着私网配置,但备份常被跳过。改完所有IP后,务必检查两个节点的 $GRID_HOME/gpnp/ 是否已同步更新,否则下次集群重启可能回退到旧私网设置。











