首页 > 代码库 > oracle rac负载均衡
oracle rac负载均衡
rac负载均衡分基于客户端和基于服务端两种:
客户端
配置比较简单,在tnsnames.ora中增加load_balance=on即可,如下:
RAC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
(LOAD_BALANCE = ON)
(FAILOVER = ON)
(CONNECT_DATA =http://www.mamicode.com/
(SERVER = DEDICATED)
(SERVICE_NAME = rac)
)
)
客户端连接rac的时候会随机挑个节点进行连接,因为客户端不知道这个节点的状况,这个节点挂了的话,有可能出现长时间的tcp等待。10g版本以后,这种状况有很大的改善,但是客户端不知道rac各节点的负荷和连接数,有可能出现某节点重负,使均衡不能很好的发挥。
服务端
10g以后,服务端负载均衡能根据各节点的负荷和连接数,均衡各节点,各节点的pmon进程会定期向rac汇报自己的负荷情况。
配置如下:
LISTENERS_RAC =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
)
ALTER SYSTEM SET REMOTE_LISTENER = LISTENERS_RAC;
有时候汇报负荷的进程延迟导到均衡效果不明显,这时加入PREFER_LEAST_LOADED_NODE=OFF,服务器会根据连接数进行分配。
从Oracle 10.2开始,Oracle引入了Load Balance Advisor,对负载均衡有了进一步的改进。结合Service,可以对不同的SERVICE设置不同的负载均衡策略。
oracle rac负载均衡
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。