通过 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

Microsoft Azure 提供以下组件:

  • 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 Cloud Infrastructure 提供以下组件:

  • 区域

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

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

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

  • 内部部署网络

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

  • 服务网关

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

  • Data Guard

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

  • 零停机迁移服务主机

    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 服务主机必须能够连接到源和目标数据库服务器;只要保证连接,服务主机可以位于任何地方。

  • Oracle Database Autonomous Recovery Service

    Oracle Database Autonomous Recovery Service 是一项保护 Oracle 数据库的 Oracle Cloud 服务。借助 OCI 数据库的备份自动化和增强的数据保护功能,您可以将所有备份处理和存储需求分流到 Oracle Database Autonomous Recovery Service ,从而消除备份基础设施成本和手动管理开销。

Oracle Zero Downtime Migration 迁移工作流

注意:

有关列出的每个迁移工作列表,请参阅“浏览更多”以了解更多详细信息。

您可以执行以下工作流将 Oracle Database 迁移到 Oracle Database@Azure 上的 Oracle Exadata Database Service on Dedicated Infrastructure

  • 物理联机迁移

    物理联机迁移工作流支持在相同的数据库版本和平台之间进行迁移。它使用直接数据传输和“从服务还原”方法来创建目标数据库,从而显式避免将源数据库备份到中间存储位置。Oracle Data Guard 可使源数据库和目标数据库保持同步,尽可能减少停机迁移。

  • 物理脱机迁移

    物理脱机迁移工作流支持在相同的数据库版本和平台之间进行迁移。它使用 Recovery Manager (RMAN) 备份和还原来创建目标数据库。Azure Files 服务提供 NFS 文件共享来存储 RMAN 备份文件。

  • 逻辑联机迁移

    逻辑联机迁移工作流支持在相同和不同的数据库版本和平台之间进行迁移。它使用 Oracle Data Pump 导出和导入来创建目标数据库。Azure Files 服务提供 NFS 文件共享来存储数据泵转储文件。OCI GoldenGate 可使源数据库和目标数据库保持同步,尽可能减少停机时间迁移。

  • 逻辑脱机迁移

    逻辑脱机迁移工作流支持在相同和不同的数据库版本和平台之间进行迁移。它使用 Oracle Data Pump 导出和导入来创建目标数据库。Azure Files 服务提供 NFS 文件共享来存储数据泵转储文件。

您可以执行以下 Oracle Zero Downtime Migration 迁移工作流,将 Oracle Database 迁移到 Oracle Database@Azure 上的 Oracle Autonomous Database Serverless

  • 逻辑联机迁移

    逻辑联机迁移工作流支持在相同和不同的数据库版本和平台之间进行迁移。它使用 Oracle Data Pump 导出和导入来创建目标数据库。Azure Files 服务提供 NFS 文件共享来存储数据泵转储文件。OCI GoldenGate 可使源数据库和目标数据库保持同步,尽可能减少停机时间迁移。

  • 逻辑脱机迁移

    逻辑脱机迁移工作流支持在相同和不同的数据库版本和平台之间进行迁移。它使用 Oracle Data Pump 导出和导入来创建目标数据库。Azure Files 服务提供 NFS 文件共享来存储数据泵转储文件。

推荐

使用以下建议作为起点。 您的要求可能不同于此处所述的体系结构。
  • 通过在补丁程序和更新选项卡中搜索修补程序编号 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