栢图教育Oracle高级课程案例实操部分栢图Oracle研究室Oracle高级课程实操案例透明应用切换场景应用透明应用故障转移(TransportApplicationFailover,TAF)是oracle数据提供的一项,普遍应用于RAC环境中,当然也可以用于DataGuard和传统的HA实现的主从热备的环境中
TAF中的Transparent和Failover,点出了这个高可用特性的两大特点:TAF是用于故障转移的,也就是切换
当Oracle连接的会话由于数据库发生故障不可用时,会话能够自动切换到RAC中的其他可用的节点上,或者切换到Standby上面,或者切换到HA方式中的另一个可用的节点上面
TAF的故障转移,对应用来说是透明的,应用系统不需要进行特别的处理就能够自动进行故障转移
但是,TAF是完美的吗
是不是使用了TAF,应用就能真的无缝地进行切换呢
对应用和数据库有没有其他什么要求
要回答这些问题,我们需要全面地了解、掌握TAF
我始终认为,要用好一个东西,首先得掌握这个东西背后的工作原理与机制
首先来看看Failover
failover的含义是当用户连接到RAC环境时,用户实际上是连接到RAC中的一个实例,用户的查询等操作也是由该实例完成的,但是如果该实例宕机,那么用户连接会被转移到其他的健康的实例,而这种转换对于用户是透明的,用户的select语句仍然继续返回结果集,感觉不到异常
Failover有两种,一种是连接时Failover,另一种则是运行时Failover
前者的作用在于,应用(客户端)在连接数据库时,如果由于网络、实例故障等原因,连接不上时,能够连接数据库中的其他实例
后者的作用在于,对于一个已经在工作的会话(也就是连接已经建立),如果这个会话的实例异常中止等,应用(客户端)能够连接到数据库的其他实例(或备用库)
首先,TAF是ORACLE