这是Oracle客户端的特性,是为应用程序提供的驱动级HA功能。在tnsnames.ora里直接配置即可,非常方便!
一、客户端 自动选择有效连接地址
当有多个address时,我们可以配置oracle客户端逐一尝试每个address地址,直到找到可用address为止!
(
(SOURCE_ROUTE = ON) #指示oracle客户端逐一尝试连接,直到找到可用的地址。否则,只使用第一个地址
(ADDRESS = ((PROTOCOL = TCP)(HOST = IP-1)(PORT=1521))
(ADDRESS = ((PROTOCOL = TCP)(HOST = IP-2)(PORT=1521))
....
)
二、客户端 会话自动重连
当有多个address时,我们可以配置oracle客户端逐一尝试每个address地址,直到找到可用address为止!
(
(FAILOVER = ON) #指示oracle客户可以进行会话重连,默认是开启的,但是重连模式type=none,等于没有启用failover功能,必须进行connect_data参数设置!!
(ADDRESS = ((PROTOCOL = TCP)(HOST = IP-1)(PORT=1521))
(ADDRESS = ((PROTOCOL = TCP)(HOST = IP-2)(PORT=1521))
....
(CONNECT_DATA=
(SERVICE_NAME=SERVICE)
(FAILOVER_MODE=
(TYPE = {NONE|SESSION|SELECT}) #会话重连的功能等级。
(METHOD={BASIC|PRECONNECT}) #是failover时连接,还是预先建立连接
(RETRIES=5) #重试次数
(DELAY=1) #重试延时
)
)
三 oracle客户端同时支持 连接负载均衡
(
(LOAD_BALANCE = ON) #指示oracle客户端进行连接会话的负载均衡处理
(ADDRESS = ((PROTOCOL = TCP)(HOST = IP-1)(PORT=1521))
(ADDRESS = ((PROTOCOL = TCP)(HOST = IP-2)(PORT=1521))
....
)