工作总结35 Oracle RAC的tnsnames.ora参数详解

Oracle  RAC 同时具备HA(High Availiablity) 和LB(LoadBalance). 而其高可用性的基础就是Failover(故障转移). 它指集群中任何一个节点的故障都不会影响用户的使用,连接到故障节点的用户会被自动转移到健康节点,从用户感受而言, 是感觉不到这种切换。

实例:

jdbc:oracle:thin:@  (DESCRIPTION =
    (LOAD_BALANCE = OFF)
    (FAILOVER = ON)
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.8.130)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.8.131)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = cwdb)
      (FAILOVER_MODE =
           (TYPE = session)
           (METHOD = basic)
           (RETRIES = 180)
           (DELAY = 5)  
      )
    )
  )

load_blance=on/off
on在最初建立连接的时候会随机选择一个节点进行连接,由于是随机的所以可以起到负载均衡的作用。如果此时连接的节点出现故障,在开启failover的情况下会自动随机连接另外一个节点,如果所有节点都无法建立连接则返回错误。
off从第一个节点开始建立连接,如果第一个节点不能建立连接则在开启failover的情况下继续连接下一个节点,直到最后一个节点也无法建立连接则返回错误。

Default
on for DESCRIPTION_LIST
Values
yes | on | true
no | off | false

failover=on/off

为多个协议地址启用或禁用连接时间故障切换。如果将参数设置为 on、yes 或 true, 则在连接时, 如果第一个协议地址失败, Oracle Net 将故障转到另一个地址。将参数设置为 off、no 或 false 时, Oracle Net 将尝试一个协议地址。
将此参数置于 DESCRIPTION_LIST 参数、描述参数或 ADDRESS_LIST 参数下.

默认 在DESCRIPTION_LIST, DESCRIPTION, and ADDRESS_LIST下是on

Values
yes | on | true
no | off | false

type=session/select/none

用于定义发生故障时对完成的SQL 语句如何处理,其中有2种类型:session 和select.
这2种方式对于未提交的事务都会自动回滚,区别在于对select 语句的处理,对于select,用户正在执行的select语句会被转移到新的实例上,在新的节点上继续返回后续结果集,而已经返回的记录集则抛弃。
假设用户正在节点1上执行查询,整个结果集共有100条记录,现在已从节点1上返回10条记录,这时节点1宕机,用户连接被转移到节点2上,如果是session模式,则需要重新执行查询语句;如果是select方式,会从节点2上继续返回剩下的90天记录,而已经从节点1返回的10条记录不会重复返回给用户,对于用户而言,感受不到这种切换。
显然为了实现select 方式,Oracle 必须为每个session保存更多的内容,包括游标,用户上下文等,需要更多的资源也是用资源换时间的方案。


        TYPE=select  一定的。选session可能会丢失部分查询结果。

method=perconnect/basic
basic:只有当感知到当前节点发生故障时才连接到其他节点
perconnect:在最初建立连接的时候就建立到所有实例的连接,当前节点发生故障可以快速切换到其他实例上。
两个参数的设置区别就在于当前节点出现错误,转换到其他节点上所花的时间的长短,perconnect固然速度会很快,但是也会消耗一定的额外资源,换句话说就是拿资源换速度。如何取舍可根据实际情况自己确定。

       METHOD=PRECONNECT  最保险的方式。basic也行,参考目前数据库服务器的剩余资源选择。
RETRIES:当前节点失败后,失败切换功能会尝试连接备用节点,这个值确定了尝试的次数,如果仅DELAY被指定,RETRIES默认为5
DELAY:两次尝试之间等待的秒数,如果仅指定RETRIES,DELAY默认为1秒
BACKUP:指定另外一个用于备份连接的网络服务名,当RAC设置为主次模式时,使用此参数,并且METHOD应该设为preconnect

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值