了解如何部署 Active Data Guard 远同步
Oracle Database@Azure 支持您使用 Microsoft Azure 数据中心的 Oracle Exadata Database Service on Dedicated Infrastructure 运行关键任务 Oracle 数据库。
利用 Oracle Exadata Database Service 和 Oracle Real Application Clusters (Oracle RAC) 的内置高可用性、性能和可扩展性,同时享受 Azure 应用的低延迟。
使用托管在另一个 Exadata 虚拟机 (VM) 集群上的备用数据库扩展体系结构,从而提供灾难恢复 (DR) 防护,防止数据库和集群发生故障。将备用数据库放在不同的 Azure 可用性区域 (AZ) 中进一步增强了解决方案,从而确保了整个 AZ 故障的保护。为了实现全面的区域灾难恢复,应将备用数据库部署在单独的区域中。
通过 Oracle Data Guard ,您可以将重做同步传输到备用数据库,以确保零数据丢失。但是,当备用数据库的地理位置太远时,延迟会增加,从而影响主数据库的提交响应时间和事务处理吞吐量。Active Data Guard 远同步可以在任意距离确保零数据丢失,对主数据库性能的影响极小。轻量级实例 Far Sync 提供同步重做保护和零数据丢失故障转移,而无需同步本地备用数据库。
体系结构
此参考体系结构显示了使用 Active Data Guard 的跨区域灾难恢复。
在相应的 Oracle Cloud Infrastructure (OCI) 区域中创建两个活动数据卫士远同步实例。多伦多的主数据库以 SYNC 模式将重做数据发送到多伦多的本地远同步实例,该实例以 ASYNC 模式将重做数据转发到远程悉尼区域的备用数据库。
在角色切换后,悉尼的数据库成为主数据库,它将 SYNC 模式下的重做数据发送到悉尼的本地远同步实例,该实例将 ASYNC 模式下的重做数据转发到远程多伦多区域的备用数据库。
Oracle Database@Azure 网络上的 Oracle Exadata Database Service 使用 Oracle 管理的动态路由网关 (DRG) 连接到 Exadata 客户端子网。还需要使用 DRG 才能在不同区域的 VCN 之间创建对等连接。由于 OCI 中的每个 VCN 只允许一个 DRG,因此需要第二个具有自身 DRG 的 VCN 才能连接每个区域中的主和备用 VCN。
跨区域复制应用,以访问同一区域中的数据库,实现低延迟和高性能。
下图说明了此引用体系结构。
active-data-guard-far-sync-dba-oracle.zip
Microsoft Azure 提供以下组件:
- Azure 区域
Azure 区域是指一个或多个物理 Azure 数据中心(称为可用性区域)所在的地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。
Azure 和 OCI 区域是本地化的地理区域。对于 Oracle Database@Azure ,Azure 区域连接到 OCI 区域,Azure 中的可用性区域 (AZ) 连接到 OCI 中的可用性域 (AD)。选择 Azure 和 OCI 区域对以尽可能减少距离和延迟。
- Azure VNet
Microsoft Azure Virtual Network (VNet) 是 Azure 中专用网络的基础构建块。VNet 支持多种类型的 Azure 资源,例如 Azure 虚拟机 (VM),可以安全地相互通信,包括互联网和内部部署网络。
- Azure 委派子网
子网委派是 Microsoft 直接将托管服务(特别是平台即服务 (PaaS) 服务)注入到虚拟网络中的功能。这样,您就可以将子网指定或委派为虚拟网络内外部托管服务的主目录,从而使外部服务充当虚拟网络资源,即使它是外部 PaaS 服务也是如此。
- Azure VNIC
Azure 数据中心的服务具有物理网络接口卡 (Network Interface Card,NIC)。虚拟机实例使用与物理 NIC 关联的虚拟 NIC (virtual NIC,VNIC) 进行通信。每个实例都有一个主 VNIC,在启动期间自动创建和连接,并在实例生命周期内提供。
Oracle Cloud Infrastructure 提供以下组件:
- 区域
Oracle Cloud Infrastructure 区域是包含一个或多个数据中心(称为可用性域)的本地化地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。
- 虚拟云网络 (VCN) 和子网
VCN 是一个可定制的软件定义网络,您可以在 Oracle Cloud Infrastructure 区域中设置。与传统的数据中心网络一样,VCN 允许您控制您的网络环境。VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 划分为子网,子网可以限定为区域或可用性域。每个子网都包含一系列不与 VCN 中的其他子网重叠的连续地址。可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。
- 路由表
虚拟路由表包含用于将流量从子网路由到 VCN 之外目的地的规则,通常是通过网关。
- 安全列表
对于每个子网,可以创建安全规则来指定必须允许进出子网的通信的源、目标和类型。
- 动态路由网关 (DRG)
DRG 是虚拟路由器,用于为同一区域中的 VCN 之间、VCN 与区域外的网络(例如另一个 Oracle Cloud Infrastructure 区域中的 VCN、内部部署网络或另一个云提供商中的网络)之间的专用网络流量提供路径。
- 本地连接网关 (LPG)
通过 LPG,您可以在同一区域中将一个 VCN 与另一个 VCN 对等。对等连接意味着 VCN 使用专用 IP 地址进行通信,而流量不会通过互联网或内部部署网络进行路由。
- Data Guard
Oracle Data Guard 和 Oracle Active Data Guard 提供一组全面的服务,用于创建、维护、管理和监视一个或多个备用数据库,并使生产 Oracle 数据库能够在不中断的情况下保持可用。Oracle Data Guard 使用内存中复制将这些备用数据库作为生产数据库的副本进行维护。如果生产数据库由于计划内或计划外停机而变得不可用,则 Oracle Data Guard 可以将任何备用数据库切换到生产角色,从而最大限度地减少与停机关联的停机时间。Oracle Active Data Guard 提供了将以读为主的负载卸载到备用数据库的额外功能,并且还提供了高级数据保护功能。
- Active Data Guard 远同步
Oracle Active Data Guard 远同步是一个轻量级 Oracle 数据库实例,它从主数据库同步接收重做数据并将其异步转发到一个或多个备用数据库。它可以在任意距离确保零数据丢失,对主数据库性能的影响极小,无需本地同步备用数据库。
- 专用基础结构上的 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 Data Guard 重做传输将以 ASYNC 模式直接发送到备用数据库,从而影响零数据丢失保护,并且根据配置和距离,这可能会导致传输滞后进一步影响 RPO。
- 由于远同步实例的存储性能至关重要,因此 IOPS 容量应该足以支持负载。远同步实例的存储的 IOPS 性能应等于或优于主数据库的联机重做日志存储。
- 对于在 Oracle Database@Azure 上 Exadata VM 集群中通过 OCI 托管网络预配的数据库,跨区域使用 Oracle Data Guard 。
跨区域灾难恢复的注意事项
在 Oracle Database@Azure 上为 Oracle Exadata Database Service 执行跨区域灾难恢复时,请考虑以下事项。
- 由于前 10 TB/每月免费,Oracle Cloud Infrastructure 是通过延迟和吞吐量来提高性能并降低成本的首选网络。
- 远同步是一个轻量级实例。但是,就同步而言,磁盘性能至关重要,因为在确认回主数据库之前,同步会将接收的重做写入磁盘,这可能会影响应用程序性能。
- 远同步实例的网络性能对于负载繁重至关重要。
- 对于多个备用数据库和远同步实例,配置可能会变得更加复杂。使用 Active Data Guard 中介 RedoRoutes 属性可以简化重做如何传输到各个目标的定义。
- 使用远同步需要使用 Active Data Guard 选项。