Debian上Oracle负载均衡实现指南
一、方案总览
二、客户端负载均衡配置
RACDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = racdb-scan.example.com)(PORT = 1521))
(LOAD_BALANCE = yes)
(FAILOVER = on)
(CONNECT_TIMEOUT = 10)
(RETRIES = 3)
)
说明:客户端会按地址列表进行均衡选择;在 Oracle 10g 之后引入 VIP/FAN 可显著缩短故障节点感知与切换时间。三、服务器端负载均衡配置
LISTENERS_RACDB =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521))
)
-- 在数据库内设置(SQL*Plus)
ALTER SYSTEM SET REMOTE_LISTENERS='LISTENERS_RACDB' SCOPE=BOTH;
ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=node1-vip)(PORT=1521))' SCOPE=BOTH;
说明:完成以上后,监听器基于注册信息进行“最少负载”导向,实现服务器端的连接负载均衡。四、部署与验证步骤
crsctl status cluster -t、srvctl status database -d <db_name>;srvctl add service -d <db_name> -s <svc> -r "<inst1>,<inst2>" -e SELECT -m BASIC;srvctl start|stop database -d <db_name>。lsnrctl status、查询 V$SESSION/V$INSTANCE 验证连接与实例状态。五、补充与替代方案