在 Oracle Database@Azure 上使用多区域备用数据库实施灾难恢复
多年来,企业一直依靠 Oracle Exadata Database Service (这是 Oracle 先进的灾难恢复技术)来支持关键任务应用,无论是本地部署还是 Oracle Cloud Infrastructure (OCI)。Oracle Database@Azure 上的 Oracle Exadata Database Service on Dedicated Infrastructure 与 OCI 上的 Exadata 性能、功能集和价格均等。它利用 Microsoft Azure 的可用性区域 (AZ) 和区域,在无与伦比的高可用性和灾难恢复功能的基础上为 Azure 应用提供低延迟,从而确保在维护期间以及在发生中断时无缝运行。
体系结构
此架构使用两个远程备用数据库在多区域灾难恢复拓扑中显示 Oracle Database@Azure 上的 Oracle Exadata Database Service on Dedicated Infrastructure 。
下图说明了此引用体系结构。
多区域备用数据库 -azure-arch-oracle.zip
Oracle Database 在主区域中的 Exadata 虚拟机 (VM) 集群中运行。对于数据保护和灾难恢复,Oracle Active Data Guard 会将数据复制到两个不同备用区域中的 Exadata VM 集群上运行的两个备用数据库。远程备用数据库设置可确保针对区域故障提供数据保护,并且还可用于卸载只读查询处理。切换到备用数据库后,跨区域复制应用以避免更高的延迟。
您可以通过 Azure 网络路由活动数据卫士流量。但是,此架构侧重于通过 OCI 网络的活动数据卫士网络流量,以优化网络吞吐量和延迟。
Oracle Database@Azure 网络上的 Oracle Exadata Database Service on Dedicated Infrastructure 使用 Oracle 管理的动态路由网关 (DRG) 连接到 Exadata 客户端子网。还需要使用 DRG 才能在不同区域的虚拟云网络 (Virtual Cloud Network,VCN) 之间创建对等连接。由于 OCI 中的每个 VCN 只允许一个 DRG,因此需要第二个充当中心 VCN 且具有自身 DRG 的 VCN 才能连接每个区域中的主 VCN 和备用 VCN。在此架构中:
- 主 Exadata VM 集群与
CIDR 10.10.0.0/16
一起部署在VCN1
中的Region 1
中。 - 主
Region 1
中的中心 VCN 为带CIDR 10.11.0.0/16
的HubVCN1
。 - 第一个备用 Exadata VM 集群与
CIDR 10.20.0.0/16
一起部署在VCN2
中的Region 2
中。 - 第一个备用区域中的中心 VCN 为带
CIDR 10.22.0.0/16
的HubVCN2
。 - 第二个备用 Exadata VM 集群部署在
VCN3
中的Region 3
中,使用CIDR 10.30.0.0/16
。 - 第二个备用区域中的中心 VCN 为带
CIDR 10.33.0.0/16
的HubVCN3
。
集线器 VCN 无需子网即可启用传输路由,因此这些 VCN 可以使用非常小的 IP CIDR 范围。OCI 子站点上的 VCN 在为主数据库和备用数据库创建 Oracle Database@Azure 上的 Oracle Exadata Database Service on Dedicated Infrastructure VM 集群之后创建。
Microsoft Azure 提供以下组件:
- Azure 区域
Azure 区域是指一个或多个物理 Azure 数据中心(称为可用性区域)所在的地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。
Azure 和 OCI 区域是本地化的地理区域。对于 Oracle Database@Azure ,Azure 区域连接到 OCI 区域,Azure 中的可用性区域 (AZ) 连接到 OCI 中的可用性域 (AD)。选择 Azure 和 OCI 区域对以尽可能减少距离和延迟。
- Azure 可用性区域
Azure 可用性区域是 Azure 区域内的物理独立位置,旨在通过提供独立的电源、冷却和网络来确保高可用性和弹性。
- Azure 虚拟网络 (VNet)
Azure 虚拟网络 (VNet) 是 Azure 中专用网络的基本构建块。VNet 支持多种类型的 Azure 资源(例如 Azure 虚拟机 (VM))安全地相互通信、互联网和内部部署网络。
- Azure 委托子网
通过委派子网,您可以将托管服务(尤其是平台即服务 (PaaS) 服务)直接作为资源插入到虚拟网络中。您可以在虚拟网络中对外部 PaaS 服务进行完全集成管理。
- Azure Virtual Network Interface Card (VNIC)
Azure 数据中心的服务具有物理网络接口卡 (Network Interface Card,NIC)。虚拟机实例使用与物理 NIC 关联的虚拟 NIC (virtual NIC,VNIC) 进行通信。每个实例都有一个主 VNIC,在启动期间自动创建和连接,并在实例生命周期内提供。
OCI 提供以下组件:
- 区域
Oracle Cloud Infrastructure 区域是一个本地化地理区域,其中包含一个或多个数据中心,托管可用性域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。
- 可用性域
可用性域是区域中的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共用电源、冷却设施或内部可用性域网络等基础设施。因此,一个可用性域出现故障不会影响区域中的其他可用性域。
- 虚拟云网络 (VCN) 和子网
VCN 是一个可定制的软件定义网络,您可以在 Oracle Cloud Infrastructure 区域中设置。与传统的数据中心网络一样,VCN 允许您控制您的网络环境。VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 划分为子网,子网可以限定为区域或可用性域。每个子网都包含一系列不与 VCN 中的其他子网重叠的连续地址。可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。
- 路由表
虚拟路由表包含用于将流量从子网路由到 VCN 之外目的地的规则,通常是通过网关。
- 本地对等连接
通过本地对等连接,您可以在同一区域中将一个 VCN 与另一个 VCN 对等。对等连接意味着 VCN 使用专用 IP 地址进行通信,而流量不会通过互联网或内部部署网络进行路由。
- 动态路由网关 (DRG)
DRG 是虚拟路由器,用于为同一区域中的 VCN 之间、VCN 与区域外的网络(例如另一个 Oracle Cloud Infrastructure 区域中的 VCN、内部部署网络或另一个云提供商中的网络)之间的专用网络流量提供路径。
- 对象存储
通过 OCI Object Storage ,您可以访问任何内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据和丰富的内容,例如图像和视频。您可以直接从互联网或云平台安全地存储数据。您可以在不降低性能或服务可靠性的情况下扩展存储。
将标准存储用于需要快速、立即和频繁访问的“热”存储。将归档存储用于长期保留、很少访问或很少访问的“冷”存储。
- Data Guard
Oracle Data Guard 和 Oracle Active Data Guard 提供一组全面的服务,用于创建、维护、管理和监视一个或多个备用数据库,并使生产 Oracle 数据库能够在不中断的情况下保持可用。Oracle Data Guard 使用内存中复制将这些备用数据库作为生产数据库的副本进行维护。如果生产数据库由于计划内或计划外停机而变得不可用,则 Oracle Data Guard 可以将任何备用数据库切换到生产角色,从而最大限度地减少与停机关联的停机时间。Oracle Active Data Guard 提供了将以读为主的负载卸载到备用数据库的额外功能,并且还提供了高级数据保护功能。
- Oracle Database Autonomous Recovery Service
Oracle Database Autonomous Recovery Service 是一项保护 Oracle 数据库的 Oracle Cloud 服务。借助 OCI 数据库的备份自动化和增强的数据保护功能,您可以将所有备份处理和存储需求分流到 Oracle Database Autonomous Recovery Service ,从而降低备份基础设施成本和手动管理开销。
- 专用基础结构上的 Exadata 数据库服务
借助 Oracle Exadata Database Service on Dedicated Infrastructure ,您可以充分利用云端 Exadata 的强大功能。Oracle Exadata Database Service 在公有云中专门构建、优化的 Oracle Exadata 基础设施上提供经过验证的 Oracle Database 功能。为所有 Oracle Database 工作负载提供内置的云技术自动化、弹性资源扩展、安全性和快速性能,可帮助您简化管理和降低成本。
- Oracle Database@Azure
Oracle Database@Azure 是部署在 Microsoft Azure 数据中心的 Oracle Cloud Infrastructure (OCI) 上运行的 Oracle Database 服务(Oracle Exadata Database Service on Dedicated Infrastructure 和 Oracle Autonomous Database Serverless )。该服务提供与 OCI 相同的功能和价格。在 Azure Marketplace 上购买该服务。
Oracle Database@Azure 将 Oracle Exadata Database Service 、Oracle Real Application Clusters (Oracle RAC) 和 Oracle Data Guard 技术集成到 Azure 平台中。用户使用 Azure 控制台和 Azure 自动化工具管理服务。该服务部署在 Azure 虚拟网络 (VNet) 中,并与 Azure 身份和访问管理系统集成。OCI 和 Oracle Database 通用指标和审计日志在 Azure 中原生可用。该服务要求用户具有 Azure 订阅和 OCI 租户。
Autonomous Database 基于 Oracle Exadata 基础设施构建,具有自我管理、自我保护和自我修复功能,可帮助消除手动数据库管理和人为错误。Autonomous Database 支持您使用内置 AI 功能,选择大型语言模型 (LLM) 和部署位置,使用任意数据开发可扩展的 AI 应用。
Oracle Exadata Database Service 和 Oracle Autonomous Database Serverless 均可通过原生 Azure 门户轻松预配,从而访问更广泛的 Azure 生态系统。
推荐
- 使用活动数据卫士通过自动块修复、联机升级和迁移以及通过以读为主的横向扩展将工作负载卸载到备用数据库来全面防止数据损坏。
- 启用应用连续性以在最终用户的计划内和计划外事件期间屏蔽数据库中断,并确保应用不间断。
- 为 Oracle Database Autonomous Recovery Service (在 Azure 或 OCI 中)设置自动备份,即使数据受 Oracle Data Guard 保护,通过实施永久增量备份策略来尽可能减少数据库上的备份工作负载,从而消除每周的完全备份。客户也可以使用 OCI Object Storage 进行自动备份。
- 启用备用数据库备份以实现跨区域的备份复制。
- 使用 OCI Full Stack DR 编排数据库切换和故障转移操作。
- 使用 OCI Vault 使用客户管理的密钥存储数据库的透明数据加密 (Transparent Data Encryption,TDE) 密钥。
注意事项
在 Oracle Database@Azure 上为 Oracle Exadata Database Service on Dedicated Infrastructure 执行多区域灾难恢复时,请考虑以下事项。
- 在 Oracle Database@Azure 子站点中创建 Exadata VM 集群时,将在其自己的 OCI VCN 中创建每个 VM 集群。Oracle Data Guard 要求数据库相互通信以提供
redo
数据。对等 VCN 以启用此通信。因此,Exadata VM 集群 VCN 不能共享重叠的 IP CIDR 范围。 - 灾难场景的准备工作需要一种全面的方法来考虑不同的业务需求和可用性架构,并在可操作、高可用性和灾难恢复计划中包括这些注意事项。此处介绍的方案提供了一些指导原则,通过对 OCI 和 Microsoft Azure 环境中的灾难恢复配置使用简单但有效的故障转移来帮助选择最适合应用部署的方法。
- OCI 是通过延迟和吞吐量来衡量性能和降低成本(包括免费前 10 TB/每月出站)的首选网络。
- 通过 Cloud Tooling 最多可以为主数据库创建六个备用数据库。
- 使用 Cloud Tooling 不支持创建与另一个备用数据库(级联备用数据库)关联的备用数据库。
部署
按照以下步骤配置“Primary(主)”区域:
- 将以下入站规则添加到
VCN1
客户端子网的安全列表,以允许来自VCN2
和VCN3
的传入流量。无状态 源 IP 协议 源端口范围 目的地端口范围 允许 说明 无 10.20.0.0/16
TCP 1521 1521 以下端口的 TCP 流量:1521 允许从 VCN2
入站无 10.30.0.0/16
TCP 1521 1521 以下端口的 TCP 流量:1521 允许从 VCN3
入站 - 使用
CIDR 10.11.0.0/16
创建虚拟云网络HubVCN1
。 - 在虚拟云网络
HubVCN1
中创建本地对等连接网关HubLPG1
。 - 在虚拟云网络
VCN1
中创建本地对等连接网关LPG1R
。 - 在
LPG1R
和HubLPG1
之间建立本地对等连接。 - 将路由规则添加到
VCN1
客户机子网的路由表中,以将目标为VCN2
和VCN3
的流量转发到LPG1R
。目的地 目标类型 目标 路由类型 说明 10.20.0.0/16
本地对等连接网关 LPG1R
静态 流量至 VCN2
10.30.0.0/16
本地对等连接网关 LPG1R
静态 流量至 VCN3
- 在
HubVCN1
中创建路由表HubLPG1rt
。 - 将路由表
HubLPG1rt
关联到本地对等连接网关HubLPG1
。 - 创建动态路由网关
DRG1
。 - 在
HubVCN1
中创建路由表DRG1rt
。 - 将路由规则添加到路由表
DRG1rt
,以将目标为VCN1
的流量转发到HubLPG1
。目的地 目标类型 目标 路由类型 说明 10.10.0.0/16
本地对等连接网关 HubLPG1
静态 流量至 VCN1
- 要将
DRG1
附加到HubVCN1
,请执行以下操作:- 选择VCN 附加的自动生成的借项路由表。
- 选择现有路由表
DRG1rt
。 - 选择 VCN CIDR 块。
- 在
DRG1
中创建两个名为RPC1a
和RPC1b
的远程对等连接。 - 向
HubLPG1rt
添加两个路由规则,以将目标为VCN2
和VCN3
的流量转发到DRG1
。目的地 目标类型 目标 路由类型 说明 10.20.0.0/16
动态路由网关 DRG1
静态 流量至 VCN2
10.30.0.0/16
动态路由网关 DRG1
静态 流量至 VCN3
要创建第一个备用区域(区域 2),请执行以下步骤:
- 将以下入站规则添加到
VCN2
客户端子网的安全列表,以允许来自VCN1
和VCN3
的传入流量。无状态 源 IP 协议 源端口范围 目的地端口范围 允许 说明 无 10.10.0.0/16
TCP 1521 1521 以下端口的 TCP 流量:1521 允许从 VCN1
入站无 10.30.0.0/16
TCP 1521 1521 以下端口的 TCP 流量:1521 允许从 VCN3
入站 - 使用 CIDR
10.22.0.0/16
创建虚拟云网络HubVCN2
。 - 在虚拟云网络
HubVCN2
中创建本地对等连接网关HubLPG2
。 - 在虚拟云网络
VCN2
中创建本地对等连接网关LPG2R
。 - 在
LPG2R
和HubLPG2
之间建立本地对等连接。 - 将路由规则添加到
VCN2
客户端子网的路由表,以将目标为VCN1
和VCN3
的流量转发到LPG2R
。目的地 目标类型 目标 路由类型 说明 10.10.0.0/16
本地对等连接网关 LPG2R
静态 流量至 VCN1
10.30.0.0/16
本地对等连接网关 LPG2R
静态 流量至 VCN3
- 在
HubVCN2
中创建路由表HubLPG2rt
。 - 将路由表
HubLPG2rt
关联到本地对等连接网关HubLPG2
。 - 创建动态路由网关
DRG2
。 - 在
HubVCN2
中创建路由表DRG2rt
。 - 将路由规则添加到
DRG2rt
以将目标为VCN2
的流量转发到HubLPG2
。目的地 目标类型 目标 路由类型 说明 10.20.0.0/16
本地对等连接网关 HubLPG2
静态 流量至 VCN2
- 要将
DRG1
附加到HubVCN2
,请执行以下操作:- 选择VCN 附加的自动生成的借项路由表。
- 选择现有路由表
DRG2rt
。 - 选择 VCN CIDR 块。
- 在
DRG2
中创建两个名为RPC2a
和RPC2c
的远程对等连接。 - 在
RPC1a
(区域 1)和RPC2a
(区域 2)之间建立远程对等连接。 - 向
HubLPG2rt
添加两个路由规则,以将目标为VCN1
和VCN3
的流量转发到DRG2
。目的地 目标类型 目标 路由类型 说明 10.10.0.0/16
动态路由网关 DRG2
静态 流量至 VCN1
10.30.0.0/16
动态路由网关 DRG2
静态 流量至 VCN3
要创建第二个备用区域(区域 3),请执行以下步骤:
- 将以下入站规则添加到
VCN3
客户端子网的安全列表,以允许来自VCN1
和VCN2
的传入流量。无状态 源 IP 协议 源端口范围 目的地端口范围 允许 说明 无 10.10.0.0/16 TCP 1521 1521 以下端口的 TCP 流量:1521 允许从 VCN1 入站 无 10.20.0.0/16 TCP 1521 1521 以下端口的 TCP 流量:1521 允许从 VCN2 入站 - 使用
CIDR 10.33.0.0/16
创建虚拟云网络HubVCN3
。 - 在虚拟云网络
HubVCN3
中创建本地对等连接网关HubLPG3
。 - 在虚拟云网络
VCN3
中创建本地对等连接网关LPG3R
。 - 在
LPG3R
和HubLPG3
之间建立本地对等连接。 - 将路由规则添加到
VCN3
客户端子网的路由表,以将目标为VCN1
和VCN2
的流量转发到LPG3R
。目的地 目标类型 目标 路由类型 说明 10.10.0.0/16
本地对等连接网关 LPG3R
静态 流量至 VCN1
10.20.0.0/16
本地对等连接网关 LPG3R
静态 流量至 VCN2
- 在
HubVCN3
中创建路由表HubLPG3rt
。 - 将路由表
HubLPG3rt
关联到本地对等连接网关HubLPG3
。 - 创建动态路由网关
DRG3
。 - 在
HubVCN3
中创建路由表DRG3rt
。 - 将路由规则添加到
DRG3rt
以将目标为VCN3
的流量转发到HubLPG3
。目的地 目标类型 目标 路由类型 说明 10.30.0.0/16
本地对等连接网关 HubLPG3
静态 流量至 VCN3
- 要将
DRG1
附加到HubVCN3
,请执行以下操作:- 选择VCN 附加的自动生成的借项路由表。
- 选择现有路由表
DRG3rt
。 - 选择 VCN CIDR 块。
- 在
DRG3
中创建两个名为RPC3b
和RPC3c
的远程对等连接。 - 在
RPC1b
(区域 1)和RPC3b
(区域 3)之间建立远程对等连接。 - 在
RPC2c
(区域 2)和RPC3c
(区域 3)之间建立远程对等连接。 - 向
HubLPG3rt
添加两个路由规则,以将目标为VCN1
和VCN2
的流量转发到DRG3
。目的地 目标类型 目标 路由类型 说明 10.10.0.0/16
动态路由网关 DRG3
静态 流量至 VCN1
10.20.0.0/16
动态路由网关 DRG3
静态 流量至 VCN2
浏览更多
了解有关 Oracle Database@Azure 和 Oracle Data Guard 的更多信息。
- 了解适用于 Oracle Database@Azure 的 Oracle Maximum Availability Architecture
-
主要原则:使用 Oracle Database@Azure 站点为关键任务应用程序提供支持
- Oracle Exadata Database Service on Dedicated Infrastructure
查看以下其他资源: