ORACLE tnsnames.ora 配置2中配置方式

单实例配置 

 (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.22.19)(PORT = 1521))
    (CONNECT_DATA = (SID =orcle1)
    )
  )

多实例配置

 (DESCRIPTION =(ADDRESS_LIST =(LOAD_BALANCE=off)   (FAILOVER=ON)
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.22.12)(PORT = 1521))
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.22.13)(PORT = 1521))
  )
  (CONNECT_DATA =
      (SERVICE_NAME = orcle)
  )
  (FAILOVER_MODE=(TYPE=SELECT))
  (METHOD=BASIC)
 )

多实例配置中 LOAD_BALANCE 属性:

        如果未开启load_balance=yes时,Oracle Net会根据地址列表按顺序来选择一个进行连接,直到连接成功为止。  
        如果第一个host主机连接失败,在有多个地址的情形下,接下来选择第二个地址连接,依此类推,直到连接成功为止。
        当开启了load_balance=yes时,则Oracle Net会从多个地址中随机地选择一个地址进行连接,直到连接成功为止。
        注意,此连接方式仅根据地址列表随机选择,并不考虑到各个实例上当前真正连接数量的多少,也即是没有考虑各个节点真实的连接负载情况。

多实例配置中 FAILOVER 属性:

        oracle的failover是指在oracle集群汇总,客户端当前连接的实例发生故障时,oracle会自动将连接切换到另外一个实例上的情况。
        或者说,当用户连接到RAC环境时,用户实际是连接到RAC中的一个实例,用户的查询等操作也是由该

        实例完成的,如果该实例down掉了,那么用户连接会被转移到其他健康实例,而这种转换对于用户是透明

        的,用户的select语句仍然继续返回结果集,感觉不到异常。

        可以通过 select instance_name from v$instance; 连接一个实例后,先修改端口,再来看具体连接的是否是新的实例。注意新打开一个sql窗口

1. METHOD: 用户定义何时创建到其实例的连接,有BASIC 和 PRECONNECT 两种可选值。 
       BASIC:是指在感知到节点故障时才创建到其他实例的连接。 
       PRECONNECT: 是在最初建立连接时就同时建立到所有实例的连接,当发生故障时,立刻就可以切换到其他链路上。 
两种方法比较: BASIC方式在Failover时会有时间延迟,PRECONNECT方式虽然没有时间延迟,但是建立多个冗余连接会消耗更多资源,两者就是是用时间换资源和用资源换时间的区别。 
2. TYPE: 用于定义发生故障时对完成的SQL 语句如何处理,其中有2种类型:session 和select. 
这2种方式对于未提交的事务都会自动回滚,区别在于对select 语句的处理,对于select,用户正在执行的select语句会被转移到新的实例上,在新的节点上继续返回后续结果集,而已经返回的记录集则抛弃。 
假设用户正在节点1上执行查询,整个结果集共有100条记录,现在已从节点1上返回10条记录,这时节点1宕机,用户连接被转移到节点2上,如果是session模式,则需要重新执行查询语句;如果是select方式,会从节点2上继续返回剩下的90天记录,而已经从节点1返回的10条记录不会重复返回给用户,对于用户而言,感受不到这种切换。 
显然为了实现select 方式,Oracle 必须为每个session保存更多的内容,包括游标,用户上下文等,需要更多的资源也是用资源换时间的方案。 
3. DELAY 和 RETRIES: 这2个参数分别代表重试间隔时间和重试次数。 
示例: 
RAC = 
  (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521)) 
     (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521)) 
      (LOAD_BALANCE=YES) 
     
CONNECT_DATA= 
   (SERVER=DEDICATED) 
(SERVICE_NAME=RAC) 
  FAILOVER_MODE= 
(TYPE=session) 
(METHOD=basic) 
(RETRIES=180) 
(DELAY=5) 
     
   

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值