首页 > 数据库 > Oracle > Oracle LOAD_BALANCE&TAF总结
通过配置 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))
remote_listener 设置了以后,根据 cpu 的使用频率进行负载均衡。
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
操作是不会中断的。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27192222/viewspace-2919583/ ,如需转载,请注明出处,否则将追究法律责任。