了解如何使用 Oracle Database Service for Azure 部署多云灾难恢复拓扑

保持业务连续性和确保 IT 弹性是当今 IT 主管的重中之重。各行各业的企业都在越来越多地实施多云解决方案,以从同类优秀的服务、有竞争力的定价、敏捷性、灵活性和更高的可用性中受益,同时增强风险管理并避免供应商锁定。Oracle Database Service for Microsoft Azure(OracleDB for Azure 或 ODSA)是一种 Oracle 管理的服务,可帮助客户通过熟悉的类似 Azure 的体验在 Oracle Cloud Infrastructure (OCI) 中轻松供应、访问和运行企业级 Oracle Database 服务。
目前,无法直接从 OracleDB for Azure 门户为灾难恢复启用 Data Guard。但是,可以使用以下选项配置跨区域 Data Guard 设置:
  • 两个 OracleDB(用于 Azure 数据库)之间的手动 Data Guard 设置。
  • OCI Managed Data Guard,其中包含一个 OracleDB for Azure 数据库和一个 OCI Managed Database。

本文档提供了在不同云区域的两个 OracleDB 之间为 Azure 数据库配置手动 Data Guard 设置的详细信息。有关此解决方案的一般概述,请参阅本手册末尾的“了解更多”主题中的“ODSA 灾难恢复优秀实践:Exadata 数据库和基本数据库服务”。

体系结构

此体系结构显示 OracleDB for Azure 中跨区域的 Data Guard 配置。跨区域的备用数据库可确保在发生灾难时实现灾难恢复并提高弹性。借助 Oracle Data Guard,您可以将工作负载快速还原到备用数据库。

下图显示了 Data Guard 配置。OracleDB for Azure 配置中的灾难恢复由 OCI 中的生产数据库和 DR 副本组成,该副本是从 OracleDB for Azure 门户预配的。OracleDB for Azure 中的灾难恢复功能消除了第三方供应商和互连在 Multicloud OracleDB for Azure 中管理网络的成本和复杂性。

本文档模拟 OracleDB 中用于 Azure 环境的灾难恢复方案。这可用于演示、概念验证和研讨会,以便在多云环境中发生灾难时对数据的完整性和安全性进行概念化。本文档以任何方式不会取代文档中引用的任何现有白皮书,它仅基于这些白皮书进行构建。

本文档侧重于为 Azure 环境在多云 OracleDB 中设置灾难恢复。但是,数据库和灾难管理必须通过使用 SQL*Plus 或 DGMGRL 命令行工具从命令行进行配置和管理,直到 Data Guard 关联直接从 OracleDB for Azure 门户合并。


下面是 odsa-dr-ref-arch.png 的说明
插图 odsa-dr-ref-arch.png 的说明

此体系结构由以下几个部分组成:
  • 区域

    Oracle Cloud Infrastructure 区域或 Azure 区域是一个本地化的地理区域,其中包含一个或多个数据中心,称为可用性域(在 OCI 中)或可用性区域(在 Azure 中)。区域独立于其他区域,远距离可以区分它们(跨国家甚至大陆)。

  • 可用性域 (OCI)/可用性区域 (Azure)

    可用性域是区域中的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错功能。可用性域不共享基础设施(例如电源或冷却设备),也不共享内部可用性域网络。因此,一个可用性域出现故障不太可能影响区域中的其他可用性域。

  • OCI Virtual Cloud Network (VCN) 和子网

    VCN 是您在 Oracle Cloud Infrastructure 区域中设置的可定制软件定义网络。与传统的数据中心网络一样,VCN 可以让您完全控制您的网络环境。一个 VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 细分为多个子网,这些子网可以限定在某个区域或可用性域中。每个子网都包含一系列不与 VCN 中的其他子网重叠的地址。您可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。

  • Dynamic routing gateway (DRG)

    DRG 是虚拟路由器,为 VCN 与区域外部网络之间的专用网络流量提供路径,例如另一个 Oracle Cloud Infrastructure 区域中的 VCN、内部部署网络或另一个云提供商中的网络。

  • Oracle Database Service for Microsoft Azure

    Oracle Database Service for Microsoft Azure (OracleDB for Azure) 允许您轻松地将 Oracle Cloud Infrastructure Database 集成到 Azure 云环境中。OracleDB for Azure 使用基于服务的方法,是手动为应用程序堆栈创建复杂跨云部署的替代方法。

  • Oracle 数据库

    该体系结构包括两个通过 OracleDB 为 Azure 预配的 Oracle 数据库。

    其中一个远程数据库在 Data Guard 配置中转换为备用数据库。备用数据库是与主数据库在事务处理上保持一致的副本。Oracle Data Guard 通过将重做数据从主数据库传输和应用到备用数据库来自动维护数据库之间的同步。在主区域发生灾难时,启用快速启动故障转移时,Oracle Data Guard 会自动故障转移到备用数据库。

  • 密码 wallet

    Oracle wallet 提供了一种跨多个域管理数据库身份证明的简便方法。它允许您通过更新 wallet 来更新数据库身份证明,而不必更改单个数据源定义。

  • OracleDB for Azure Multicloud Link

    在 OCI 账户与 Azure 账户之间建立多云链接,以在 OCI 中部署 Oracle Database 服务,在 Azure 中部署应用程序。要执行基本的数据库和基础设施管理任务,您可以使用 OracleDB for Azure 门户,该门户是具有类似 Azure 的用户体验的 OCI 界面。在 Azure 门户中,您可以查看数据库度量和事件。度量显示在 Azure Application Insights 中,而事件显示在 Azure Log Analytics 中。

  • OracleDB for Azure 网络链接

    使用 Oracle Interconnect for Microsoft Azure 创建网络链路,这是一种高性能、低延迟、低抖动的专用隧道连接,用于连接 OCI 和 Azure 之间的网络流量。Oracle 与 Azure 合作,在世界各地指定的一组 OCI 区域中提供此连接。当您注册 Azure 的 OracleDB 时,该服务会在账户链接过程中配置与数据库资源的专用连接。

  • Azure VNet

    Azure Virtual Network (VNet) 是 Azure 中专用网络的基本构建块。VNet 支持多种类型的 Azure 资源,例如 Azure 虚拟机 (VM),以安全地相互通信、互联网和内部部署网络。

部署拓扑的注意事项

在为 Azure DR 拓扑配置 OracleDB 之前,请收集设置备用数据库所需的信息。要设置此数据库,需要执行以下操作:

  1. 确定要创建的虚拟云网络 (VCN) 的大小和 CIDR 块,以及 OCI 中主和备用数据库 VCN 的 DNS 标签。请参阅允许的 VCN 大小和地址范围
  2. 确定要创建的虚拟网络 (VNet) 的大小和 CIDR 块,以及 Azure 中主数据库和备用数据库的 VNet 的 DNS 标签。
  3. 确定要用于 Azure VM 和 VM DB 系统的计算配置。
  4. 验证租户的服务限制是否可以容纳要创建的所有资源。
  5. 确定 DB VM 系统显示主数据库和备用数据库的名称。
  6. 确定主数据库和备用数据库的数据库唯一名称。
  7. 确保在 OracleDB 中为 Azure 预配的两个数据库的名称相同。
  8. 获取数据库的数据库管理员密码。
  9. 保存公共 SSH 密钥的路径。
  10. 保存指向私有 SSH 密钥的路径。

了解角色和服务

以下是此解决方案所需的服务及其关联角色:

满足部署先决条件

在尝试此手册中的步骤之前,您需要满足以下先决条件。

注意:

本手册末尾的“浏览更多”主题中提供了指向以下资源的链接。
  • 由于此手册中的方案特定于 ODSA,因此您需要注册 Oracle Database for Azure Portal。

    有关说明,请参阅“注册 Oracle Database Service for Azure”。

  • 在区域 1 和区域 2 中创建 Azure VNet 和虚拟机,然后通过允许/将所需的 IP/端口从 VNet 中列入白名单来安全连接。有关更多信息,请参见以下 Azure 文档:
    • 虚拟网络文档
    • Azure 中的虚拟机
    • Azure 上的 Linux
  • 在 Oracle Database Service for Azure 中创建基本数据库系统。使用相同的数据库名称和实例名称创建两个数据库。为两个数据库选择相同的数据库版本和版本。
    • 从 Oracle Database Service for Azure 在区域 1(例如 UK South)中创建数据库,该区域将是主数据库。
    • 从 Oracle Database Service for Azure 在区域 2(例如,Europe West)中创建数据库,这是备用数据库。
    确保两个数据库都从 Azure 端与相应的 VNet 链接。
  • 请参阅文档,了解在 Oracle Database Service for Azure 中创建数据库系统的必要步骤,具体取决于您的要求。有关详细信息,请参阅“预配基本数据库”。
  • 由于 Oracle DataGuard 是此解决方案的关键组件,因此您应该具有一定的经验。