了解 Oracle Data Guard 快速启动故障转移
您可以获得 Oracle Exadata Database Machine 和 Oracle Real Application Clusters (Oracle RAC) 的内置高可用性、性能和可扩展性,并实现基于 Azure 的应用的低延迟。
通过位于其他可用性区域或区域的备用数据库扩展解决方案,可以为数据中心和区域中断提供数据保护和灾难恢复。
Data Guard 将数据同步传输到备用数据库,确保零数据丢失。通过快速启动故障转移,中介可以在不执行手动故障转移步骤的情况下自动将目标备用数据库故障转移到主角色。
观察程序站点监视快速启动故障转移环境。观察程序是单独的客户端组件,它在与主数据库和备用数据库不同的计算 VM 上运行并监视主数据库可用性。
快速启动故障转移通过可配置的恢复时间目标 (Recovery Time Objective,RTO) 提供更快的故障转移,在同步模式下实现零数据丢失,在异步模式下实现有界恢复点目标 (Recovery Point Objective,RPO)。
在此解决方案手册中,您将了解如何使用 Oracle Exadata Database Service on Exascale Infrastructure 配置和部署 Data Guard 并跨 Oracle AI Database@Azure 可用性区域启用快速启动故障转移。同样的解决方案也适用于 Oracle Exadata Database Service on Dedicated Infrastructure 。
使用须知
开始之前,请确保符合以下要求:
- E 级 (Exascale) VM 集群部署在不同的 Azure 可用性区域中。
- Oracle AI Database 26ai 在主可用性区域中创建。
- 主 E 级 (Exascale) VM 集群和备用 VM 集群的网络 IP CIDR 范围不重叠。
查看以下解决方法:
接下来,必须在 Azure 中预配计算 VM 以托管观察程序,最好位于与主数据库和备用数据库不同的可用性区域中。观察程序可以作为连接到主数据库和备用数据库的 Oracle 客户机在轻量级 VM 上运行。
体系结构
以下体系结构显示跨区域 Data Guard ,观察程序在不同的可用性区域中运行:
跨区域 -dg-oracledb-azure-oracle.zip
您可以通过 Oracle Cloud Infrastructure (OCI) 或 Azure 网络路由 Data Guard 流量。此体系结构指示 Data Guard 网络流量通过 Azure 网络,以将所有数据保存在 Azure 平台中。OCI 站点上的 VCN 在为主数据库和备用数据库创建 Oracle AI Database@Azure 上的 Oracle Exadata Database Service on Exascale Infrastructure VM 集群后创建。
在此体系结构中:
- 主 E 级 (Exascale) VM 集群部署在
VNet1中的主可用性区域中,并具有 CIDR10.10.0.0/16和委派子网 CIDR10.10.1.0/24。 - 备用 E 级 (Exascale) VM 集群部署在
VNet2的备用可用性区域中,其中包含 CIDR10.20.0.0/16和委派子网 CIDR10.20.1.0/24。 - 观察程序部署在
VNet3中,带有 CIDR10.30.0.0/16和子网 CIDR10.30.1.0/24。 VNet1与VNet2对等连接,允许 Data Guard 流量在主数据库和备用数据库之间流动。VNet3与VNet1和VNet2对等连接,使观察程序能够连接到两个数据库。
此体系结构包含以下组件:
- Azure 区域
Azure 区域是指一个或多个物理 Azure 数据中心(称为可用性区域)所在的地理区域。区域独立于其他区域,并且很远的距离可以将它们分开(跨越国家甚至大洲)。
Azure 和 OCI 区域是本地化的地理区域。对于 Oracle AI Database@Azure ,一个 Azure 区域连接到 OCI 区域,而 Azure 中的可用性区域 (AZ) 连接到 OCI 中的可用性域 (AD)。选择了 Azure 和 OCI 区域对,以最大限度地减少距离和延迟。
- Azure 可用性域
Azure 可用性域或可用性集是虚拟机的逻辑分组。
- Azure 虚拟网络和子网
使用 Azure 虚拟网络 ( VNet ),可以将 Azure 资源部署到您定义的专用、逻辑隔离的网络中。此网络类似于传统的本地部署网络,同时受益于 Azure 可扩展、高可用性的云基础设施。创建 VNet 后,您可以将其细分到一个或多个子网中,以组织和控制工作负载的网络流量。
- Azure 委托子网
委派子网是保留并委派给 Oracle AI Database@Azure 服务的 VNet 子网,允许 Oracle 在专用网络 IP 空间中部署和管理所需的数据库资源。
- Azure 虚拟网络接口卡 (Virtual Network Interface Card,VNIC)
Azure 数据中心的服务具有物理网络接口卡 (Network Interface Card,NIC)。虚拟机实例使用与物理 NIC 关联的虚拟 NIC (virtual NIC,VNIC) 进行通信。每个实例都有一个主要 VNIC,它将在启动期间自动创建和附加,并在实例的有效期内可用。
- Microsoft Azure 计算 VM
Azure 虚拟机 (Virtual Machines,VM) 提供可按需扩展的计算资源,供您像物理服务器或桌面一样使用。需要对操作系统和软件环境进行完全控制时,请使用 VM。
VM 无需管理物理硬件,但您仍然可以配置、修补和管理在其上运行的软件。它们支持定制和传统工作负载。
- OCI 地区
OCI 区域是一个本地化的地理区域,其中包含一个或多个托管可用性域的数据中心。区域独立于其他区域,并且很远的距离可以将它们分开(跨越国家甚至大洲)。
- 可用性域
可用性域是区域中独立的数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共用基础设施(例如电源或冷却设备)或内部可用性域网络。因此,一个可用性域出现故障不会影响该区域中的其他可用性域。
- OCI 虚拟云网络和子网
虚拟云网络 (VCN) 是您可以在 OCI 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 允许您控制网络环境。一个 VCN 可以具有多个不重叠的无类域间路由 (classless inter-domain routing,CIDR) 块,在创建 VCN 后可以更改这些块。您可以将 VCN 细分为多个子网,这些子网可以限定为某个区域或某个可用性域。每个子网由一系列不与 VCN 中的其他子网重叠的连续地址组成。您可以在创建子网后更改子网的大小。子网可以是公共子网,也可以是专用子网。
- 网络安全组 (NSG)
NSG 充当云资源的虚拟防火墙。借助 OCI 的零信任安全模型,您可以控制 VCN 内的网络流量。NSG 由一组入站和出站安全规则组成,这些规则仅应用于单个 VCN 中指定的一组虚拟网络接口卡 (virtual network interface card,VNIC)。
- Oracle Data Guard
Oracle Data Guard 和 Active Data Guard 提供了一组全面的服务,可创建、维护、管理和监视一个或多个备用数据库,并使生产 Oracle 数据库在不中断的情况下保持可用。Oracle Data Guard 使用内存中复制将这些备用数据库作为生产数据库的副本进行维护。如果生产数据库因计划内或计划外停机而变得不可用,则 Oracle Data Guard 可以将任何备用数据库切换到生产角色,从而最大限度地减少与停机关联的停机时间。Oracle Active Data Guard 提供了将读写工作负载卸载到备用数据库的额外功能,还提供了高级数据保护功能。
- Oracle AI Database@Azure
Oracle AI Database@Azure 是基于 OCI 运行的 Oracle Database 服务(Oracle Exadata Database Service on Dedicated Infrastructure 和 Oracle Autonomous AI Database Serverless ),该服务部署在 Microsoft Azure 数据中心。该服务提供与 OCI 相同的功能和价格。在 Azure Marketplace 上购买该服务。
Oracle AI Database@Azure 将 Oracle Exadata Database Service 、Oracle Real Application Clusters (Oracle RAC) 和 Oracle Data Guard 技术集成到 Azure 平台中。用户通过 Azure 控制台和 Azure 自动化工具管理服务。该服务部署在 Azure 虚拟网络 (VNet) 中,并与 Azure 身份和访问管理系统集成。OCI 和 Oracle AI Database 通用指标和审计日志在 Azure 中原生可用。该服务要求用户拥有 Azure 订阅和 OCI 租户。
自治 AI 数据库基于 Oracle Exadata 基础设施构建,具有自我管理、自我保护和自我修复功能,有助于消除手动数据库管理和人为错误。Autonomous AI Database 支持您使用内置 AI 功能开发基于 AI 的可扩展应用,并使用您选择的大语言模型 (LLM) 和部署位置来处理任何数据。
Oracle Exadata Database Service 和 Oracle Autonomous AI Database Serverless 均可通过原生 Azure Portal 轻松预配,从而访问更广泛的 Azure 生态系统。
推荐
您的要求可能与此处描述的体系结构不同。
- 将观察程序放置在单独的第三个站点上的主机上。这可确保如果主站点或备用站点完全发生故障,观察程序将保持活动状态以协调故障转移或监视其余站点。
- 如果没有第三个站点可用,请将观察程序放在主站点。
- 在不同的服务器上配置多个观察器以实现高可用性。虽然只有一个观察员可以作为主要观察员,但其他观察员可以作为备用观察员。
- 按照 Oracle 文档设置快速启动故障转移配置属性的值,例如 Fast-Start Failover 属性,例如
FastStartFailoverThreshold、FastStartFailoverLagLimit和FastStartFailoverAutoReinstate。 - 始终使用与 Data Guard 配置中的 Oracle AI Database 主目录相同的主发行版和修补程序级别(包括发行版更新 [RU])运行 Data Guard 中介观察程序。此组合可获得最彻底的测试,并最大限度地降低运营风险。它还确保任何影响客户端(服务器)和服务器端(数据库)代码的修复程序都随时到位。观察程序和数据库之间最多允许有一个主要的长期支持发行版 (LTS),主要是为了促进滚动升级并最大限度地减少停机时间。例如,在升级过程中,观察程序位于 26ai,数据库位于 19c,反之亦然。
注意事项
- 切勿将观察程序放在与备用数据库相同的站点上。如果备用站点关闭,则主站点也会关闭,因为它无法与观察程序通信,从而导致完全中断
- 观察程序可以在轻量级 VM 上运行。但是,与主数据库和备用数据库的网络连接稳定性对于确保正常运行并避免不必要的故障转移至关重要。
- 配置 Data Guard 最大可用性模式以确保零数据丢失。如果您更关注主数据库的性能而不是数据丢失最少的情况,请考虑在配置保护模式设置为最高性能时启用快速启动故障转移。
-
故障转移时间取决于目标备用数据库是否已应用它从主数据库接收的所有重做数据。当您采取措施优化恢复时,快速启动故障转移速度会更快,以便将重做数据应用到备用数据库时,可以及时了解主数据库的重做应用速率。请参阅 Data Guard 的 Broker Concepts 文档中的 Performance Considerations for Fast-Start Failover 部分。
- 故障转移时间取决于备用数据库中的重做应用状态。
关于必需的服务和角色
此解决方案需要以下服务和角色:
- Oracle Exadata Database Service on Exascale Infrastructure
- Oracle Cloud Infrastructure 网络
这些是每项服务所需的角色。
| 服务名称:角色 | 必需 ... |
|---|---|
OCI 数据库:manage database-family |
创建 Data Guard 备用数据库 |
OCI 网络:manage vcn-family |
在 OCI 中管理网络安全组 |
观看 Oracle 产品、解决方案和服务,了解您的需求。
