SCAN VIP绑定网卡由Grid Infrastructure自动决定,无法手动指定;其启动依赖ora.net1.network定义的公网子网与物理网卡严格匹配,DNS解析IP必须全部落在该子网内,且需通过arping等验证OS层真实绑定。

SCAN VIP 绑定网卡由 Grid Infrastructure 自动决定,无法手动指定
Oracle 12c RAC 的 SCAN VIP 不是用户可配置绑定到某块网卡的资源,它由 Clusterware 根据 ora.net1.network 资源定义的公网子网和网卡自动选择——你不能用 ifconfig 或 ip addr add 手动绑定,也不能在 srvctl modify scan 中指定网卡名。所谓“绑定失败”,本质是 GI 未识别到匹配的公网接口,或子网配置与物理网络不一致。
-
oifcfg getif -global输出必须包含一条 role=public 的记录,且其子网与 SCAN VIP 所在网段完全匹配(包括掩码) - 若网卡名变更(如 eth0 → ens33),但
srvctl config network仍显示旧名,GI 启动 SCAN VIP 时会找不到目标接口,直接报 CRS-2674 - 多个 public 网卡共存时(如 enp0s3 和 enp0s8 都配了同一子网),GI 可能随机选一个,导致不同节点 SCAN VIP 出现在不同网卡上——这不是 bug,是设计行为
ora.net1.network 子网定义错误是根本原因
SCAN VIP 启动前,GI 会检查 ora.net1.network 资源中定义的子网是否真实存在、是否可达、是否唯一。一旦子网配置错(比如掩码写成 255.255.255.0 但实际是 255.255.254.0),或该子网在所有节点上都无对应网卡,srvctl start scan 就会静默失败,crsctl stat res -t | grep scan 显示 OFFLINE。
- 查当前定义:
srvctl config network,确认 Network type 是 "static",Subnet 和 Netmask 与ip addr show中 public 网卡输出一致 - 查 OCR 实际存储:
crsctl stat res ora.net1.network -p | grep USR_ORA_SUBNET,确保和上面输出相同;不一致说明 OCR 损坏或未同步 - 修改需用:
srvctl modify network -k 1 -S 192.168.10.0/255.255.255.0/ens33(不能只改子网,必须带网卡名)
DNS 解析返回的 SCAN IP 不在公网子网内,VIP 直接拒绝启动
Oracle 12c(及后续版本)在 srvctl start scan 阶段会调用 getaddrinfo() 获取 DNS 解析结果,并逐个校验每个 SCAN IP 是否落在 ora.net1.network 定义的子网中。哪怕只有一条 A 记录超出范围,整个 SCAN VIP 集合都不会注册进 OCR,srvctl config scan 返回空。
- 验证方法:在任意节点执行
nslookup rac-scan.example.com,再对每个返回 IP 执行ipcalc -n 192.168.10.101 255.255.255.0,确认其 network 地址与srvctl config network输出一致 - 常见陷阱:
/etc/hosts中写了一行192.168.10.101 rac-scan.example.com→ 解析出单 IP,触发 12c+ 的严格校验失败 - 禁用 hosts 干扰:
grep -i scan /etc/hosts,清空后重启named或刷新 DNS 缓存(systemctl restart nscd)
SCAN VIP 出现在网卡上但 lsnrctl status 显示端口未绑定
crsctl stat res ora.scan1.vip 显示 ONLINE,不代表该 IP 已真正添加到网卡并可用于监听。很多情况下,VIP 仅被 GI 标记为“接管中”,但 OS 层未执行 ip addr add,或者添加后因 ARP 冲突被内核标记为 DUP,导致监听器 bind 失败,日志里出现 Failed to bind address (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.101)(PORT=1521))。
- 确认是否真落地:
ip addr show ens33 | grep 192.168.10.101,应看到类似inet 192.168.10.101/24 scope global secondary ens33 - 检测 ARP 冲突:
arping -D -I ens33 192.168.10.101,若有 reply,说明网络中已有同 IP 主机 - 交换机侧常见问题:MAC 表里同一 SCAN VIP 对应多个端口 → 克隆虚拟机未清理 MAC 或二层环路,需网络团队介入
arping -D 测试没做。


















