你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Oracle Database@Azure 的业务连续性和灾难恢复注意事项

本文扩展了 Azure 登陆区域设计领域中描述的业务连续性和灾难恢复 (BCDR) 注意事项和建议。 它通过使用 Oracle Exadata Database Service 为 Oracle Database@Azure 整合了 Oracle Maximum Availability Architecture (MAA) 原则。

为在 Oracle Database@Azure 上运行的 Oracle 数据库构建弹性架构的第一步是确定解决方案的可用性要求。 为不同级别的故障(包括计划内和计划外事件)建立恢复时间目标 (RTO) 和恢复点目标 (RPO) 至关重要。 RTO 定义应用程序或企业在中断后可以容忍的最长停机时间。 RPO 指定应用程序或企业可以容忍的数据丢失的最长持续时间。 在开始 BCDR 设计之前,应满足此先决条件。 在确定解决方案的要求后,您可以设计 Oracle Database@Azure 环境以与您的 RTO 和 RPO 保持一致。

有关详细信息,请参阅 Microsoft Azure Well-Architected Framework 有关如何 设计 DR 策略的指南。

设计注意事项

  • Oracle Exadata Database@Azure服务在一个区域内的两个不同的可用区中可用。 此可用性有助于确保服务可靠性和 DR。 若要验证 Oracle Exadata Database@Azure的部署位置,请在 Azure 门户中检查虚拟机 (VM) 群集。

  • Oracle Exadata Database@Azure 及其核心组件仅限于您创建实例的可用区。 该服务不覆盖多个区域或跨多个区域。 要实现多区域或多区域弹性,您可以将新的 Oracle Exadata Database@Azure 实例部署到目标可用区或区域。

  • Oracle Exadata Database@Azure 提供原生 Oracle 技术,例如用于高可用性 (HA) 的 Oracle Real Application Cluster 和用于 DR 的 Oracle Data Guard。 DR 架构支持 Data Guard 和 Active Data Guard。

  • 默认情况下,Oracle Exadata Database@Azure 针对数据库实例和硬件级故障提供 HA。 此体系结构与 MAA 白银级别一致。 计划内维护作可以滚动方式进行。 但是,默认的单区架构对站点或区域故障的容错能力为零。

  • 该解决方案为 DR 提供自动化 Data Guard 配置。 此设置要求在不同可用区或区域中部署另一个 Oracle Exadata Database@Azure,从而帮助防止站点故障。

  • 主实例与备用 Oracle Exadata Database@Azure 实例之间的网络连接可以通过 Azure 网络和 Oracle 云基础结构 (OCI) 网络建立。 默认情况下,此连接的主要路由是通过 Azure。

  • Oracle Exadata Database@Azure 可用的三个备份选项是:

    • OCI 托管备份: 此选项包括两个集成解决方案,即 Oracle Database Autonomous Recovery Service 和 Oracle Cloud Infrastructure Object Storage。 这些解决方案通过 OCI 控制台进行管理。

      自治恢复服务专为具有严格 RTO 和 RPO 要求的企业级任务关键型工作负载而设计。 它通过服务级别协议提供可用性。 有关更多信息,请参阅 Oracle 平台即服务和基础设施即服务公有云服务支柱文档

      OCI 对象存储是一种通用备份解决方案,适用于 RTO 或 RPO 要求不太严格的工作负载。

      这些解决方案支持使用预定义的保留期自动安排和管理数据库备份。 有关更多信息,请参阅 在 Oracle 专用基础设施上的 Exadata Database Service 上管理数据库备份和恢复

    • 自我管理的备份: 您可以将 Oracle Exadata Database@Azure配置为将数据库备份流式传输到 Azure 存储服务,包括 Azure Blob 存储、Azure 文件存储(通过专用端点)和 Azure NetApp 文件。

      此选项需要手动配置和持续维护。

    • 非 Microsoft 备份解决方案: 您可以使用 Azure Marketplace 中提供的非 Microsoft 备份解决方案(例如 Commvault)来管理和存储数据库备份。

设计建议

要构建根据您的特定要求量身定制的弹性体系结构,请考虑以下针对 Oracle Exadata Database@Azure 的 BCDR 建议。

您应该使用 Data Guard 配置至少两个 Oracle Exadata Database@Azure 实例,以帮助防止单站点故障。 此设置与 MAA 黄金标准一致。

多区 BCDR

对于需要零或接近零的 RPO 和多区域冗余,同时满足单区域数据驻留要求的客户,建议使用多区域 BCDR 体系结构。

此解决方案包括在同一区域内的不同可用区中的辅助 Oracle Exadata Database@Azure部署。 要确保针对数据库、集群或可用区故障的弹性,请在辅助实例中实施备用数据库。 此设置可防止站点级故障。  

显示 Oracle Exadata Database@Azure Azure 登陆区域加速器的多区域 BCDR 体系结构的关系图。

  • Data Guard 重做传输模式: 根据您的应用程序服务和 RPO 要求配置 Data Guard 重做传输模式:

    • 数据完整性和零数据丢失: 当数据完整性和零数据丢失是最高优先级时,请使用最大可用性模式 (SYNC)。 此模式将数据同步复制到备用数据库,从而确保不会丢失任何数据。

    • 系统性能: 当系统性能至关重要且可接受少量数据丢失时,请使用最高性能模式 (ASYNC)。 此模式使用异步复制,这会导致 RPO 略大于零(或接近零)。

  • 维护对称备用实例: 您应该维护一个对称备用实例,其资源与主数据库相当,以确保在切换和故障转移作期间性能一致。 或者,您可以使用最少的资源配置备用数据库,并在切换或故障转移后根据需要动态扩展 VM 集群。 但是,这种方法可能会增加扩展作及其在数据库级别的反射的额外时间。

  • 自动执行故障转移作: 使用 Oracle Data Guard Fast-Start Failover 自动执行故障转移作,从而最大限度地减少 RTO 并减少错误。

    注释

    Fast-Start 故障转移不是托管服务,需要手动配置。

    对于此设置,需要运行 Oracle Data Guard 观察程序的额外 VM 才能启用 Data Guard Fast-Start 故障转移。 这些观察者 VM 监控数据库和复制状态,从而自动执行故障转移过程。

    Oracle Database@Azure Azure 登陆区域加速器的 Fast-Start 故障转移体系结构图。

    如果在发生故障转移时需要对称 DR 体系结构,则应将观察者实例放置在配置辅助 Oracle Exadata Database@Azure部署的位置。

多区域 BCDR

  • 对于多区域 BCDR 策略,使用位于该服务可用的其他区域的备用数据库实施辅助 Oracle Exadata Database@Azure部署。 此设置可防止完全区域性中断。

  • 将 Data Guard 配置为根据您的应用程序要求以及主区域和辅助区域之间的网络延迟进行异步复制以进行区域 DR。 有关详细信息,请参阅 Azure 网络往返延迟统计信息

    注释

    Automated Data Guard 仅允许跨区域部署的最高性能模式 (ASYNC) 配置。

Oracle Exadata Database@Azure Azure 登陆区域加速器的多区域 BCDR 体系结构图。

  • 多区域和多区域 BCDR 建议侧重于数据库服务弹性。 为了帮助确保整体工作负载复原能力,请考虑使用 Azure 服务和功能(如 Azure 虚拟机规模集、Azure Site Recovery 和 Azure Front Door)来设计跨可用性区域或区域的可靠体系结构。

扩展的 BCDR 方案

本地和远程备用数据库

为了满足对强大服务可用性和针对区域性中断的弹性的要求,我们建议您为任务关键型工作负载实施多个备用数据库。

Oracle Exadata Database@Azure部署上的本地备用数据库位于同一区域内的不同可用区中。 此设置通过 SYNC Data Guard 复制满足零数据丢失故障转移要求,为延迟敏感型应用程序提供了可行的解决方案。 此策略有助于确保服务可用性,而不会影响应用程序吞吐量或整体响应时间。

位于不同区域的 Oracle Exadata Database@Azure 实例上的远程备用数据库可满足区域 DR 要求。

Oracle Exadata Database@Azure Azure 登陆区域加速器的本地和远程备用 BCDR 体系结构图。

此体系结构非常适合任务关键型负载,并且至少需要三个 Oracle Exadata Database@Azure部署。

注释

如果由于故障转移场景而需要对称配置,请在不同可用区内的辅助区域中的 Oracle Exadata Database@Azure上放置一个额外的备用数据库。

Data Guard Far Sync 架构

您可以使用 Data Guard Far Sync 配置满足在任何距离实施零数据丢失复制的要求。 此方法包括将 远同步实例 放置在更靠近主 Oracle Exadata Database@Azure部署的位置,基本上是在同一区域内的另一个可用区中,以同步发送重做日志。 然后,远同步实例将这些日志异步传输到在另一个区域中的辅助 Oracle Exadata Database@Azure部署中运行的备用数据库。 此设置有效地实现了区域之间的零数据丢失复制。

适用于 Oracle Exadata Database@Azure Azure 登陆区域加速器的 Far Sync BCDR 体系结构图。

如果要在发生故障转移时寻找对称 DR 体系结构,请将远同步实例放置在配置辅助 Oracle Exadata Database@Azure部署的单独可用区中。

注释

Far Sync 架构需要 Active Data Guard 许可证,并且必须手动配置。

备份建议

如果您计划将备份用作满足 BCDR 要求的唯一解决方案,请记住,与复制方案相比,RTO 更高,因为它基于数据库大小和您使用的备份方法。

  • 在 Azure 中备份数据: 为了满足要求数据和备份保留在 Azure 中的组织要求,请考虑以下解决方案:

    • 在 Azure 中使用自治恢复服务 (ARS): 在备份策略配置期间,选择 将备份数据存储在与数据库相同的云提供商中 ,以便在 Azure 中使用 ARS。

    • 使用 Storage 服务: 使用 Blob 存储、Azure Files 和 Azure NetApp Files 等存储服务将存储作为网络文件系统 (NFS) 点挂载到数据库服务器上,并将 Oracle Recovery Manager (RMAN) 备份流式传输到存储。

  • 长期备份保留: 如果您的组织需要长期备份保留,则可以配置到 Azure 存储的自我管理的 RMAN 备份。

  • 存储备份配置: 将备份配置为存储服务时,请考虑以下建议:

    • 使用 cron 作业进行计划: 在数据库节点级别使用 cron 作业,根据您的备份策略在特定时间安排备份。

    • 复制备份: 使用 Azure 中的基础存储复制功能(如区域冗余存储和异地冗余存储)来复制备份。

  • 备份和还原作: 手动备份 Oracle Exadata Database@Azure VM,以便在意外删除或损坏时还原关键文件。 有关详细信息,请参阅 Oracle Exadata Cloud Compute 节点备份和还原作(文档 ID 2809393.1)。

其他建议

  • 将数据保留在 Azure 中: 如果需要将数据仅保留在 Azure 中,请通过 Azure 网络路由 Data Guard 流量,并将备份配置为保留在 Azure 中。

  • 测试 DR: 测试故障转移和切换作,以帮助确保它们在实际灾难场景中工作。

  • 实时数据和复制: 对于主动-主动环境,请考虑使用 Oracle GoldenGate 实现实时数据集成和复制功能。 它需要应用程序级的感知能力才能有效地处理冲突解决。

    注释

    GoldenGate 不包含在此解决方案中,可能会产生额外的许可费用。

  • 最大限度地减少中断: 为了最大限度地减少工作负载的中断,请将计划内维护安排在非高峰时段。 如果可以,请使用滚动方式更新来确保无缝流程。

  • 使用基础设施即代码 (IaC): 要实现更可靠的基础设施自动化,请使用 IaC 部署初始 Oracle Exadata Database@Azure 实例和 VM 集群。 有关 Oracle Database@Azure自动化的更多信息,请参阅 使用 Terraform 或 OpenTofu 模块快速入门 Oracle Database@Azure