Oracle RAC VIP 与 SCAN 详解
Oracle RAC VIP 与 SCAN 详解
适用版本:Oracle Database 11g / 12c / 19c / 23ai 文档版本:v1.0 / 2026-07
1. 概述
VIP 和 SCAN 是 RAC 网络关键[1]:
详细见:Oracle 服务名与 SID 区别、Oracle 监听器工作原理与配置。
2. VIP
2.1 概念
- Virtual IP
- 每节点一个
- 故障切换
- 应用透明
2.2 工作机制
- 节点正常:VIP 在节点
- 节点故障:VIP 切换其他节点
- 应用快速感知
- TAF 配合
2.3 优势
- 快速故障检测
- 不等待 TCP 超时
- 应用切换
3. SCAN
3.1 概念
- Single Client Access Name
- 11g R2+
- 单一连接名
- 3 个 IP
3.2 优势
- 应用配置简化
- 节点增删无需改客户端
- 负载均衡
- 故障切换
3.3 DNS
- DNS 轮询
- 3 个 IP
- GNS(Grid Naming Service)
4. 配置
4.1 SCAN IP
- 3 个 IP
- DNS 配置
- 同一子网
4.2 SCAN Listener
srvctl status scan_listener
srvctl config scan_listener
srvctl start scan_listener
4.3 VIP
srvctl status vip -n node1
srvctl config vip -n node1
srvctl start vip -n node1
5. 连接
5.1 SCAN
# tnsnames.ora
prod =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = scan.example.com)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = prod))
)
5.2 VIP
prod_vip =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521))
)
(CONNECT_DATA = (SERVICE_NAME = prod))
)
6. 负载均衡
6.1 SCAN Listener
- 接收连接
- 转发到本地监听器
- 负载分布
6.2 服务
- Preferred/Available
- 服务分布
- 故障切换
7. 故障切换
7.1 VIP 切换
- 节点故障
- VIP 迁移
- ARP 更新
- 应用重连
7.2 SCAN
- SCAN IP 保留
- 连接重定向
- 应用无感知
7.3 TAF
# tnsnames.ora
prod =
(DESCRIPTION =
(FAILOVER = ON)
(LOAD_BALANCE = ON)
(ADDRESS = ...)
(CONNECT_DATA =
(SERVICE_NAME = prod)
(FAILOVER_MODE = (TYPE = SELECT)(METHOD = BASIC))
)
)
8. GNS
8.1 概念
- Grid Naming Service
- 11g R2+
- 动态 VIP
- 简化
8.2 优势
- 无需固定 IP
- DHCP
- 自动
9. 节点管理
9.1 添加节点
# 添加节点
addNode.sh
9.2 删除节点
# 删除节点
crsctl delete node -n node3
9.3 SCAN
- 节点变更不影响 SCAN
- 客户端无感知
10. 监控
10.1 VIP
srvctl status vip
crsctl stat res -t | grep vip
10.2 SCAN
srvctl status scan
srvctl status scan_listener
10.3 网络
ifconfig -a
ping node1-vip
nslookup scan.example.com
11. 应用场景
11.1 高可用
- VIP 故障切换
- 应用快速恢复
11.2 负载均衡
- SCAN
- 连接分布
- 节点均衡
11.3 简化
- SCAN 单一连接
- 节点变更无需改配置
12. 常见问题
12.1 VIP 失败
- 节点故障
- 切换
- 检查
12.2 SCAN 不可达
- DNS
- SCAN Listener
- 检查
12.3 连接慢
- DNS 解析
- SCAN Listener
- 优化
13. 最佳实践
- SCAN:必须
- 3 个 IP:推荐
- DNS:可靠
- VIP:每节点
- TAF:配置
- 服务:Preferred/Available
- 监控:状态
- 测试:故障切换
- 文档:配置
- 演练:定期
14. 参考资料
[1] Oracle Grid Infrastructure Administrator’s Guide 19c, “VIP and SCAN” https://docs.oracle.com/en/database/oracle/oracle-database/19/cwali/