了解如何零停机地将内部部署数据库迁移到云

您希望将数据从内部部署的数据库迁移到云中的数据库系统,但您需要一个能够回退的零停机解决方案。 Oracle Zero Downtime Migration 是 Oracle 首选的自动化工具,用于将同一数据库类型和版本从本地迁移到 Oracle Cloud。它符合 Oracle Maximum Availability Architecture (MAA) 标准,支持 Oracle Database 11g 发行版 2 (11.2.0.4) 和更高版本的数据库。

体系结构

此体系结构显示与 Oracle Zero Downtime Migration (ZDM) 一起使用的组件。在计划将 Oracle Database 从内部部署迁移到 Oracle Cloud 中的相同数据库类型和版本时,请使用此架构。

下面是 migrate-db-zdm.png 的说明
插图 migrate-db-zdm.png 的说明

Zero Downtime Migration 使用受控切换方法将数据库服务动态迁移到 Oracle Cloud Infrastructure (OCI) 中的新数据库环境(虚拟机或裸金属)。它使用 Oracle Recovery Manager (RMAN) 将源数据库备份到 Oracle Cloud Infrastructure Object Storage ,在目标环境中从备份创建备用数据库(使用 Oracle Data Guard 配置、Oracle Data Guard Maximum Performance Protection 模式和异步重做传输模式),同步源数据库和目标数据库,并作为主数据库切换到目标数据库。

此体系结构支持以下组件:

  • 数据库

    源数据库为 Oracle Database 19c,目标数据库为 Oracle Cloud Infrastructure 中的 Oracle Base Database Service 虚拟机实例。您可以从 OCI 控制台预配目标,也可以使用 Terraform 代码部署拓扑。Terraform 代码包括输入变量,您可以使用这些变量来优化体系结构以满足拓扑要求。

  • ZDM 服务主机

    ZDM 服务主机是安装 Zero Downtime Migration 软件的地方。它也称为 ZDM 节点。请勿在运行 Oracle Grid Infrastructure 的实例上运行 ZDM 服务主机。

  • 堡垒主机

    堡垒主机是一个计算实例,它为用户从云外部访问拓扑提供了安全受控的入口点。堡垒主机通常预配在隔离区 (DMZ) 中。利用它,您可以将敏感资源放在无法从云外部直接访问的专用网络中,从而保护这些资源。拓扑具有已知的单个入口点,您可以定期对其进行监视和审计。因此,您可以避免公开拓扑中较为敏感的组件,同时又不会影响对它们的访问。

  • 块存储卷

    借助 Oracle Cloud Infrastructure Block Volumes ,您可以创建、附加、连接和移动存储卷,以及更改卷性能,从而满足您的存储、性能和应用要求。将卷附加到实例并将卷连接到实例后,您可以像常规硬盘驱动器那样使用该卷。还可以断开卷连接并将其连接到其他实例,而不会丢失数据。

  • 区域

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

  • 对象存储

    Oracle Cloud Infrastructure Object Storage 支持您快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全地存储数据,然后直接从互联网或云平台检索数据。您可以在不降低性能或服务可靠性的情况下扩展存储。将标准存储用于需要快速、立即和频繁访问的“热”存储。将归档存储用于长期保留、很少访问或很少访问的“冷”存储。

  • 可用性域

    可用性域是区域中的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共享电源或冷却设备等基础设施,也不共享内部可用性域网络。因此,一个可用性域出现故障不会影响区域中的其他可用性域。

  • 容错域

    容错域是可用性域内的一组硬件和基础设施。每个可用性域都有三个容错域,它们具有独立的电源和硬件。在多个容错域之间分配资源时,应用可以承受容错域内的物理服务器故障、系统维护和电源故障。

  • SQL*Net 和 SSH 连接

    ZDM 节点需要对源数据库和目标数据库进行 SQL*Net(默认数据库端口 1521)和 SSH 访问(默认端口 22)。

    零停机迁移在数据库迁移完成后启用并允许回退功能。切换后,在 OCI 中运行的目标数据库将成为主数据库,本地数据库将成为备用数据库。切换后,新主数据库和新备用数据库之间的 SQL*Net 连接使配置能够继续将数据从 Oracle Cloud Infrastructure 中的新主数据库同步到新的备用本地部署。

  • Internet 网关

    通过互联网网关,可以在 VCN 中的公共子网与公共互联网之间进行流量传输。

  • 服务网关

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

  • 安全列表

    对于每个子网,可以创建安全规则来指定必须允许进出子网的通信的源、目标和类型。

  • 路由表

    虚拟路由表包含用于将流量从子网路由到 VCN 之外目的地的规则,通常是通过网关。

图中未显示内部部署与云之间的专用连接。连接包括以下组件:
  • 站点到站点 VPN

    站点到站点 VPN 在您的内部部署网络与 Oracle Cloud Infrastructure 中的 VCN 之间提供 IPSec VPN 连接。IPSec 协议套件在数据包从源传输到目标之前对 IP 流量进行加密,并在数据包到达时对流量进行解密。

  • FastConnect

    Oracle Cloud Infrastructure FastConnect 可在您的数据中心与 Oracle Cloud Infrastructure 之间创建专用的私有连接。与基于 Internet 的连接相比,FastConnect 提供了更高的带宽选项和更可靠的网络体验。

  • 动态路由网关 (DRG)

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

关于必需的服务和角色

此解决方案需要以下服务、产品和角色:

  • 本地部署的 Oracle Database 11.2.0.4 或更高版本
  • Oracle Linux 7
  • Oracle Zero Downtime Migration 软件
  • Oracle Base Database Service 虚拟机。您可以预配系统,也可以使用 Terraform 代码部署目标云拓扑。可以使用 GitHub 上提供的代码预配所需的网络资源、堡垒服务器的计算实例以及 Oracle Base Database Service

这些是每个服务所需的角色。

服务名:职责 需要 ...
Oracle Cloud Infrastructure:管理 创建目标 Oracle Base Database Service ,并在 Oracle Cloud 中设置资源。
Oracle Cloud Infrastructure :管理 在 Oracle Cloud 中预配目标 Oracle Base Database Service 并设置资源。
Oracle Cloud Infrastructure Object Storage :管理 创建存储桶以存储来自内部部署数据库的备份数据。
Oracle Database:根 使用 SSH 访问数据库。
Oracle Zero Downtime Migration 软件:非 root 用户 在 ZDM 服务节点上安装零停机迁移软件套件。

要获取所需的资源,请参阅 Oracle 产品、解决方案和服务