oracle 12c transaction guard,Oracle 19c事务卫士(Transaction Guard)和应用连续性(Application Continuity)障业务的连续性...

我们知道,数据库是数据的载体,系统中所有的信息最终都要汇集到数据库进行存储和交换,那么数据库的重要性当然是不言而喻的。一旦由于网络中断,存储故障,或者服务器故障而导致数据库出现故障,必将会对客户造成业务中断、客户流失、生产力损失,以及其他不可估量的影响。

有时,我们需要进行安装数据库安全补丁、维护数据库服务器等操作。因为这些操作可能会造成业务中断,所以一般都放在周末或晚上才做。加班的人员会比较辛苦,尤其是数据库管理员,经常是通宵难眠。有时为了做维护,要协调全单位的人员加班,甚至还要涉及协调其他单位,提前半个月发布通告。辛苦做事,通宵加班,最后还有可能接到投诉。

或有时,我们通过应用程序或App填写数据,表格内容很多,比较复杂,用了九牛二虎之力填写完毕,点了提交,却一直转呀转呀转圈圈,最后来了个“温馨提示”:数据库连接超时。心里那个感觉,一下子跌到了谷底,所有的努力都白忙活了。这种感觉大家都深有体会,尤其在当今的数据时代,体验的时代。

为了提高应用的高可用,Oracle提供了一系列的解决方案,满足各种不同的需求。上面说的这些情况,现在就可以很好的避免。Oracle引入了事务卫士(Transaction Guard)和应用连续性(Application Continuity),通过这些特性将对客户的影响降至最低。这些本是应用程序层面要考虑的问题,现在在数据库层面就可以很容易的实现。更重要的是这些功能对于应用来说是透明的。涉及到的功能和特性包含有ONS、FAN、TAF 、FCF、TG、AC、TAC等,这些特性在Oracle Database 19c中更易用。下面让我们回顾一下这些关键名词,并看一下他们的逻辑关系。

8523f8233f21991e4433be5fe344e85e.png

Transparent Application Failover(TAF)

TAF是Transparent Application Failover的缩写,就是我们说的透明应用程序故障转移,是一个可以追溯到Oracle 8i的功能。她只适合于OCI方式的客户端。在实例失败后,TAF会创建一个新会话,当使用SELECT模式时,根据需要将查询重放回失败之前的位置,继续从中断的地方执行下,不会中断。

在Oracle Database 12.2之前,只对SELECT有效,DML操作不会断点续传,不能重放。使用OCI客户端做TAF,应当启用FCF,它会使Failover更快。

从Oracle Database 12.2开始,TAF提供了FAILOVER_RESTORE选项,这个功能就是(Application Continuity),对于SELECT语句,恢复到中断前的状态,对于事务,会重新建立链接,然后从失败的地方重放事务。

Fast Connection Failover (FCF)

FCF是Fast Connection Failover的缩写。通过支持FAN的Oracle客户端/应用接收FAN Events。当收到Down Event时,和这个Instance/Service相关的连接会被标记为无效并被清除;当收到Up Event时,可以创建新的连接。对于正在运行的Transaction,当应用捕捉到中止Transaction所产生的错误信息后,可以直接把相关错误返回给最终用户,或者从连接池中重新获取一个有效连接并重新执行被中止的Transaction。Oracle建议不要在同一应用程序中使用TAF和FCF,FCF和TAF也有区别 ,FCF不能像TAF那样做到断点续传。Tomcat和JBOSS等可以利用FCF的特性如果使用Oracle的连接池,可也以用UCP(Universal Connection Pool for JAVA)或ICC (JDBC Implicit Connection Cache)。建议使用UCP,因为ICC在将来的版本中会被废弃。从Oracle Database 12.1开始,ONS开始作为主要的消息传递方式。FAN AQ HA通知功能将被废弃,仅支持11g和之前版本的数据库。

cf1a9858d17620a4e8212a9cf02fc634.png

Fast Application Notification(FAN)

FAN是Fast Application Notification的缩写,从Oracle 10.2开始才提供,是Oracle RAC的一个特性,是一种主动的消息通知机制。当数据库节点的信息变化(Node up/down, Instance up/down, Database up/down)和节点负载信息发生变化,Oracle通过FAN events把这些信息发布

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值