文章目录
- 总览
- 青铜
- 青铜 MAA 参考架构
- 青铜特性
- 青铜停机时间总结
- 白银
- 白银 MAA 参考架构
- 白银特性
- 白银停机时间总结
- 黄金
- 黄金 MAA 参考架构
- 远程备库
- 多备库
- 备库读取器农场
- 跨区域远程同步备库
- 黄金特性
- 黄金停机时间总结
- 白金
- 白金 MAA 参考架构
- 白金特性
- 白金停机时间总结
- 参考文档
总览
图1 MAA 参考架构
Oracle 最大可用性体系结构( Maximum Availability Architecture , MAA) 为您的 Oracle 数据库提供体系结构、配置和生命周期最佳实践,来满足您位于本地部署、Oracle 公有云、客户私有云,或由本地部署和云数据库共同组成的混合数据库架构中的高可用服务级别。
Oracle MAA 为高可用性、数据保护和灾难恢复提供了一系列标准 MAA 参考体系结构(青铜、白银、黄金和白金)。每个 MAA 参考体系结构或高可用性层都使用一组最佳的 Oracle 功能,这些功能在一起部署时,可以可靠地实现计划外停机和计划内维护事件的目标服务级别。
Oracle MAA 在其整个测试和开发生命周期中使用混沌工程,以确保端到端应用程序和数据库的可用性,或在任何故障或维护事件中保持最佳水平。混沌工程是一门在系统上进行实验的学科,目的是建立对系统承受生产中混乱的(turbulent)条件的能力的信心。具体来说,MAA 引入了各种故障和计划的维护事件,以评估整个开发、压力和测试周期中应用程序和数据库的影响。通过这些实验,我们得出了最佳实践、缺陷和经验教训,并将这些知识重新付诸实践,以发展和改进我们的 MAA 解决方案。
有关 MAA 参考体系结构的更多信息,参阅 Oracle Maximum Availability Architecture 。
未明确列出,每个数据库都需要在可靠的系统平台上运行。Oracle Exadata 数据库一体机 被设计为运行 Oracle 数据库的最高性能和最可用的平台。
监控数据库和系统对于在问题产生可用性影响之前主动检测、预防和恢复问题至关重要。Oracle Enterprise Manager 是 Oracle 的 MAA 战略监控平台。
最后,Oracle 云 与 MAA 持续协作,以整合所有 MAA 参考体系结构、配置最佳实践和生命周期操作。Oracle 云和 MAA 发展携手共进,通过 自治数据库(Autonomous Database.) 提供了完全由 Oracle 管理的 MAA 解决方案。
青铜
青铜 MAA 参考架构
图2-1 青铜 MAA 参考架构
青铜 MAA 参考架构以尽可能低的成本提供基本的数据库服务。通过降低成本和实施复杂性,可以接受降低的高可用性和数据保护级别。该体系结构可能适用于用于测试、开发和不太关键的生产应用程序和数据库的数据库。
青铜体系结构使用 Oracle Database Enterprise Edition 中包含的高可用性功能。青铜默认为 Oracle 数据库单实例或多租户体系结构。Oracle Restart 或 Oracle Clusterware 高可用性功能用于重新启动发生故障的实例、数据库服务器或任何相关的托管服务。对于诸如人为错误之类的逻辑损坏,可以使用闪回操作将数据库“倒带”到特定的时间点。在站点完全停机的最坏情况下,从备份中还原和恢复系统和数据库需要额外的时间,这可能会导致数小时或数天的停机时间。
在青铜参考体系结构中,始终建议在同一数据中心内进行本地备份,以实现最快的恢复。Oracle 还建议在远程数据中心维护备份的第二个副本,以防止(机房)场所断电和灾难。您可以使用 Oracle 云数据库备份服务维护本地数据库的基于云的备份。
青铜特性
图2-2 青铜特性
基于 Oracle Database Enterprise Edition 构建,实现青铜级服务所需的一些功能包括:
- Oracle Recovery Manager(RMAN) 用于执行 Oracle 数据库的定期备份。RMAN 在备份和恢复操作期间提供数据验证,并提供高级功能,如块恢复、表级恢复、模式(schema)级恢复以及多租户 PDB 和 CDB 备份和恢复,这些功能在第三方实用程序中是找不到的。如果发生不可恢复的停机,RPO 等于自上次进行数据库和归档备份以来生成的数据。数据库备份的副本也保留在远程位置或云上,以在主数据中心发生灾难时实现存档和灾难恢复的双重目的。
- 自动存储管理(Automatic Storage Management , ASM) 是一种 Oracle 集成的文件系统和卷管理器,它引入智能数据感知软件镜像,以防止磁盘故障和某些损坏。
- Oracle Flashback 技术 以适合于修复单个事务、表、可插拔数据库( PDB) 或整个数据库的粒度级别提供快速错误纠正。Flashback 为逻辑修复提供了最全面的工具集,并允许管理员查看以前的事务数据版本以进行高级分析和修复。
- 在硬件或软件故障后,或每当数据库主机重新启动时,Oracle Restart 会自动重新启动数据库、侦听器和其他 Oracle 组件。Oracle Clusterware( 如果可用)也有同样的效果。
- Oracle 损坏保护(Oracle Corruption Protection) 检查物理损坏和逻辑块内损坏。内存中的损坏被检测到并防止写入磁盘,在许多情况下可以自动修复。有关青铜或其他分层解决方案的数据保护建议的更多详细信息,请参阅 数据保护配置中的损坏检测、预防和自动修复最佳实践( Doc ID 1302539.1) 。
或者,您可以使用以下推荐的功能和功能来增强高可用性体系结构:
- 零数据丢失恢复设备( Zero Data Loss Recovery Appliance , ZDLRA ) 为所有 Oracle 数据库提供了一个复杂的数据中心范围的备份和恢复解决方案。关键好处包括:在第一次完全备份之后始终进行增量备份,这将对源数据库或受保护数据库的总体影响降至最低,并大大缩短了备份窗口;实时重做(redo)传输,将所有数据库的 RPO 降至接近零;持续的数据保护和验证,以确保恢复就绪;以及增强的恢复和迁移优势。
- 在线维护(Online Maintenance ) 包括数据库维护的在线重新定义和重组织、在线文件移动和在线修复补丁的。
- Oracle 多租户(Oracle Multitenant) 和 资源管理器(Resource Manager) 是从 Oracle database 12c 开始的数据库整合和虚拟化 MAA 最佳实践解决方案。可插拔数据库( PDB) 操作为可插拔数据库重新定位、迁移、故障切换和升级案例提供了更高的可用性。资源管理器可防止应用程序和数据库消耗过多的资源,这可能会导致可用性问题和潜在的停机时间。资源管理器控件可以控制 CPU、 内存、操作系统进程、 I/O( 仅 Exadata) 和网络(仅 Exadata) 的使用。
青铜停机时间总结
图2-3 青铜停机时间总结
青铜 MAA 参考架构服务级别说明了降低的实施和维护成本以及计划内和计划外停机期间的预期停机时间之间的权衡。
白银
白银 MAA 参考架构
图3-1 白银 MAA 参考架构
白银 MAA 参考架构 是为那些在出现不可恢复的数据库实例或服务器故障时无法等待冷重启或备份恢复的数据库而设计的。此架构可能适用于需要减少本地故障和最常见的计划维护活动的停机时间的业务关键型生产应用程序。
白银架构是在青铜架构的基础上构建的,并添加了 Oracle Real Application Clusters(Oracle RAC) 双活(active-active)集群,以在数据库实例或服务器故障时实现最小或零停机,以及在大多数常见的计划维护事件中实现零数据库停机。
就像在青铜体系结构中一样,Recovery Manager(RMAN) 提供了数据库优化备份,以在集群完全中断或发生灾难时恢复可用性。
白银特性
图3-2 白银特性
Oracle RAC( 或 扩展集群上的 Oracle RAC ) 的双活架构为白银 MAA 参考架构提供了许多优势:
- 改进的高可用性 如果服务器或数据库实例发生故障,则与存活实例的连接不会受到影响;到故障实例的连接将快速故障切换到已在 Oracle RAC 集群中的其他服务器上运行并打开的存活实例。
- 可扩展性 Oracle RAC 是高容量应用程序或整合环境的理想选择,在这些环境中,需要可扩展性以及跨多个服务器动态添加或重新排定容量优先级的能力。单个数据库可能拥有在集群中的一个或多个节点上运行的实例。类似地,数据库服务可以在一个或多个数据库实例上可用。可以在线配置其他节点、数据库实例和数据库服务。在整个集群中轻松分配工作负载的能力使 Oracle RAC 成为 Oracle 多租户 在整合许多数据库时的理想补充。
- 整合的数据库环境中 可靠的性能 可以通过使用 Oracle 服务质量( Quality of Service , QoS ) 为高优先级数据库服务分配容量来提供 。容量可以在工作负载之间动态切换,以快速响应不断变化的需求。
- 在计划维护期间的高可用性 通过在 Oracle RAC 节点上以滚动方式实施更改来保证。这包括需要服务器或数据库实例脱机或重新启动的数据库、硬件、操作系统或网络维护;更新或修补数据库或 Oracle 网格基础设施的软件维护;或将数据库实例移动到另一服务器以增加容量或平衡工作负载。
- 应用程序连续性 和应用程序故障切换最佳做法通过选择性地排空和重新定位连接,并在另一个可用的 Oracle RAC 实例上重放应用程序请求,来掩藏可恢复的停机和 Oracle RAC 在应用程序层中滚动计划的维护活动。通过应用程序连续性或透明应用程序连续( Transparent Application Continuity , TAC), 应用程序可以实现零应用程序停机。要获取这些好处,请参阅 连续可用性 - 针对 MAA 解决方案的连续服务的应用程序清单 。
- Oracle Clusterware 与 Oracle 自动存储管理( ASM) 组合为 Oracle 网格基础架构,是 Oracle Real Application Clusters 的集成基础,是 Oracle RAC 支持的任何主要平台上所有应用程序的高可用性和资源管理框架。
当由 Oracle RAC 节点组成的单个数据库分布在多个数据中心时,将提供 (机房)场所故障和有限的灾难恢复保护(仅限于扩展集群上的 Oracle RAC) 。 如果扩展集群上的 Oracle RAC 体系结构(也称为 Oracle Stretched RAC 或 Oracle Extended RAC) 发生场所故障,则应用程序可以透明地故障切换到其他站点中存活的 Oracle RAC 节点和实例。为了确保稳定性和性能,扩展集群上的 Oracle RAC 要求 Oracle RAC 互连具有低网络延迟(小于1毫秒)和高网络带宽( 10 GigE 或更高)。需要在第三个场所中添加一个存储仲裁设备和 Oracle ASM 扩展磁盘组 。扩展集群上的 Oracle RAC 为您提供了 Oracle RAC 的好处,但并不能全面解决灾难恢复问题。Oracle MAA 建议添加 Oracle Data Guard 以完成 Gold MAA 体系结构,以便涵盖其他计划外停机,如数据损坏、数据库故障、集群故障和区域故障。
白银 MAA 参考体系结构 需要用于本地数据库的 Oracle Database Enterprise Edition 、 Oracle RAC 和 Oracle Enterprise Manager 生命周期、管理、诊断和优化包。如果不需要可扩展性,并且您的环境可以容忍数据库和 Oracle RAC 实例故障的恢复时间稍长,则 Oracle RAC One Node 是主动-被动(active-passive)高可用性的选项。
或者,您可以使用以下推荐的功能和功能来增强高可用性体系结构:
- 集群补丁和预配置( Fleet Patching and Provisioning )
- Oracle Exadata 数据库一体机 或 Exadata 云服务
白银停机时间总结
图3-2 白银停机时间总结
白银 MAA 参考体系结构服务级别 使您能够显著减少硬件故障的预期停机时间,与青铜体系结构服务水平相比,软件和硬件升级导致的大部分计划停机时间降至零。
黄金
黄金 MAA 参考架构
图4-1 黄金 MAA 参考架构
黄金 MAA 参考体系结构非常适合不能容忍长时间停机和数据丢失的服务级别要求。这组体系结构模式为所有类型的计划外停机(包括数据损坏、数据库故障、故障和故障)提供了高可用性和全面的数据保护,对于所有数据库和系统中断以及计划的维护活动,需要快速恢复时间和零或最小数据丢失的任务关键型生产应用程序将受益于黄金参考体系结构中包含的功能。
黄金 MAA 参考体系结构 基于 白银参考体系结构,使用 Oracle Active Data Guard 为您提供了四种体系结构模式。模式各异,从具有 Fast Start Failover 和 HA Observer 的单个远程活动备库( Remote Active Standby ) ,到包括备库读取器农场(Standby Reader Farm)在内的多个备用数据库配置,最后是远程同步(跨区域)零数据丢失备库配置。
远程备库
图4-2 黄金:远程备库
黄金 MAA 参考体系结构远程备库模式 包含使用 Oracle Active Data Guard 消除单点故障的生产数据库(备用数据库)的远程同步副本。活动的备用数据库提供了针对计划外停机的高级别保护,并减少了计划内维护活动(如数据库升级)的停机时间。
多备库
图4-3 黄金:多备库
黄金 MAA 参考体系结构多备用数据库模式 为您提供了本地和远程备用数据库的优点。
自动故障切换到同一区域中的本地备用服务器为您提供了显著的本地灾难隔离和应用程序故障切换的简单性。本地备用数据库可以位于与主数据库不同的故障域或可用性域中。此体系结构模式中的应用程序故障切换遵循 “连续可用性 - 针对 MAA 解决方案的连续服务的应用程序清单” 中描述的建议。
本地备用数据库的业务价值体现在零数据丢失故障切换和应用程序停机时间减少到几秒钟。通过启用同步重做(redo)传输,由于主数据库系统和备用数据库系统之间的延迟较低,零数据丢失 Data Guard 配置变得更加可行。应用程序自动且透明地故障切换到本地备用状态,从而在应用程序服务器和数据库之间保持相同的延迟,这对于 OLTP 应用程序和包应用程序尤为重要,因为更高的延迟会显著影响吞吐量和可能的整体应用程序响应时间。
如果发生区域性灾难,使主系统和本地备用系统无法访问,则应用程序和数据库可以故障切换到远程备用系统。即使发生区域性灾难时,数据库停机时间仍然很低,但由于 DNS、 应用程序和数据库故障切换操作需要额外的协调,应用程序停机时间可能会更高。
备库读取器农场
图4-4 黄金:备库读取器农场
黄金 MAA 参考体系结构备库读取器场模式提供了黄金多备库模式的所有优点,而且它允许只读操作扩展到多个备用数据库,以实现本地和区域读取器的可扩展性。
跨区域远程同步备库
图4-5 黄金:跨区域远程同步备库
黄金 MAA 参考架构跨区域远程同步备库模式 在网络延迟或主备之间的距离过大时为您提供零数据丢失解决方案。当事务提交时,重做(redo)将由一个独立于故障的远程同步服务器确认,该服务器将验证并重新提交对远程备用的更改。如果发生主数据库故障或(机房)场所故障,存活的远程同步服务器将最后提交的更改发送到远程备用服务器,以确保零数据丢失。
黄金特性
图4-6 黄金特性
黄金 MAA 参考体系结构基于具有主数据库和备用数据库的 Oracle Active Data Guard 解决方案,为黄金 MAA参考体系结构提供了许多优势。
- 改进的数据保护。如果主数据库或备用数据库检测到物理数据损坏,Oracle 可以在 零 应用程序和数据库停机的情况下启动数据损坏的自动块修复。这是在 Active Data Guard 环境 中维护所有数据库的数据完整性和可用性的一个主要优势。此外,备用数据库可以检测丢失的写入和逻辑块损坏,防止逻辑损坏,并提供自动故障切换机制,减少这些损坏和停机的影响。
- 灾难恢复保护,即可减少数据库、集群或(机房)场所故障造成的停机时间和零或接近零的数据丢失,应用程序保护,以及使用备用数据库减少停机时间和数据丢失的解决方案。使用 Data Guard Fast Start Failover , 备用数据库可以自动故障切换,最小化停机时间。您可以在 Data Guard 环境 中配置 Data Guard SYNC 或 FAR SYNC 解决方案,以提供零数据丢失。
- 将工作负载和操作从主数据库卸载到备用数据库。
- 昂贵的备份操作,这些备份可用于恢复主数据库或备用数据库
- 读取密集型查询和报告作业
- 在主服务器上应用相同的更改之前,在备用服务器上测试软件或硬件更新以确保总体可用性和完整性,除了使用测试环境之外,还提供了额外的验证
- 在不牺牲潜在数据丢失的情况下使用快照备份进行测试
- 内置于 Active data Guard 和重做(redo)应用的数据损坏的验证和早期检测、预防和自动修复
通过以在 Oracle RAC 中,和横跨 Oracle RAC 节点的 Data Guard 滚动方式,或主数据库和备用数据库之间,实施更改,减少计划内维护的停机时间。使用 DBMS_ROLLING 和临时逻辑(transient logical)解决方案,可以在几秒钟的停机时间内升级和切换到待机状态,同时保持灾难恢复保护。
- 应用程序连续性 可以很好地与 Oracle Active Data Guard 配合使用,在切换或零数据丢失故障切换后,通过在备用数据库(或新的主数据库)上自动重放运行中的事务来掩藏主数据库中断。
- 简化迁移。通过使用备用数据库切换到 Exadata 或 Exadata 云等新平台或启用透明数据加密( Transparent Data Encryption , TDE ) 等新数据库选项和功能,简化到新平台和技术的迁移。
或者,您可以使用以下推荐的功能和功能来增强高可用性体系结构:
- Global Data Services 是一种 Oracle 数据库工作负载管理解决方案,它提供了跨副本的客户端连接和工作负载请求的动态负载均衡。
- Oracle Site Guard 帮助协调应用程序、第三方组件和 Data Guard 的区域故障切换,以提供无缝的一键全栈切换或故障切换解决方案。
- 选择 Oracle Enterprise Manager 包
要获得黄金参考体系结构服务级别,请使用 Oracle Active Data Guard 和 Oracle RAC 。
Oracle Active Data Guard 提供了比第三方复制更多的 Oracle 数据库保护和优势,如下表所示。
Benefits | Oracle Active Data Guard | Third Party Replication |
---|---|---|
Data corruption protection | Yes | No |
Auto block repair of physical block corruptions | Yes | No |
RTO | Seconds to 2 minutes | Up to 30 minutes |
RPO | Zero or near zero | Zero (within region only) to near zero |
Active standby reporting | Yes | None (additional copies required to create reporting database) |
Network bandwidth required | Small (redo changes only) | Typical 7X bandwidth because all database, redo, temp, undo, and controlfile changes are replicated |
Application integration | Yes (with Application Continuity) | None (needs to be customized) |
Automatic failover | Yes | None (needs to be customized) |
Database rolling upgrade | Yes | No |
Scalable reader farm while maintaining protection and disaster recovery | Yes | No |
黄金停机时间总结
图4-7 黄金停机时间总结
黄金 MAA 参考体系结构服务级别 将故障切换和切换时间从数小时减少到数秒,并使您能够以最少的中断时间进行大型数据库升级。
白金
白金 MAA 参考架构
图5-1 白金 MAA 参考架构
白金 MAA 参考架构 有可能为黄金架构无法实现的停机和计划维护活动提供零停机时间。白金体系结构构建在黄金体系结构的基础上,添加了 Oracle GoldenGate 复制,以消除迁移、应用程序升级和数据库升级的停机时间。每个 Oracle GoldenGate 数据库都由备用数据库保护,以在数据库、集群或场所故障时实现零数据丢失。
Oracle GoldenGate 提供以下好处:
- 单向或双向复制,允许在任何复制副本中读取和更新(如果需要)
- 复制副本可以在不同的平台,数据库版本,或数据库,或应用程序配置上运行,允许在线迁移以及数据库和应用程序升级
- 副本是在线的,因此应用程序可以在停机和计划的维护活动期间零停机地切换(请注意,应用程序切换必须是自定义的,而不是像应用程序连续性一样内置的)
与其他 MAA 体系结构不同,将 Oracle GoldenGate 集成到体系结构中需要考虑应用程序,尤其是在需要切换到其他副本时。当一个副本关闭时,可能需要全局数据服务或自定义应用程序服务管理来实现迁移、数据库升级或场所切换等活动的零或最小应用程序停机时间。此外,如果在任何时候同时更新多个副本,则必须配置冲突检测和解决方案。
为了解决零停机应用程序升级问题,最好的解决方案是让开发人员使用 基于版本的重定义(Edition-Based Redefinition) 。
白金特性
图5-2 白金特性
白金参考体系结构需要与黄金参考体系结构相同的服务,外加本地部署的 Oracle GoldenGate ,或云部署的 Oracle GoldenGate 云服务 。
或者,您可以通过使用以下特性和功能来增强白金体系结构:
- 基于版本的重定义 允许您在应用程序正在使用时升级其数据库组件,从而最小化或消除停机时间。
- Oracle Sharding 用作备选白金体系结构,允许具有分片感知能力,或被设计为通过分片键访问数据库,来使用单独的数据库分片扩展其应用程序,并使用 Oracle RAC、Oracle Active Data Guard 或 Oracle GoldenGate 保护每个分片。MAA 建议使用 Oracle RAC 和 Oracle Active Data Guard 或 Oracle GoldenGate。 任何一个分片故障都会以最少的停机时间进行切换,并且只影响访问该特定分片的应用程序。具有数百个分片的数据库提供了最高的应用程序和数据库可用性。有关更多信息,请参阅 Oracle Sharding 文档和 Oracle Sharding MAA 最佳实践白皮书。
白金停机时间总结
图5-3 白金停机时间总结
白金 MAA 参考体系结构服务级别可满足最关键的 Oracle 需求,并提供零数据丢失和最高的正常运行时间潜力。
了解有关 Oracle MAA 蓝图的更多信息,以减少 本地(on-premises)、Exadata 数据库一体机 和 Oracle 云 上 Oracle 数据库的计划内和计划外停机时间。
参考文档
Oracle MAA Reference Architectures