为了提高应用程序的高可用性,Oracle提供了一系列的技术来实现。一个是在出问题的时候,能够快速的通知,并做出反应,另一个出现问题后能够快速恢复,并重新开始。为了将对客户的影响降至最低,Oracle引入了Transaction Guard和Application Continuity。下面让我们先熟悉几个关键名词。

Notification:FAN是隐藏计划内或计划外故障的第一步。当发生中断时,它会通知客户端并中断他们当前的网络等待。这样可以避免应用程序因长时间的网络等待而暂停。

Recovery:在通知客户端后,AC或TAC会重新建立到新的可用实例的连接(在RAC情况下,可能是同一个或另一个实例,或者是DataGuard的备用站点),并在可能的情况下重播正在进行中(未提交)的工作,应用程序通常可以在不知道发生任何故障的情况下继续执行。

Drain:放空或排空。在停机之前通常会有一个等待时间,等待该实例上的会话结束,我们也称为放空或排空。

配置应用高可用

这个也很简单,参照官方文档,主要有以下的步骤:

Connect Using Oracle Services(创建数据库服务)

Configure TNS/URL for High Availability(配置连接服务的TNS或者URL)

Use Fast Application Notification (FAN)(启用FAN)

Use recommended application practices that allow draining(使用推荐的应用程序实践放空)

Enable Application Continuity or Transparent Application Continuity(启用AC或者TAC)

数据库环境

测试应用高可用

下面我们用三种不同的方式做测试,swingbench,java应用,sqlplus三种方式。通过测试,我们发现真的可以做到应用不中断,即使在过程中做了主库的switchover。真的是太神奇了。

swingbench测试

swingbench是Oracle数据库产品经理开发的工具,是开源免费产品。本次测试,模拟两个用户测试,做了停止第一个节点,启动第一个节点,停止第二个节点,启动第二个节点的操作。观察swingbench事务等操作,中间业务没有中断。在swingbench中配置使用AppContinuityDriver的驱动。如果不使用这个驱动,测试不会成功,这个就是应用连续性的驱动。该测试只使用了主库,没有使用备库。

java应用测试

运行测试java程序,模拟测试,我们能看到当前连接的是主库的实例pgold2

验证备库,并做主备切换

程序运行结束,中间没有中断,运行结束后,我们发现连接的是新主库pgoldadg1(就是之前的备库)

sqlplus测试

用sqlplus -ac连接数据库,插入一条数据。在新窗口中查询当前insert操作所在的实例。然后关闭insert操作所在的实例。然后做commit。我们发现成功了,插入并没有中断。不带-ac连接测试也没有问题。

第一条是insert后commit之前的连接的实例信息,第二条是commit之后连接的实例信息

Reference

https://www.oracle.com/technetwork/database/options/clustering/applicationcontinuity/learnmore/ac-applicationguidelines-5440853.pdf

https://www.oracle.com/technetwork/database/options/clustering/applicationcontinuity/adb-continuousavailability-5169724.pdf

https://www.oracle.com/technetwork/database/options/clustering/transaction-guard-wp-5305738.pdf

https://docs.oracle.com/en/database/oracle/oracle-database/19/racad/ensuring-application-continuity.html

https://www.oracle.com/technetwork/cn/database/options/clustering/ac-overview-1967264-zhs.html

https://www.oracle.com/technetwork/cn/database/database-cloud/private/application-continuity-wp-12c-1966213-zhs.pdf

https://www.oracle.com/technetwork/database/options/clustering/ac-with-oracle-database-5303807.pdf

https://blogs.oracle.com/dev2dev/write-recovery-code-with-transaction-guard

https://www.oracle.com/technetwork/database/options/clustering/applicationcontinuity/learnmore/fastapplicationnotification12c-2538999.pdf

https://www.oracle.com/technetwork/database/application-development/12c-ha-concepts-2408080.pdf

http://docs.oracle.com/cd/E16655_01/appdev.121/e17663/oracle/jdbc/replay/ReplayableConnection.html

https://www.oracle.com/technetwork/database/application-development/12c-ha-concepts-2408080.pdf

https://laurent-leturgez.com/2015/06/01/oracle-12c-application-continuity-and-its-resources-usage/

oracle 12c transaction guard,保障业务连续性的神器相关推荐

  1. oracle 12c transaction guard,oracle 12c的Data guard中废弃

    下面我们看一篇关于oracle12c的Data guard中将废弃使用using current logfile问题的分析详解,希望这篇文章可以对各位带来一些帮助. 问题起源于客户的一个12c的数据库 ...

  2. 墨天轮沙龙 | 庚顿数据姚羽:实时数据技术赋能流程工业,保障业务连续性

    在8月24日举办的[墨天轮数据库沙龙第九期-工业实时数据库专场]中,庚顿数据董事长兼总经理 姚羽分享了<实时数据技术赋能流程工业,保障业务连续性,强化工业化AI基础设施>主题演讲,本文为整 ...

  3. Oracle 12c新特性对于业务上的一些影响总结

    1.不可见字段 在Oracle 11g R1中,Oracle以不可见索引和虚拟字段的形式引入了一些不错的增强特性.继承前者并发扬光大,Oracle 12c R1中引入了不可见字段思想.在之前的版本中, ...

  4. 什么是网络智能运维?如何保障业务7x24小时在线?

    华为推出了网络智能运维方案,一方面,可以实现各类运维数据的可视化:一方面,实现故障快速发现.定位以及恢复:另一方面,提供健康度全面评估.故障预测等智能化能力,实现基于异常检测和风险预测的主动性防护,保 ...

  5. 运维的进击“转型”:阿里业务连续性管理最佳实践

    公众号回复:干货,领取价值58元/套IT管理体系文档 公众号回复:ITIL教材,领取最新ITIL4中文教材 说明:本文根据付来文老师在 GOPS 全球运维大会 2021 · 深圳站的演讲速记整理而成. ...

  6. 城市云灾备,为业务连续性保驾护航

    摘要:华为云作为中国政务云基础设施领域领导者,基于华为公有云技术架构的政务云平台,具备领先的云灾备技术实力,支持IaaS.PaaS等云服务云原生灾备能力. 本文分享自华为云社区<城市云灾备,为业 ...

  7. 【观察】后疫情时代,如何实现远程办公确保业务连续性?

    申耀的科技观察 读懂科技,赢取未来! 去年在疫情的影响之下,出现了大量居家.移动.分散和远程办公的工作场景,这给企业的办公和员工传统的坐班式工作模式带来了很大的挑战. 数据显示,2019年,国内远程办 ...

  8. 虚拟化实现业务连续性

    一.业务连续性的重要性 信息技术已经成为保障政府部门.企事业单位等各种类型组织正常运营的关键因素,无论在何领域,从事何种行业,业务运转与IT的结合正在变得愈发紧密.每年成百上千的全球数据中心遭遇重大的 ...

  9. oracle的farsync,Oracle 12c 新特性 Active Data Guard Far Sync

    Active Data Guard Far Sync 概述 Active Data Guard Far Sync 是Oracle 12c 的新功能(也称为Far Sync Standby),Far S ...

  10. 电力营销系统的业务连续性,需要这样的运维保障

    "互联网+"是我国工业和信息化深度融合的成果,它的出现改变及影响了包括电力行业在内的众多行业.作为"低调"又无处不在的电力系统,与人民群众的日常生活紧密相关,& ...

最新文章

  1. 性能测试,负载测试,压力测试以及容量测试的联系与区别--网搜及总结
  2. 经典问题——进程和线程区别
  3. 淘金尖端领域:全球量子技术最新投资趋势
  4. linux 文件系统及磁盘管理
  5. php记录邮件发送,有关php邮件发送一点记录
  6. 电脑主板主要外部接口
  7. [转]基于Starling移动项目开发准备工作
  8. oracle 返回表的函数,oracle 返回表函数
  9. 自然语言处理的未来之路(周明老师,CCF-GRIR,笔记)
  10. 把握数据库发展趋势 DBA应如何避免“踩坑”?
  11. 架构师需要了解的知识
  12. 代码整洁之道读书笔记----第一章---综述--第一节-混乱代码和华丽的新系统
  13. gsp计算机管理系的功能,医药系统的GSP管理
  14. 搭建Vgg16训练CIFAR10数据集
  15. 操作系统之三种进程通信方式
  16. java功能模块_系统功能模块详解 java应该学习什么?
  17. 解决手机WiFi(电脑热点)一直正在获取IP地址或无法访问互联网【与网上其他方法不同】
  18. python100天从新手到大师下载_GitHub - chenqiyi/Python-100-Days: Python - 100天从新手到大师...
  19. Android studio下载及安装方法
  20. Lodash是如何实现深拷贝的

热门文章

  1. 扇贝有道180910每日一句
  2. Atitit 数据出入管理法v3 目录 1.1. 边界检查:web边界和sql边界 1 2. 检查条目 1 2.1. 数据种类检查 整数 小数 字符串(带长度,字符白名单校验) 1 2.2. 字符黑
  3. Atitit mysql 数据类型 5.7.9 目录 1.1. 数值类型 1 2. 字符串 2 3. 时间日期 2 4. 地理位置 2 5. 几何数据的存储,生成,分析,优化。 空间数据类型(存储)
  4. lassAtitit事件代理机制原理 基于css class的事件代理的事件代理titi
  5. Atitit. Atiposter 发帖机版本历史 编年史
  6. Atitit.500 503 404错误处理最佳实践oak
  7. atitit.无线网卡 不能搜索到WiFi 无线路由信号的解决不能上网
  8. paip.数据库全文检索 attilax总结
  9. (转)知乎:一文读懂比特币私钥、公钥、钱包地址的来历和关系
  10. 新品Demo —— ZStack CMP多云管理平台