通过 Oracle Zero Downtime Migration 迁移到 Oracle Database@Azure

Oracle Database@Azure 支持您在 Microsoft Azure 数据中心的 Oracle Exadata Database Service on Dedicated Infrastructure 上运行关键任务 Oracle 数据库。

充分利用 Oracle Exadata Database ServiceOracle Real Application Clusters (Oracle RAC) 提供的内置高可用性、性能和可扩展性,同时利用 Azure 应用的低延迟优势。

数据库迁移到云通常是一个与业务停机时间相关的手动流程。Oracle Zero Downtime Migration 默认采用 Oracle Maximum Availability Architecture (Oracle MAA) 优秀实践,支持车队迁移,并免费提供其他优势,从而简化和自动化 Oracle 数据库迁移,实现零停机到最小停机时间。

自 2019 年发布以来,Oracle Zero Downtime Migration 一直是全球客户值得信赖的迁移工具,可帮助客户将 Oracle 数据库迁移到本地 Oracle Exadata 机器、Oracle Exadata Database Service on Cloud@CustomerOracle Cloud Infrastructure (OCI)。请参阅“了解更多”,了解有关 Oracle Zero Downtime Migration 的更多信息。

体系结构

此参考架构介绍了 Oracle Database 从本地部署迁移到 Oracle Exadata Database Service on Dedicated InfrastructureOracle Database@Azure ,它使用基于 Oracle Data Guard 的物理联机迁移工作流和直接数据传输,在将数据库迁移到 Oracle Database@Azure 期间提供简单、自动化和业务连续性。

Oracle Zero Downtime Migration 服务主机安装在源数据库旁边的单独内部部署虚拟机 (Virtual Machine,VM) 上。目标 Oracle Exadata Database Service on Dedicated InfrastructureAzure 虚拟网络 (VNet) 中的 Azure 数据中心中预配到 Oracle Database@Azure 的委派子网中。本地数据中心通过 Azure ExpressRoute 或站点到站点 VPN 连接到 Azure 的数据中心。基于直接数据传输的 Oracle Zero Downtime Migration 物理联机工作流使用从服务还原的方法创建目标数据库,并避免将源数据库备份到中间存储位置。Oracle Zero Downtime Migration 自动利用 Oracle Data Guard 将数据从内部部署数据库复制到目标数据库。Oracle Zero Downtime Migration 在迁移完成后自动设置 Oracle Data Guard 、维护它并清理配置。因此,无需具备设置和维护 Oracle Data Guard 的知识。迁移完成后,目标数据库可以使用自动备份功能将数据库备份到 Oracle Database Autonomous Recovery Service 中。

下图说明了此参考体系结构。



oracle-db-azure-zdm-oracle.zip

该体系结构具有以下组成部分:

  • 区域

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

  • 虚拟云网络 (VCN) 和子网

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

  • 动态路由网关 (DRG)

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

  • 内部部署网络

    此网络是组织使用的本地网络。它是拓扑的发言人之一。

  • 服务网关

    通过服务网关,您可以从 VCN 访问其他服务,例如 Oracle Cloud Infrastructure Object Storage 。从 VCN 到 Oracle 服务的流量通过 Oracle 网络结构传输,不会通过互联网传输。

  • 站点到站点 VPN

    站点到站点 VPN 可在本地网络与 Oracle Cloud Infrastructure 中的 VCN 之间提供 IPSec VPN 连接。IPSec 协议套件会在数据包从源传输到目标之前对 IP 通信进行加密,并在数据包到达时对通信进行解密。

  • VNIC

    通过虚拟网络接口卡 (VNIC),实例可以连接到 VCN,并确定实例如何与 VCN 内部和外部端点连接。每个 VNIC 驻留在 VCN 中的子网中,并包括以下各项:

    • 来自 VNIC 所在子网的主要专用 IPv4 地址,由您或 Oracle 选择。
    • 可选的辅助专用 IPv4 地址,来自 VNIC 所在的同一子网,由您或 Oracle 选择。
    • 每个专用 IP 的可选公共 IPv4 地址,由 Oracle 选择,但由您自行决定。
    • 每个专用 IP 地址的可选 DNS 主机名。
    • MAC 地址。
    • 由 Oracle 指定且在将 VNIC 连接到实例时可用的 VLAN 标签(仅与裸金属实例有关)。
    • 用于对 VNIC 的网络通信流量启用或禁用源/目标检查的标志。
    • 可以选择加入您选择的一个或多个网络安全组 (NSG)。NSG 具有仅适用于该 NSG 中的 VNIC 的安全规则。
    • 可选的 IPv6 地址。IPv6 地址支持所有商业和政府区域。
  • Data Guard

    Oracle Data Guard 提供全面的服务集,可以创建、维护、管理和监视一个或多个备用数据库,从而使生产 Oracle 数据库在不中断的情况下保持可用。Oracle Data Guard 将这些备用数据库作为生产数据库的副本进行维护。然后,如果生产数据库因计划内或计划外停机而变得不可用,Oracle Data Guard 可以将任何备用数据库切换到生产角色,从而最大限度地减少与停机关联的停机时间。

  • Exadata 数据库服务

    Oracle Exadata Database Service 支持您充分利用云端 Exadata 的强大功能。您可以预配灵活的 Exadata X9M 系统,以便随着需求的增长将数据库计算服务器和存储服务器添加到系统中。Exadata X9M 系统提供基于聚合以太网的 RDMA (RoCE) 网络,可实现高带宽和低延迟、持久性内存 (PMEM) 模块以及智能 Exadata 软件。您可以使用等效于四分之一机架 X9M 系统的配置预配 Exadata X9M 系统,然后在预配后随时添加数据库和存储服务器。

    Oracle Exadata Database Service on Dedicated InfrastructureOracle Cloud Infrastructure (OCI) 数据中心提供 Oracle Exadata Database Machine 作为服务。Oracle Exadata Database Service on Dedicated Infrastructure 实例是一个虚拟机 (VM) 集群,位于 OCI 区域中的 Exadata 机架上。

    Oracle Exadata Database Service on Cloud@Customer 提供托管在您的数据中心的 Oracle Exadata Database Service

  • 对象存储

    通过对象存储,可以快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全、安全地存储数据,然后直接从互联网或云平台检索数据。您可以扩展存储,而不会出现性能或服务可靠性下降的情况。将标准存储用于“热”存储,以便您快速、立即和频繁地访问。将归档存储用于长时间保留的“冷”存储,很少或很少访问。

  • Azure VNIC

    Azure 数据中心中的服务具有物理网络接口卡 (network interface card,NIC)。虚拟机实例使用与物理 NIC 关联的虚拟 NIC (virtual NIC,VNIC) 进行通信。每个实例都有一个主要 VNIC,它会在启动期间自动创建和连接,并在实例的生命周期内可用。

  • Azure 虚拟网络网关

    Azure 虚拟网络网关是一种在 Azure 虚拟网络和内部部署网络之间建立安全、跨内部部署连接的服务。它允许您创建跨数据中心和 Azure 的混合网络。

  • Azure 授权子网

    子网委托是 Microsoft 将托管服务(尤其是平台即服务服务)直接注入虚拟网络的能力。这意味着您可以指定或委派子网作为虚拟网络中外部托管服务的主目录。换句话说,该外部服务将充当虚拟网络资源,尽管从技术上讲,它是一种外部平台即服务服务。

  • Azure 虚拟网络

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

  • 零停机迁移服务主机

    Oracle Zero Downtime Migration 服务主机应该是专用系统,但可以出于其他目的共享。

    Oracle Zero Downtime Migration 软件要求在以下任一平台上运行的独立 Oracle Linux 主机:Oracle Linux 7、Oracle Linux 8 或 Red Hat Enterprise Linux 8。

    Oracle Zero Downtime Migration 服务主机必须能够连接到源和目标数据库服务器;只要保证连接,服务主机可以位于任何地方。

推荐

使用以下建议作为起点。 您的要求可能不同于此处所述的体系结构。
  • 通过在补丁程序和更新选项卡中搜索修补程序编号 33509650,从 My Oracle Support (MOS) 下载最新的 Oracle Zero Downtime Migration 软件版本。
  • 在源数据库旁边的内部部署中安装 Oracle Zero Downtime Migration 服务主机。
  • 确保 Oracle Zero Downtime Migration 服务主机至少具有 100GB 的空闲存储空间。
  • 通过站点到站点 VPN 或 Azure ExpressRoute 确保内部部署与 Azure 之间的安全专用网络连接。
  • 根据数据库大小,确保从内部部署网络到 Azure 的足够网络吞吐量。

注意事项

部署此引用体系结构时,请考虑以下几点。

  • 目标数据库必须:
    • 使用 Oracle Cloud 工具预配,无需启用自动备份。
    • 时区文件版本与源数据库相同或更高。
  • 源数据库和目标数据库必须:
    • 具有相同的数据库名 (DB_NAME)。
    • 具有不同的数据库唯一名称 (DB_UNIQUE_NAME)。
    • 使用服务器参数文件 (SPFILE)。
    • 使用相同的字符集。
    • sqlnet.ora 文件中定义了相同的加密算法。
    • 具有相同的主发行版本(例如,19c)。但是,目标数据库的补丁程序级别可能更高(例如,源为 19.21,目标为 19.22)。如果目标数据库的修补程序级别高于源数据库,Oracle Zero Downtime Migration 将在迁移过程中自动运行数据补丁程序。
  • 源数据库和目标数据库上的 SYS 用户帐户密码必须相同。
  • COMPATIBLE 数据库初始化参数在源数据库和目标数据库上必须相同。
  • 对于 Oracle Database 12c 发行版 2 及更高版本,源上必须存在 TDE wallet,且 wallet 状态必须为 OPEN 状态。源数据库不一定需要加密,但必须配置 TDE wallet。
  • Oracle Zero Downtime Migration 要求 Oracle Zero Downtime Migration 服务主机上的 SSH 密钥采用 RSA 格式(在 Oracle Linux 8 中,默认值为 OPENSSH)。

确认

  • 授权者Sinan Petrus Toma, Ricardo Gonzalez, Thomas Van Buggenhout
  • 贡献者Emiel Ramakers, Wei Han, John Sulyok