oracle的负载均衡没起作用可能和你的remote_listener 未配置有关
rac1:rac的cluster的负载均衡机制如下图
分两层
ocssd.bin负责底层,db层
链接到来先根据ocssd搜集的pmon的信息,决定,如果忙,则转到其他节点,pmon根据remote_listener 来看都有哪些节点的监听,人乎负载均衡给其他rac
服务器端配置参考:
remote_listener string LISTENERS_RACDB
LISTENERS_RACDB =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
)
经验证动态取掉remote_listener
节点会在连接的时候随机根据实例中的节点列表确定连接节点
如果设置load_balance=NO 则只会连接tnsname排在第一个的那个rac节点,但是出现故障后,failover还是会生效
高可用状态
lsnrctl status的配置remote参数前后变化
lsnrctl stat中取掉remote_listener 的监听状态前后变化:
[oracl[email protected] bin]$ lsnrctl stat
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 17-AUG-2018 13:51:00
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER_RAC1
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 17-AUG-2018 13:18:52
Uptime 0 days 0 hr. 32 min. 8 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /opt/ora10g/product/10.2.0/data/network/admin/listener.ora
Listener Log File /opt/ora10g/product/10.2.0/data/network/log/listener_rac1.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.110.70)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.110.60)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...
Service "+ASM_XPT" has 1 instance(s).
Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...
Service "racdb" has 1 instance(s).
Instance "racdb1", status READY, has 1 handler(s) for this service...
Service "racdb_XPT" has 1 instance(s).
Instance "racdb1", status READY, has 1 handler(s) for this service...
The command completed successfully
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...
Service "+ASM_XPT" has 1 instance(s).
Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...
Service "hr" has 1 instance(s).
Instance "racdb2", status READY, has 1 handler(s) for this service...
Service "racdb" has 2 instance(s).
Instance "racdb1", status READY, has 2 handler(s) for this service...
Instance "racdb2", status READY, has 1 handler(s) for this service...
Service "racdb_XPT" has 2 instance(s).
Instance "racdb1", status READY, has 2 handler(s) for this service...
Instance "racdb2", status READY, has 1 handler(s) for this service...