oracle rac负载均衡

Posted 架构成长之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 =
(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负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

text JDBC负载均衡方式连接的Oracle双机RAC

Oracle RAC 服务器端连接负载均衡(Load Balance)

Oracle RAC 客户端连接负载均衡(Load Balance)

Oracle RAC 负载均衡测试(结合服务器端与客户端)

Oracle 12c应用连接VIP轮训负载均衡?

rac集群归档磁盘组原理