Oracle 网络高可用详解

Oracle 网络高可用详解

适用版本:Oracle Database 10g / 11g / 12c / 19c / 23ai 文档版本:v1.0 / 2026-07


1. 概述

网络高可用保证数据库连接稳定[1]:

详细见:Oracle 网络架构深度Oracle 监听器工作原理与配置


2. 网络冗余

2.1 多网卡

- 双网卡
- bond
- 冗余

2.2 多链路

- 双交换机
- 多链路
- 高可用

2.3 HAIP

- High Availability IP
- 多 Private IP
- RAC 互联

3. Public 网络

3.1 VIP

- 每节点 VIP
- 故障切换
- 应用

3.2 SCAN

- Single Client Access Name
- 3 个 IP
- 负载均衡

3.3 冗余

- 双网卡
- bond
- 高可用

详细见:Oracle RAC VIP 与 SCAN 详解


4. Private 网络

4.1 Cache Fusion

- 节点间通信
- 低延迟
- 高带宽

4.2 HAIP

- 多 Private IP
- 冗余
- 自动切换

4.3 冗余

- 双网卡
- 双交换机
- 高可用

5. Listener 高可用

5.1 本地 Listener

- 每节点一个
- 监听实例
- VIP

5.2 SCAN Listener

- 3 个
- 负载均衡
- 故障切换

5.3 故障

- Listener 故障
- 连接切换
- 透明

6. 连接故障切换

6.1 TAF

# tnsnames.ora
FAILOVER = ON
FAILOVER_MODE = (TYPE=SELECT)(METHOD=BASIC)

6.2 FCF

- Fast Connection Failover
- 连接池
- 快速

6.3 AC/TAC

- Application Continuity
- 事务重试
- 透明

详细见:Oracle 应用连续性详解


7. CMAN

7.1 Connection Manager

- 多路复用
- 代理
- 集中

7.2 优势

- 连接数减少
- 安全
- 高可用

7.3 配置

# cman.ora
CMAN = (PROTOCOL=TCP)(HOST=cman-host)(PORT=1521)

详细见:Oracle Connection Manager CMAN


8. 网络加密

8.1 Native Encryption

# sqlnet.ora
SQLNET.ENCRYPTION_SERVER=REQUIRED
SQLNET.ENCRYPTION_TYPES_SERVER=AES256

8.2 SSL/TLS

- 证书
- 加密
- 安全

8.3 高可用

- 加密不影响
- 冗余
- 高可用

详细见:Oracle 网络加密与 SSL TLS


9. 负载均衡

9.1 Client-side

LOAD_BALANCE = ON

9.2 Server-side

- Listener 分配
- 基于负载
- 智能

9.3 服务

- Preferred/Available
- 负载分布
- 优化

10. 监控

10.1 网络

ifconfig -a
ping node1-vip
ping node2-priv
nslookup scan.example.com

10.2 Listener

lsnrctl status
srvctl status listener
srvctl status scan_listener

10.3 连接

SELECT inst_id, service_name, count(*) 
FROM gv$session 
GROUP BY inst_id, service_name;

11. 应用场景

11.1 RAC

- VIP/SCAN
- HAIP
- 高可用

11.2 Data Guard

- 跨地域网络
- 冗余
- 灾备

11.3 关键业务

- 冗余网络
- 负载均衡
- 高可用

12. 常见问题

12.1 网络中断

- 冗余切换
- 监控
- 修复

12.2 Listener 故障

- SCAN 切换
- 监控
- 重启

12.3 连接拒绝

- 资源
- Listener
- 检查

13. 最佳实践

  1. 双网卡:冗余
  2. VIP/SCAN:使用
  3. HAIP:Private
  4. TAF/AC:故障切换
  5. 监控:网络
  6. 测试:故障
  7. 负载均衡:配置
  8. CMAN:场景
  9. 文档:配置
  10. 演练:网络

14. 参考资料

[1] Oracle Database Net Services Administrator’s Guide 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/netag/