您在这里:首页 > 学员专区 > 技术文章
Oracle视频
Oracle
CUUG课程

Oracle ARC 负载均衡

 

 文章摘要:本文详细介绍了Oracle负载均衡的具体配置。通过客户端和服务器端两方面进行配置,文中代码比较全面,值得大家参考。

  对于专业的数据处理存储的Oracle ARC而言,负载均衡的设置就更为重要了。那么如何对Oracle负载均衡进行配置呢?就让我们一起看看本文来学习一下吧。我们将从客户端和服务器端来进行解说。

  Oracle负载均衡主要是指新会话连接到RAC数据库时,如何判定这个新的连接要连到哪个节点进行工作,在Oracle负载均衡中分为两种,一种是基于客户端连接的,另外一种是基于服务器端的,

  客户端的Oracle负载均衡配置相对简单,只需要在tnsnames.ora中添加LOAD_BALANCE=ON这么一个选项即可,比如下面的TNS:

  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数据库时,会随机在TNS里面挑个监听地址进行连接,在Oracle10g以前,假如有节点宕机或者类似事故时,客户端可能还是选择连接到这个节点,这样会发生较长时间的TCP等待超时,而在10g以后,由于VIP和FAN的引入,这样的情况可以得到很大程度的改善,客户端的Oracle负载均衡在通常情况下能够较好地工作,但是由于连接是在客户端随机发起的,这样客户端并不知道RAC各节点的负荷及连接数情况,有可能负荷大的节点还会源源不断地增加新的连接,导致RAC节点无法均衡工作,

  从Oracle 10g开始,服务器端的Oracle负载均衡可以根据RAC中各节点的负荷及连接数情况,而判定将新的客户端连接分配到负荷最小的节点上去,RAC中各节点的PMON进程每3秒会将各自节点的负荷(包括LOAD,最大LOAD,CPU使用率)及连接数更新到service_register里面,然后假如节点的负荷有发生变化,将会通知到监听程序,由监听程序再决定新的客户端连接分配至哪个节点,假如RAC中一个节点的监听失败了,PMON每一分钟会去检查一次是否已经恢复正常,

  服务器端的监听配置是在各节点的tnsnames.ora里面添加一个连接到各个节点监听的条目,然后再在初始化参数里面设置remote_listeners这个参数,比如:

  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;

  这样服务器端的Oracle负载均衡便配置完成。

        同时,Oracle  MMNL进程会统计Service goodness,它是衡量一个实例能够为一个服务提供资源的指标,数值越大说明吸引力越强,能够提供更多的连接服务。统计的结果存放在 GV$SERVICEMETRIC and GV$SERVICEMETRIC_HISTORY。

相关文章 [上一篇] Oracle 数据库QUIESCE状态详解
010-88589926(88587026)
CUUG热门培训课程
Oracle DBA就业培训
CUUG名师
网络课程
技术沙龙
最新动态

总机:(010)-88589926,88589826,88587026 QQ讨论群:243729577 182441349 邮箱:cuug_bj@cuug.com
通信地址:北京市海淀区紫竹院路98号北京化工大学科技园609室(CUUG)邮政编码:100089 
中国UNIX用户协会 Copyright 2010  ALL Rights Reserved 北京神脑资讯技术有限公司
京ICP备11008061号  京公网安备110108006275号