Oracle CloudWorld 2022 - 使用Oracle MAA实现应用程序的连续可用性

oracle,cloudworld,使用,maa,实现,应用程序,连续,可用性 · 浏览次数 : 121

小编点评

## 使用Oracle MAA实现应用程序的连续可用性 **1. 为什么选择透明的应用程序连续性?** 透明应用程序连续性可以提供更高的业务连续性,因为它不会影响应用程序对数据库的读写访问。这意味着用户可以对应用程序进行维护和更新操作,而不会导致应用程序停机。 **2. 如何确保业务连续性的高可用性要求?** 可以使用多个数据源的技术来实现业务连续性,例如: * **容错复制:** 创建多个数据库实例,并通过故障切换技术将流量分配到不同的实例上。 * **分时复制:** 创建多个数据库实例,并根据业务需求切换它们之间的流量。 * **数据分区:** 将数据库按数据块进行分区,并分别进行维护和更新。 **3. 如何有效使用TAC应对计划内维护和计划外停机?** TAC可以帮助用户在计划内和计划外遇到停机情况中,进行动态的数据库服务调整,以确保应用程序的正常运行。 **4. 当透明应用程序连续性不适合时该怎么办?** 如果透明应用程序连续性不适合应用程序的具体需求,可以切换到基于TAC的应用程序连续性模式。 **5. 客户案例分享** 客户使用Oracle 19c 透明应用连续性功能,通过简化应用程序工程师的弹性设计,提高了整个公司的应用程序弹性。

正文

每每谈到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 CloudWorld 2022 - 使用Oracle MAA实现应用程序的连续可用性

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

已发布:Oracle Database 23c 免费版 — 开发人员版!

注:甲骨文云技术公众号文章备份 2023/04/12。 翻译新闻稿。 1.新发布 Oracle Database 23c 免费版 — 开发人员版 在 Oracle CloudWorld 2022 上,Oracle 发布了 Oracle Database 23c Beta,作为世界领先的融合数据库新版

Oracle CloudWorld 2023:Safra Catz主题演讲——把客户的成功放在首要位置

Safra Catz在Oracle CloudWorld 2023的开场演讲主题是“把客户的成功放在首要位置”。她强调了客户的重要性,并说大家通过合作和技术可以实现几乎一切。她感谢在场的观众,强调了学习和分享的重要性,以及公司致力于为客户提供更好服务的承诺。 在演讲中,她还邀请了来自其他公司的高管一

oracle并发与多版本控制

1 相关概念 1.1 并发控制 数据库对多个用户同时查询或者操作数据的管理。 1.2 多版本控制 oracle能物化多个版本的数据,使在一个时间点读一个表,保证在这个时间点读到的表数据是一致的。oracle的多版本控制机制是oracle提供读一致性的基础。 1.3 事务的作用 事务使数据库从一种一致

Oracle优化神技之临时表

Oracle临时表在处理临时数据、会话数据隔离和复杂查询优化方面非常有用。 其底层逻辑是通过Oracle特殊的临时表来减少I/O操作和日志开销,提高了数据库性能和查询效率。开发者可以根据具体需求和场景,合理使用临时表来简化数据处理逻辑和提高系统性能。 早期开发人员在使用Oracle数据库时,经常因为

Oracle修改字段长度及属性

首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247486117&idx=1&sn=02e2cd05e5db7eaa5758c70e81cf3972&chksm=ea375ed5dd40d7c

实现并发新高度:23ai的无锁列值保留

Oracle Database 23ai支持Lock-Free Reservation,中文通常译为“无锁列值保留”。 本文将通过3个部分来阐述Lock-Free Reservation的这个特性: 1.应用场景 2.实现原理 3.使用限制 1.应用场景 Lock-Free Reservation这

Oracle "脑残" CBO 优化案例

今天晚上下班回来才有空看群,群友发了一条很简单的慢SQL问怎么优化。 非常简单,我自己模拟的数据。 表结构: -- auto-generated definition CREATE TABLE HHHHHH ( ID NUMBER NOT NULL PRIMARY KEY, NAME VARCHAR

[转帖]Oracle Linux 9 - Oracle 提供支持 RHEL 兼容发行版

https://sysin.org/blog/oracle-linux-9/ Oracle Linux 是一个开放、全面的操作环境,提供虚拟化、管理、云原生计算工具和操作系统,通过一个统一的支持解决方案满足您的业务需求。Oracle Linux 与 Red Hat Enterprise Linux

[转帖]Oracle数据库的两种授权收费方式详解

https://www.jb51.net/article/265823.htm 现在Oracle有两种授权收费方式,按CPU(Process)数和按用户数(Named User Plus),前一种方式一般用于用户数不确定或者用户数量很大的情况,典型的如互联网环境,这篇文章主要介绍了Oracle数据库