使用分阶段策略将业务关键型应用迁移到 Oracle Database@Azure
将内部部署数据库和应用迁移到云,通过分阶段或混合策略尽可能减少停机时间,确保基于云的应用与内部部署数据库的无缝连接。结构良好的计划可加快数据中心出口、降低风险并保持可靠性。混合型双相方法可实现平稳过渡,同时保持稳定性。
将内部部署数据库和应用迁移到云时,必须解决几个难题,确保无缝迁移。选择可最大限度减少停机时间的迁移策略,例如分阶段迁移或混合云解决方案,以保持应用正常运行时间,尤其是关键业务负载。确保在迁移计划中也考虑已连接到内部部署数据库的云端应用,以避免连接问题。对于应用程序位于云中但数据库位于本地的 SaaS 应用程序,请确保包含这两个组件的全面策略。主动应对这些挑战,以确保顺利过渡并保持关键业务应用的可靠性。结构良好的策略还可以帮助您加快数据中心出口并降低迁移风险,从而确保关键业务应用的可靠性。
Oracle Database@Azure 使数据库更接近 Microsoft Azure 中的应用工作负载,从而消除对本地 Exadata 或 Oracle Real Application Clusters (Oracle RAC) 的依赖。通过此集成,数据库和应用可以托管在同一数据中心,从而减少延迟并尽可能减少对物理基础设施的依赖。
实施此设置通常需要精心设计的解决方案来建立目标架构,而不会中断关键业务运营。许多关键任务工作负载部署在多个区域,通过灾难恢复或备用环境确保业务连续性。这种方法支持混合双阶段迁移策略,在保持运营稳定的同时实现无缝转换。
使用须知
开始之前,请确保考虑以下事项:
- 在 Oracle Data Guard 中禁用快速启动故障转移,以确保在迁移期间主区域和备用区域之间平稳、受控地进行转换。
- OCI Database Migration 为联机和脱机用例(例如 ZDM 和 OCI Migration)提供经过验证、跨版本、容错和增量式 Oracle Database 和 MySQL 迁移。
- 此参考架构遵循主动备用配置中的 Oracle Gold Maximum Availability Architecture (MAA) 模型,并通过跨区域部署来增强弹性。此参考体系结构可以扩展为使用 MAA 白金,通过在可用性区域之间使用 Oracle Data Guard 同步复制实现本地高可用性,同时通过异步复制实现跨区域灾难恢复。
体系结构
此架构概述了将本地部署 Oracle Database 迁移到 Oracle Exadata Database Service (位于 Oracle Database@Azure )的分阶段方法,尽可能减少停机时间。
为了简化这一战略,我们将其分为三个关键方面:当前状态、未来状态和迁移阶段。
数字 | 组件 | 说明 |
---|---|---|
1 | 本地主数据中心 | 在迁移之前将数据库和应用程序作为主系统托管。 |
2 | 内部部署备用数据中心 | 维护备用系统,复制内部部署主数据库。 |
3 | Azure 主要区域 | 在 Oracle Database@Azure 上运行应用程序和数据库,成为迁移后的主要系统。 |
4 | Azure 备用区域 | 使用 Oracle Data Guard 复制主区域的灾难恢复站点。 |
当前状态
在现有设置中,主数据中心 (1) 和备用数据中心 (2) 都托管在本地,支持应用负载和数据库。主数据中心处理所有请求,而备用数据中心使用 Oracle Data Guard 维护异步复制。这可确保高可用性,备用系统可在发生意外故障时进行故障转移。
将来状态
未来的架构反映了当前设置,但完全托管在云中,跨越两个 Azure 区域:主区域 (3) 和备用区域 (4)。数据库将迁移到 Oracle Database@Azure Exadata 服务,并通过 Oracle Cloud Infrastructure (OCI) 网络在通过 Oracle Data Guard 管理的主数据库与备用数据库之间进行异步复制。
为了在内部部署数据中心与 Azure 之间建立安全连接,Azure 防火墙部署在 Azure 的安全虚拟 WAN (vWAN) 中心内。
迁移阶段
迁移采用两阶段方法,以确保可控和可靠的过渡。
第 1 阶段—将内部部署备用数据库转换为 Azure 并切换
在此阶段,本地备用系统 (2) 将迁移到 Azure (3)。完成后,将交换主 (1) 和备用 (3) 角色,使 Azure 成为新的主区域。
- 使用 Azure ExpressRoute 在内部部署与 Azure 之间建立连接。
- 为安全性配置 Azure 安全中心、Azure 防火墙和 vWAN(如果尚未到位)。
- 在 Azure 的主区域中预配 Oracle Exadata Cloud Infrastructure ,然后:
- 设置 Oracle Exadata 虚拟机 (VM) 集群并创建目标数据库。
- 在主数据库上启用归档日志和强制日志记录(如果尚未启用)。
- 为监听程序配置 Oracle Net,为搜索配置 TNS 名称。
- 从服务还原以在 Azure 的主区域中设置备用数据库 (3)。
- 执行切换,使 Azure 数据库 (3) 成为新的主数据库。
- 将应用程序迁移到 Azure 主区域 (3) 并更新 DNS 路由。
- 验证 Data Guard 配置并监视复制状态。
第 2 阶段—在 Azure 中建立备用数据库并停用本地部署
在此阶段,在 Azure 中设置备用系统 (4),并停用内部部署资源(1 和 2)。
- 使用 Oracle Database@Azure 在备用区域 (4) 中预配 Oracle Exadata Cloud Infrastructure 。
- 设置 Oracle Exadata VM 集群并创建备用数据库。
- 启用 Oracle Data Guard 以将主区域数据库 (3) 与备用数据库 (4) 关联。
- 使用 OCI 网络进行高吞吐量复制,并利用主数据库和备用数据库之间的集线器和辐照拓扑中的本地和远程对等连接。
- 将应用程序工作负载迁移到 Azure 备用区域 (4)。
- 停止与内部部署资源的同步,然后从主 (1) 和备用 (2) 数据中心停用内部部署应用和数据库资源。
下图说明了此引用体系结构。
Microsoft Azure 提供以下组件:
- Azure 区域
Azure 区域是指一个或多个物理 Azure 数据中心(称为可用性区域)所在的地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。
Azure 和 OCI 区域是本地化的地理区域。对于 Oracle Database@Azure ,Azure 区域连接到 OCI 区域,Azure 中的可用性区域 (AZ) 连接到 OCI 中的可用性域 (AD)。选择 Azure 和 OCI 区域对以尽可能减少距离和延迟。
- Azure 可用性区域
Azure 可用性区域是 Azure 区域内的物理独立位置,旨在通过提供独立的电源、冷却和网络来确保高可用性和弹性。
- 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,在启动期间自动创建和连接,并在实例生命周期内提供。
- Azure 虚拟网络网关
Azure Virtual Network Gateway 在 Azure 虚拟网络和内部部署网络之间建立安全的跨内部部署连接。它允许您创建跨数据中心和 Azure 的混合网络。
- Azure 虚拟 WAN
Microsoft Azure Virtual WAN (VWAN) 是一种网络服务,将许多网络、安全性和路由功能结合在一起,提供单一运营接口。
- Azure 安全中心
Azure 安全中心(也称为安全虚拟中心)是 Azure Virtual WAN Hub,由 Azure Firewall Manager 管理的安全和路由策略增强。它通过集成原生安全服务来实现流量治理和保护,简化了集线器和辐照网络架构的创建。此设置可自动执行流量路由,无需使用用户定义的路由 (UDR)。组织可以使用安全中心来过滤和保护虚拟网络、分支机构和互联网之间的流量,从而确保强大的安全性和简化的网络管理。
- Azure 防火墙管理器
Azure Firewall Manager 是一项集中式安全管理服务,可简化跨多个区域和订阅的 Azure Firewall 部署和配置。它允许分层策略管理,使全局和本地防火墙策略能够一致地应用。当与 Azure Virtual WAN (vWAN) 和安全集线器集成时,Azure Firewall Manager 通过自动进行流量路由和过滤而无需用户定义路由 (UDR) 来增强安全性。此集成可确保虚拟网络、分支机构和互联网之间的流量得到安全管理和监视,从而提供强大而简化的网络安全解决方案。
- Azure ExpressRoute
Azure ExpressRoute 是一项服务,支持在本地数据中心与 Microsoft Azure 之间建立专用连接,绕过公共互联网。这样可以实现更高的安全性、可靠性和更快的速度,并实现一致的延迟。可以使用各种方法(例如点对点以太网、任意对点 (any-to-any,IP VPN) 或虚拟交叉连接)通过连接提供商建立 ExpressRoute 连接。与内部部署数据中心集成时,ExpressRoute 允许将网络无缝扩展到云中,从而通过增强的性能和安全性促进混合云方案、灾难恢复和数据迁移。
Oracle Cloud Infrastructure 提供以下组件:
- 区域
Oracle Cloud Infrastructure 区域是一个本地化地理区域,其中包含一个或多个数据中心,托管可用性域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。
- 可用性域
可用性域是区域中的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共用电源、冷却设施或内部可用性域网络等基础设施。因此,一个可用性域出现故障不会影响区域中的其他可用性域。
- 虚拟云网络 (VCN) 和子网
VCN 是一个可定制的软件定义网络,您可以在 Oracle Cloud Infrastructure 区域中设置。与传统的数据中心网络一样,VCN 允许您控制您的网络环境。VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 划分为子网,子网可以限定为区域或可用性域。每个子网都包含一系列不与 VCN 中的其他子网重叠的连续地址。可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。
- 路由表
虚拟路由表包含用于将流量从子网路由到 VCN 之外目的地的规则,通常是通过网关。
- 安全列表
对于每个子网,可以创建安全规则来指定允许传入和传出子网的通信的源、目标和类型。
- 网络安全组 (NSG)
NSG 充当云资源的虚拟防火墙。借助 Oracle Cloud Infrastructure 的零信任安全模型,您可以控制 VCN 内的网络流量。NSG 由一组入站和出站安全规则组成,这些规则仅适用于单个 VCN 中的一组指定的 VNIC。
- Oracle Database Autonomous Recovery Service
Oracle Database Autonomous Recovery Service 是一项保护 Oracle 数据库的 Oracle Cloud 服务。借助 OCI 数据库的备份自动化和增强的数据保护功能,您可以将所有备份处理和存储需求分流到 Oracle Database Autonomous Recovery Service ,从而降低备份基础设施成本和手动管理开销。
- Exadata 数据库服务
使您能够利用云端 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 生态系统。
- Data Guard
Oracle Data Guard 和 Oracle Active Data Guard 提供一组全面的服务,用于创建、维护、管理和监视一个或多个备用数据库,并使生产 Oracle 数据库能够在不中断的情况下保持可用。Oracle Data Guard 使用内存中复制将这些备用数据库作为生产数据库的副本进行维护。如果生产数据库由于计划内或计划外停机而变得不可用,则 Oracle Data Guard 可以将任何备用数据库切换到生产角色,从而最大限度地减少与停机关联的停机时间。Oracle Active Data Guard 提供了将以读为主的负载卸载到备用数据库的额外功能,并且还提供了高级数据保护功能。
- 本地对等连接
通过本地对等连接,您可以在同一区域中将一个 VCN 与另一个 VCN 对等。对等连接意味着 VCN 使用专用 IP 地址进行通信,而流量不会通过互联网或内部部署网络进行路由。
- 远程对等连接
远程对等连接允许不同 VCN 中的资源使用专用 IP 地址进行通信。对于需要与不同区域中的其他 VCN 通信的实例,使用远程对等连接无需互联网网关或公共 IP 地址。
- Hub 虚拟云网络
中心虚拟云网络 (Hub Virtual Cloud Network,VCN) 用作在同一区域和不同区域中的多个 VCN 之间管理和路由流量的一个中心点。通过使用本地对等连接网关 (LPG),中心 VCN 可以连接到同一区域中的多个分支 VCN,从而实现高效通信和集中管理。对于跨区域连接,使用远程对等连接组 (remote peering group,RPG),其中每个 VCN 连接到动态路由网关 (Dynamic Routing Gateway,DRG),并建立远程对等连接 (Remote peering connections,RPC)。此设置对于路由 Oracle Data Guard 流量特别有用,可以确保重做日志和其他同步数据有效地从一个区域中的主数据库传输到另一个区域中的备用数据库,从而保持数据一致性和高可用性。
内部部署系统具有以下组件:
- 主数据中心
本地数据中心托管应用和 Oracle 数据库是业务运营的主要站点,可确保高性能和数据可用性。为了增强灾难恢复和业务连续性,此主数据中心与备用数据中心(通常位于不同的地理区域)相关联。备用数据中心使用 Oracle Data Guard 维护 Oracle 数据库的同步副本,该副本持续将更改从主数据库复制到备用数据库。在主站点发生故障或灾难时,备用数据中心可以快速接管,从而最大限度地减少停机时间和数据丢失,从而确保业务运营不间断。
- 备用数据中心
备用数据中心是灾难恢复战略的关键组成部分,旨在确保在意外情况下的业务连续性。它托管主应用程序和 Oracle Database 的副本,并通过 Oracle Data Guard 等技术保持同步。如果主数据中心发生故障或灾难,备用数据中心可以无缝接管运营,从而尽可能减少停机时间和数据丢失。此设置可确保业务流程继续顺利运行,提供抵御中断的能力,并保持用户和客户的服务可用性。
- 数据库
托管在内部部署数据中心中的 Oracle 数据库在存储和管理业务数据方面发挥着至关重要的作用。它提供了一个安全、高性能的环境来处理关键业务运营,确保数据完整性和可用性。通过此设置,组织可以全面控制其数据基础设施,定制配置以满足特定需求,并遵守法规要求。通过利用 Oracle 强大的数据库功能,企业可以高效地处理事务处理、生成报告并支持决策流程。
- 应用程序
在基于 Oracle 数据库的内部部署数据中心运行的应用是业务运营不可或缺的一部分。这些应用利用强大而可靠的 Oracle 数据库来处理事务处理、管理客户数据并生成关键业务洞察。通过在安全、可控的环境中运行,它们可以确保高性能、数据完整性和符合法规标准。通过这种设置,企业可以定制其基础设施以满足特定需求,为日常运营和战略决策奠定稳定的基础。
推荐
性能
强烈建议使用 OCI 网络进行灾难恢复 (Disaster Recovery,DR) 复制。OCI 的高性能网络基础设施可确保低延迟、高带宽连接,这对主数据库和备用数据库之间的高效数据复制和同步至关重要。借助 OCI Networking for Oracle Data Guard 和 Oracle Database@Azure ,在性能、安全性和可靠性方面具有显著优势。
通过此设置,可以快速安全地传输重做日志和关键数据,从而最大限度地减少故障转移期间的数据丢失和停机,从而增强 DR。此外,OCI 的内置安全功能(包括网络加密和高级访问控制)可为敏感数据提供强大的保护。
通过将 OCI 网络与 Oracle Database@Azure 集成,企业可以实现无缝、弹性、高可用性的数据库架构,从而提高业务连续性和运营效率。
注意事项
部署此引用体系结构时,请考虑以下几点。
- 业务连续性
将 Oracle Database Autonomous Recovery Service 与 Oracle Data Guard 集成可为主数据库和备用数据库设置创建全面、弹性的数据保护策略。Oracle Data Guard 通过维护可在主数据库发生故障时接管的同步备用数据库来确保高可用性和灾难恢复,从而尽可能减少停机时间和数据丢失。
作为补充,Oracle Database Autonomous Recovery Service 提供了一个完全托管的集中式备份解决方案,具有零数据丢失保护和实时恢复功能。这种组合通过实时复制和强大的备份机制确保持续的数据保护,从而增强数据完整性和业务连续性。
- 可用性
在区域内的不同可用性区域 (AZ) 中部署多个 Oracle Database 实例以及活动数据卫士可显著提高高可用性和灾难恢复功能。AZ 彼此隔离,确保一个 AZ 中的故障不会影响其他 AZ。通过在多个 AZ 中分配数据库实例,组织可以降低与本地化故障(例如断电或硬件问题)相关的风险。
活动数据卫士通过维护主数据库的实时同步副本来进一步加强此设置,从而在主实例发生故障时实现无缝故障转移。这种方法可确保持续的数据保护、最短的停机时间以及强大的灾难恢复策略,为关键任务应用提供弹性基础设施。
- 吞吐量
将数据库从内部部署迁移到 Azure 时,务必考虑 Azure ExpressRoute 的带宽,以确保顺利、高效地传输。例如,如果您迁移的是 100 GB 的小型数据库,则 200 Mbps ExpressRoute 线路可以在大约 1 小时 10 分钟内处理传输,前提是条件最佳且无开销。但是,对于 1 TB 的较大数据库,相同的 200 Mbps 线路大约需要 11 小时 40 分钟。升级到 1 Gbps 线路将显著缩短这一时间,达到大约 2 小时 20 分钟。相应地制定计划,以避免占用整个带宽;否则,内部部署与云之间通信的其他应用可能会受到影响。
浏览更多
要了解有关 Oracle Database 和相关工具的更多信息,请参阅以下资源。
请查看以下部署资源以实施此参考体系结构:
- Terraform:Oracle Cloud Infrastructure 提供程序
- Oracle Cloud Infrastructure Ansible 集合 5.4.0
- Oracle Cloud Infrastructure 文档中的命令行界面 (CLI)
- Terraform:Azure 提供程序
- Azure 命令行界面 (CLI) 文档
- Oracle Cloud Infrastructure 文档中的 API 参考和端点
- Azure REST API 参考
- Oracle Cloud 门户
- Azure 门户
查看以下其他资源:
- 使用 Oracle Zero Downtime Migration 迁移到 Oracle Database@Azure
- 适用于 Oracle Database@Azure 的 OCI 体系框架 (GitHub)
- 使用 Oracle Database@Azure 实施 Oracle Database Autonomous Recovery Service
- 在 Oracle Database@Azure 上对 Exadata 数据库执行跨区域灾难恢复
- 使用 Terraform 或 OpenTofu 模块快速启动 Oracle Database@Azure
- 了解适用于 Oracle Database@Azure 的 Oracle Maximum Availability Architecture
- 高可用性概述和优秀实践中的 MAA 对多云解决方案的评估
- Oracle Cloud Infrastructure 文档
- Oracle Cloud Infrastructure 的体系结构完善的框架
- Oracle Cloud 成本估算器