(LOAD_BALANCE = yes)负载均衡
(FAILOVER = on) 失败自动切换 ----这个参数默认就是ON,所以一般都不加的。
--------------------------------------------------------------------------------
设置本地服务命名相应的参数(LOAD_BALANCE=ON 和FAILOVER=ON 、FAILOVER_MODE参数)来启用客户端负载均衡和TAF功能。客户端负载均衡并不衡量RAC节点CPU的使用率,它只是随机的连接一个节点的监听。由于是随机连接,所以大体上做到连接数的负载均衡。在RAC环境中设置tnsnames.ora时,应使用SERVICE_NAME。
FAILOVER_MODE的子参数含义:
TYPE:
1)session---如果用户连接丢失,将创建一个新的会话连接到备用节点,用户的所有未提交的操作必须回滚,然后再次执行,Select操作也被中止.
2)select---如果用户连接丢失,将使用游标和之前的快照继续执行Select操作,叫做SQL接管,SQL接管能够无缝接管理的事务类型只有Select语句.其它的操作也必须要回滚然后再次执行.
3)none---客户端默认值,禁止SQL接管功能,主要用于测试的目地,在实际应用中TYPE应指定为session 或者select
METHOD:
1)basic---仅仅在FAILOVER发生时才连接备用节点
2)preconnect---在用户连接到主节点时同时也在备用节点产生一个连接会话,设置预连接模式,能够快速接管SQL
RETRIES:当前节点失败后,失败切换功能会尝试连接备用节点,这个值确定了尝试的次数,如果仅DELAY被指定,RETRIES默认为5
DELAY:两次尝试之间等待的秒数,如果仅指定RETRIES,DELAY默认为1秒
BACKUP:指定另外一个用于备份连接的网络服务名,当RAC设置为主次模式时,使用此参数,并且METHOD应该设为preconnect
如果要使用预连接,就不能使用客户端负载均衡和服务器端负载均衡,否则没有意义!!!
具有客户端负载均衡及透明应用切换无预连接的tnsnames配置
RAC9I =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = rac9iaw)(PORT = 1521))
(ADDRESS = (PROTOCOL = tcp)(HOST = rac9ibw)(PORT = 1521))
(LOAD_BALANCE = ON)
(FAILOVER = ON)
)
(CONNECT_DATA =
(SERVICE_NAME = rac9i.xyf)
(FAILOVER_MODE =
(TYPE = select)
(METHOD = basic)
(RETRIES = 10)
(DELAY = 1)
)
)