Oracle RAC环境下的应用连续性

栏目: 数据库 · 发布时间: 8年前

内容简介:Oracle RAC环境下的应用连续性

传统企业比如银行业和电信业的数据库大多采用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


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Nature of Code

The Nature of Code

Daniel Shiffman / The Nature of Code / 2012-12-13 / GBP 19.95

How can we capture the unpredictable evolutionary and emergent properties of nature in software? How can understanding the mathematical principles behind our physical world help us to create digital w......一起来看看 《The Nature of Code》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具