Oracle 11gR2 RAC connection management
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里面典型配置如下:
- LEO1 =
- (DESCRIPTION_LIST =
- (LOAD_BALANCE = off)
- (FAILOVER = on)
- (DESCRIPTION =
- (ADDRESS_LIST =
- (LOAD_BALANCE=OFF)
- (FAILOVER=ON)
- (ADDRESS = (PROTOCOL = TCP)(HOST = node1.chinamobile.com)(PORT = 1521))
- )
- (CONNECT_DATA =
- (SERVICE_NAME = leo)
- (INSTANCE_NAME = leo1)
- (FAILOVER_MODE=(TYPE=session)(METHOD=basic)(RETRIES=4)(DELAY=1))
- )
- )
- (DESCRIPTION =
- (ADDRESS_LIST =
- (LOAD_BALANCE=OFF)
- (FAILOVER=ON)
- (ADDRESS = (PROTOCOL = TCP)(HOST = node2.chinamobile.com)(PORT = 1521))
- )
- (CONNECT_DATA =
- (SERVICE_NAME = leo)
- (INSTANCE_NAME = leo2)
- (FAILOVER_MODE=(TYPE=session)(METHOD=basic)(RETRIES=4)(DELAY=1))
- )
- )
- )
|
评论暂时关闭