Oracle 11gR2 RAC connection management


对于RAC来说,当Oracle Instance失败的,应用有几种高可用技术来保证可用性,这些技术对客户端来说都是透明的,客户端可能感知不到instance failure。
一.Transparent Application Failover (TAF)
二.Fast Connection Failover (FCF).
当一个节点failure的时候,TAF允许数据库session使用OCI libraries进行fail over到其他存活的一个节点。但是如果应用使用JDBC thin driver则不能使用TAF。
Failover Modes:
               Session failover
               Select failover
               None(default)
1.select mode允许query重新在新的节点执行,并且丢弃已经fetch的行,继续返回结果给客户端。
2.none mode显式的声明不使用TAF
3.TAF不能够恢复任何DML事务,事务将在另一个节点回滚。
Failover Methods:
                 Basic
                 Preconnect
1.Basic选项意味着客户端在实例失败后重新建立新的连接,这个method可能导致节点失败时,另一节点的性能下降,因为有很多的session将要重新连接到幸存的节点。
2.客户端产生一个preconnected session作为备份,在实例失败时加速failover。
TAF是client-side feature,我们需要配置它在客户端Tnsnames.ora或者server端通过service来实现
1,客户端实现

RAC中在tnsnames.ora里面典型配置如下:

  1. LEO1 =  
  2.   (DESCRIPTION_LIST =  
  3.      (LOAD_BALANCE = off)  
  4.      (FAILOVER = on)  
  5.      (DESCRIPTION =  
  6.         (ADDRESS_LIST =  
  7.            (LOAD_BALANCE=OFF)  
  8.            (FAILOVER=ON)  
  9.            (ADDRESS = (PROTOCOL = TCP)(HOST = node1.chinamobile.com)(PORT = 1521))  
  10.         )  
  11.         (CONNECT_DATA =  
  12.            (SERVICE_NAME = leo)  
  13.            (INSTANCE_NAME = leo1)  
  14.            (FAILOVER_MODE=(TYPE=session)(METHOD=basic)(RETRIES=4)(DELAY=1))  
  15.          )  
  16.       )  
  17.      (DESCRIPTION =  
  18.         (ADDRESS_LIST =  
  19.            (LOAD_BALANCE=OFF)  
  20.            (FAILOVER=ON)  
  21.            (ADDRESS = (PROTOCOL = TCP)(HOST = node2.chinamobile.com)(PORT = 1521))  
  22.          )  
  23.         (CONNECT_DATA =  
  24.            (SERVICE_NAME = leo)  
  25.            (INSTANCE_NAME = leo2)  
  26.            (FAILOVER_MODE=(TYPE=session)(METHOD=basic)(RETRIES=4)(DELAY=1))  
  27.          )  
  28.        )  
  29.   )  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 下一页

相关内容