对于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里面典型配置如下: