您的位置:首页 > 数据库 > Oracle

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

2017-09-05 10:32 309 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle rac oracle network