Oracle CloudWorld 2022 - 使用Oracle MAA实现应用程序的连续可用性
每每谈到Oracle MAA,大家条件反射般就会想到Oracle的RAC和ADG等核心选件,当然,这些技术有口皆碑,也的确是MAA的构建基础,但本文我们不再过多谈这些耳熟能详的技术,而是来跟大家探讨下在此基础之上,我们如何将基础MAA优化到业务连续性MAA这个程度,最终实现应用程序的连续可用性。
在本次OCW大会上,下面几位大咖就在演讲中探讨了这个话题:

现在就让我们跟着专家的思路,一起来看下该如何使用Oracle MAA实现应用程序的连续可用性:
1.为什么建议选择透明的应用程序连续性
我们先看下Oracle最大可用性体系架构的概览:

架构里面红框标注的AC部分,也随着版本演进有了TAC,但其实两种方式并不是替代关系,而是有各自的适用场景:

针对文章开头提到的基础MAA和业务连续性MAA,基础MAA可以提供数据库级别的最大可用性,而业务连续性MAA则是在基础MAA之上,面向业务和最终用户所演进出的增强版MAA:

在Oracle自治数据库中,TAC就是默认配置的,提高了自治数据库的业务连续性:

2.确保业务连续性的高可用性要求
配置业务连续性时,需要指定数据库服务,这里需要特别注意我们要使用用户定义的数据库服务,而不要使用默认的服务。

笔者之前就遇到过有客户因为使用了默认服务而导致部分场景异常的问题,最终修正为用户自定义的服务之后,一切回归正常。
确认使用正确的服务之后,继续来看下应用连接串的连接最佳实践参考:

然后我们需要了解下FAN和排空的基础概念:

下面这张图非常关键,非常清晰的说明了AC/TAC的整个处理过程逻辑:

在第一个箭头指向的时间点,节点1首先进行排空操作,也就是继续处理节点1上未完成的事物,不再接受新的连接,此时新的连接都会连接节点2,当到达设置排空的超时时间窗口后,节点1上还未完成的事物将会被强制中断,然后到节点2上重放这些未完成的事物,整个过程,对应用程序或用户而言,是感知不到错误信息的。
3.如何有效使用TAC应对计划内维护和计划外停机
现实客户场景中,针对停机有两种情况:一是计划内的维护,会提前申请停机窗口;二是计划外的停机,因为各类软硬件故障导致突发的停机。有效使用TAC可以应对这两种情况:

此外,需要注意存在一些例外情况,无法启用回放功能:

4.当透明应用程序连续性不适合时该怎么办
前面提到,AC/TAC两种方式并不是替代关系,而是有各自的适用场景,当TAC不适合时,可以考虑AC是否能够满足你的需求,下面是两种方式的简单对比:

如果上面的对比表格还不够清晰,那么下面的指引会让你更容易的选择究竟是AC还是TAC更适合你的场景。

此外,针对使用套装应用软件的用户,也不用太过于着急,因为很多主流的套装软件都开始支持或部分支持AC/TAC,且不支持的部分也基本都在积极的开发过程中:

5.客户案例分享
最后,我们跟大家分享一例来自真实客户的实践,该客户使用Oracle 19c 透明应用连续性功能,通过简化应用程序工程师的弹性设计,提高了整个公司的应用程序弹性:

客户在整个实践过程中还总结了一些经验供大家参考:

客户的直观感受,在遵循了所有指导并满足要求后,发现TAC真是一项惊人的功能,给用户也带来了惊奇的感觉!如果屏幕前的你也想进一步为你的企业提升业务连续性,却还没有体验过AC/TAC功能的话,就赶快在自己的环境实际去测试感受下吧。
说明:本文是笔者在甲骨文云技术公众号发布的文章。
图片来源是依据OCW演讲者的英文PPT翻成中文的,另外图片中所有的字体,按要求,都是 先刷Noto sans SC regular、再刷Oracle Sans的方式统一调整优化过。
Oracle CloudWorld 2022 - 使用Oracle MAA实现应用程序的连续可用性的更多相关文章
- Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)
ORACLE集群概念和原理(二) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
- 【转】Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)
阅读目录 目录 Oracle集群概念和原理 RAC概述 RAC 集成集群件管理 RAC 的体系结构 RAC 的结构组成和机制 RAC 后台进程 RAC 共享存储 RAC 数据库和单实例数据库的区别 ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)
RAC 工作原理和相关组件(三) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 特殊问题和实战经验(五)
RAC 特殊问题和实战经验(五) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
- ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档
ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报 分类: Oracle RA ...
- Part 1: Running Oracle E-Business Suite on Oracle Cloud
You can now run Oracle E-Business Suite on Oracle Cloud. EBS customers can take advantage of rapid ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.3.Oracle 集群节点间连通失败
1.检查节点连通性的错误 [grid@linuxrac1 grid]$ ./runcluvfy.sh stage -post hwos -n linuxrac1,linuxrac2 -verbose ...
- .net远程连接oracle数据库不用安装oracle客户端
asp.net远程连接oracle数据库不用安装oracle客户端的方法下面是asp.net连接远程Oracle数据库服务器步骤: 1.asp.net连接oracle服务器需要添加Sytem.Data ...
- .net远程连接oracle数据库不用安装oracle客户端的方法
.net远程连接oracle数据库不用安装oracle客户端的方法步骤: 1.添加Sytem.Data.OracleClient命名空间. 2.连接时需要ConnectionString字符串,出现在 ...
- oracle全托管驱动Oracle.ManagedDataAccess
oracle官方的托管驱动,发布只需一个6M多的dll,支持EF 支持分布式事务,使用步骤如下: 1,Download ODP.NET, Managed Driver .zip file to a d ...
随机推荐
- 翻车了,被读者找出 BUG
大家好呀,我是小楼. 本文是上篇文章<使用增强版 singleflight 合并事件推送,效果炸裂!>的续集,没看过前文必须要先看完才能看本文,实在不想看,拉到文章末尾,给我点个赞再退出吧 ...
- 无限分解流----Fork/Join框架
Fork译为拆分,Join译为合并Fork/Join框架的思路是把一个非常巨大的任务,拆分成若然的小任务,再由小任务继续拆解.直至达到一个相对合理的任务粒度.然后执行获得结果,然后将这些小任务的结果汇 ...
- JPA在事务结束时自动更新查询数据
目录 现象 产生的原因 解决方法 现象 最近解决了一个困惑几天的bug,数据库里的某一些记录莫名其妙的被刷新了,排查过代码跟应用日志,可以确定不是代码执行的更新.直到今天看到了一条日志,在事务提交时报 ...
- 非常简单好用实用的轮播图swiper banner组件
非常简单好用实用的轮播图swiper banner组件; 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12786 效果图如下: ...
- LLE算法在自然语言处理中的应用:从文本到实体识别和关系抽取
目录 文章介绍: 自然语言处理(Natural Language Processing,NLP)是人工智能领域的重要分支,它研究如何将人类语言转化为计算机可理解的格式.NLP的应用非常广泛,从语言翻译 ...
- 微信小程序生态15- 批量提交微信小程序审核的一种方式
大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教. 以下是『微信小程序生态系列文章』正文! 需求背景 ...
- java根据配置文件读取值
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <dependency> ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(二十四):顺应 AIGC 应用,自动“续航”回复超长文本消息
开源地址 GitHub:https://github.com/JeffreySu/WeiXinMPSDK Gitee:https://gitee.com/JeffreySu/WeiXinMPSDK 概 ...
- 行行AI人才直播第10期:CTC智仝咨询联合创始人王发鑫《AI时代职场进阶之路——资深猎头的职场洞见》
当今AI技术正在快速渗透各个行业,从去年热门的AIGC到今年爆火的ChatGPT,人工智能高速发展让人惊叹的同时,也让"算法取代人类"."AI或带来失业潮"等老 ...
- 阿里如何实现秒级百万TPS?搜索离线大数据平台架构解读
★ 淘宝搜索阶段 在2008-2012这个阶段,我们重点支持淘宝搜索的业务发展,随着淘宝商品量的不断增加,逐步引入Hadoop.Hbase等开源大数据计算和存储框架,实现了搜索离线系统的分布式化,有力 ...