Oracle LOAD_BALANCE&TAF总结

来源:这里教程网 时间:2026-03-03 18:12:44 作者:

load_balance  负载均衡

客户端方式  loadbalance  :一个  listener  指向一个  Instance  ,客户端  tns  指定多个的  listener  ,用过客户端轮训使用其中的  listener  实现  loadbalance

通过配置  tnsnames.ora  中的配置,如下:

SERVICEA =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.224)(PORT = 1521)))(CONNECT_DATA =

(SERVER = DEDICATED)(SERVICE_NAME = TESTRAC)(INSTANCE_NAME = TESTRAC1)

(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)

(BACKUP = SERVICEA_BACKUP))))

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.225)(PORT = 1521)))(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = TESTRAC)

(INSTANCE_NAME = TESTRAC2)

(FAILOVER_MODE =

(TYPE = SELECT)

(METHOD = BASIC)

(BACKUP = SERVICEA_BACKUP))))

 

(LOAD_BALANCE = yes))

服务器端  :  一个  listener  指向多个  Instance  ,客户端  tns  指定特定的  listener  ,通过服务器端的  listener  的分发实现  loadbalance

remote_listener   设置了以后,根据  cpu  的使用频率进行负载均衡。

 

TAF  处理  failover

客户端配置

   

SERVICEA =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.224)(PORT = 1521)))(CONNECT_DATA =

(SERVER = DEDICATED)(SERVICE_NAME = TESTRAC)(INSTANCE_NAME = TESTRAC1)

(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)

(BACKUP = SERVICEA_BACKUP))))

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.225)(PORT = 1521)))(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = TESTRAC)

(INSTANCE_NAME = TESTRAC2)

(FAILOVER_MODE =

(TYPE = SELECT)

(METHOD = BASIC)

(BACKUP = SERVICEA_BACKUP))))

服务器端:

通过配置  service_name    instance  之间的访问原则来实现。

过程描述:       当客户端发出连接请求给  server    listener  的时候,通过  local_listener  注册的服务接收这个连接请求,然后由  master instance  来决定这个连接请求应该由哪个目标  instance  发出  server process  响应这个连接请求。如果启用负载均衡,那么主节点会选择  cpu  负载最小的那个  instance  ,此时     如果  master  分配的目标  instance    local listener machine  ,那么直接通过  local server listener  ,开启后台的  server process  ,处理发出  conn  的客户端,建立连接,处理会话  ;         如果  master  分配的目标  instance  不是  local listener machine  ,那么会通过  remote_listener  这个参数,把连接请求转移到  remote machine  上的  listener,  然后由  remote service listener  发出一个  server process  返回客户端,建立连接,处理会话  .          conn  建立连接以后,  listener  就没有用了,不会再用到了,如果这个时候,已经连接的那个  instance down  了,会重新由新分配的  master instance  通过  remote_listener  切换到可用  instance  ,此时客户不会发现连接中断。  conn    select  操作是不会中断的。

相关推荐