阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle RAC环境下的应用连续性

106次阅读
没有评论

共计 1242 个字符,预计需要花费 4 分钟才能阅读完成。

传统企业比如银行业和电信业的数据库大多采用 Oracle rac+dataguard 的高可用架构,在 rac 项目实施过程中,由于业务连续性的苛刻要求,高可用的实施和测试工作显得尤为重要。

Oracle 在新版本 12cR2 的 rac 官方文档里单独列了一章叫 Ensuring application Continuity, 重视程度可见一斑。在以前的 Oracle10g 以及 11g 的版本中,client 为实现 RAC failover(故障转移)特性,各类应用 app 以及 db 需要作各种配置调整工作,随着 Oracle 的 12cR2 新版本的到来,这些配置步骤变得更简化。

下面简要总结 Oracle11gR2 环境下的 failover 配置。

首先根据是否使用了事先已经存在的连接(如连接池中的连接)将客户端的连接分为 Connect Time Connection Failover 和 Runtime Connection Failover,runtime 前缀指连接已经存在的情况,比如使用了连接池。

1、Connect Time Connection Failover

客户端的 tnsnames.ora 中配置 scan ip 和 service 就可以实现连接数据库时的 Failover;

2、Runtime Connection Failover

Oracle 通过两种手段来实现 Runtime Connection Failover,分别为 TAF(Transparent          Application Failover)和 FCF(Fast Connection Failover)。

首先是 TAF:

它可以在 client 端的 tnsnames.ora 中的连接串里定义,也可以在 server 端的 service 中定      义。TAF 仅对使用 OCI 连接的客户端和连接池有效,这里的 OCI 连接可以是在 OCI 连接上的封装,比如 JDBC-OCI driver 就支持 TAF,但 JDBC thin driver 就不支持 TAF(因为 JDBC thin driver 不是基于 OCI 的)。

其次是 FCF:

Fast Connection Failover,它实际上是客户端通过订阅 FAN HA events 来实现的。

因为 JDBC thin 连接不是基于 OCI 的,所以这种情况下的 Runtime Connection Failover 不能使用 TAF,只能用 FCF。

如果想让应用 app 具备 TAF 属性,可进行简单 app 改造:首先在 app 的 client 环境安装 Oracle 客户端程序,然后将 jdbc thin 连接调整为 jdbc oci 的连接方式。

在 Oracle 12c R2 的版本中,failover 可基于事务,且 replay dml 语句,相对于 11g 基于会话,failover 功能又大大提升了。

更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-05/144387.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计1242字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中