Note: The (load_balance=yes) instructs Net to progress through
the list of listener addresses in a random sequence, balancing the
load on the various isteners. When set to OFF, instructs Net to try
the addresses sequentially until one succeeds. This parameter must
be correctly coded in your net service name (connect descriptor).
By default, this parameter is set to ON for DESCRIPTION_LISTs. Load
balancing can be specified for an ADDRESS_LIST or associated with a
set of ADDRESSes or set DESCRIPTIONs. If you use ADDRESS_LIST,
(load_balance=yes) should be within the (ADDRESS_LIST=) portion. If
you do not use ADDRESS_LIST, (load_balance=yes) should be within
the (description=) portion.
(failover=on) is default for ADDRESS_LISTs, DESCRIPTION_LISTs, and
a set of DESCRIPTIONs., therefore, you do not have to specify. This
is for connect-time-failover, please do not confuse it with
transparent application failover (TAF).
failover这个参数,只是说在初次连接时,会尝试ADDRESS_LIST中的地址,直到某个连接成功。
参数的含义:
LOAD_BALANCE
FAILOVER
ON
ON
客户端新建连接随机尝试ADDRESS_LIST中的监听,直到连接到一个可用监听,或者连完列表中的所有监听,如没有一个监听可用,则返回错误信息
ON
OFF
客户端新建连接随机尝试ADDRESS_LIST中的任一监听,无论这个监听是否可用,如不可用直接返回错误。
OFF
ON
客户端新建连接按顺序尝试ADDRESS_LIST中的监听,直到连接到一个可用监听,或者连完列表中的所有监听如没有一个监听可用,则返回错误信息
OFF
OFF
客户端新建连接仅连接ADDRESS_LIST中第一个监听,无论这个监听是否可用,如不可用直接返回错误。
2、
FAILOVER =ON
表示的是客户端连接时的故障转移。也就是说在建立会话的时候如果发现一个节点出现故障就去检测另外的节点。默认就是开启的。但是现在ORACLE一般使用TAF,就是说即使在连接期间出现故障,也会转移到其他节点继续操作,方法是使用failover_mode
有几个参数TYPE MOTHOD RETRIES DELAY。
mothod 取值 basic
preconnect(前者是在感知了错误才建立到其他节点的连接,后者是预先建立到其他节点的连接)
TYPE 取值 SELECT
SESSION(前者在故障节点的查询结果不会抛弃,在新节点继续余下的操作,后者就是重新进行操作,抛弃以前的操作)
retries就是重试次数
DELAY 重试间隔时间
也可以使用SERVICE来做服务端的 TAF。
(LOAD_BALANCE = yes)负载均衡
(FAILOVER = on) 失败自动切换