客户端,服务器端的load_balance默认是on,服务器端的LOAD_BANLANCE是通过PMON向RMOTE_LISTENER注册服务器及负载情况实现的,如果想禁用服务器端的LOAD_BANLANCE可以把各INSTANCE的REMOTE_LISTENER设置为空即可。
failover默认on,FAILOVER只有客户端的,没有服务器端的。
load_banlance=on 客户端随机选择ADDRESS_LIST中的一个ADDRSS进行连接,
load_banlance=off 只能按ADDRESS_LIST的顺序连接,第一个ADDRESS可以连接则使用第一个,第一个不能连接时要
看FAILOVER的设计,以决定是否可以偿试第二个地址
failover=on 试图连接或已经连接上后,出现故障时可自动切换到另一个连接
failover=off 试图连接或已经连接上后,出现故障时不能切换到另一个连接上
只设置failover为on,可以起到尝试连接时的failover,但因为不设置FAILOVER_MODE所以不能对已经建立的连接进行failover
failover为on,同时设置了failover_mode,既可以在连接时failover,也可以实现连接建立后的failover。
failover为off,同时设置了failover_mode,禁用了failover功能,在连接时不能failover,已经建立的连接也不能failover,虽然查询会话的failover_method,failover_type,都有failover的相关设置,但因为failover设置为off,所以这些设置不起作用
还有一个参数是FAILOVER_MODE中的TYPE,默认值是NONE,是禁用FAILOVER功能的,设置FAILOVER=ON,FAILOVER_MODE中的TYPE=NONE,把RAC1停掉后,尝试连接时的FAILOVER是起作用的,都连接到RAC2上了。对于已经建立连接的会话,通过测试发现,确实没有FAILOVER功能,在RAC1停掉后,所以连接到RAC1的会话再次查询时报错了:通信信道结束。
DEVDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.83.111)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.83.112)(PORT = 1521))
(LOAD_BALANCE =
off)---设置为OFF保证先尝试连接RAC1
(FAILOVER=
on)----尝试连接时可以FAILOVER
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = devdb)
(failover_mode=(type=
none)(method=basic))----已经建立的连接没有FAILOVER功能了
)
)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/280958/viewspace-704341/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/280958/viewspace-704341/