将内部部署数据库迁移到 Oracle Base Database Service

将 Oracle Database 的本地部署迁移到 Oracle Cloud 中的 Oracle Base Database Service ,从而简化数据库预配、维护和管理操作。

使用须知

在开始迁移之前,请确保您的数据库工作负载符合 Oracle CloudOracle Base Database Service (VM) 的限制。Oracle Base Database Service 支持单节点 Standard Edition 和 Enterprise Edition 数据库,并且还支持双节点 Enterprise Edition Oracle Real Application Clusters (Oracle RAC) 数据库配置。Oracle Base Database Service 最多可扩展到 128 个 OCPU 和 100 TB 存储(对于 DATA,可扩展到 80 TB;对于 RECO,可扩展到 20 TB)。

体系结构

此体系结构显示将标准或 Enterprise Edition Oracle Database 在商用基础设施(传统 X86 内部部署服务器)上的本地部署迁移到 Oracle Cloud 中的 Oracle Base Database Service (VM) 所需的资源和拓扑。

下图说明了从内部部署架构到 Oracle Cloud Infrastructure (OCI) 中迁移数据库之前的此参考架构的路径。内部部署包括应用服务器和标准或 Enterprise Edition Oracle Database 的实例。

房地说明 -arch.png
插图房屋的说明 -arch.png

下表显示了临时体系结构。建立了 OCI 区域、VCN、子网、基础设施和服务。内部部署网络使用 IPSec VPN 或 OCI FastConnect 连接到 OCI 区域。Oracle RMAN 备份通过服务网关在内部部署数据库服务器之间双向发送到 OCI 对象存储

下面是临时 arch.png 的说明
插图 interim-arch.png 的说明

三月初至 oracle.zip

将本地部署 Oracle Database 迁移到 Oracle Base Database Service 后,本地部署应用将从本地部署计算实例迁移到 OCI 计算实例,所有数据库和计算服务都位于 Oracle Cloud 中并使用 Oracle Database Zero Data Loss Autonomous Recovery Service

下面是 migration-arch.png 的说明
插图迁移的说明 -arch.png

migration-arch-oracle.zip

OCI 架构包含以下组件:

  • 区域

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

  • 可用性域

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

  • 容错域

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

  • 区间

    区间是 Oracle Cloud Infrastructure 租户中的跨区域逻辑分区。使用区间来组织、控制访问并设置 Oracle Cloud 资源的使用限额。在给定的区间中,您可以定义用于控制资源访问和设置权限的策略。

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

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

  • 路由表

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

  • 安全列表

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

  • FastConnect

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

  • 站点到站点 VPN

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

  • 动态路由网关 (DRG)

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

  • 服务网关

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

  • 网络地址转换 (NAT) 网关

    通过 NAT 网关,VCN 中的专用资源可以访问 Internet 上的主机,而不会向传入的 Internet 连接公开这些资源。

  • 块存储卷

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

  • 对象存储

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

  • Oracle Base Database Service

    Oracle Base Database Service 是一项 Oracle Cloud Infrastructure (OCI) 数据库服务,支持您在虚拟机上构建、扩展和管理功能全面的 Oracle 数据库。Oracle Base Database Service 支持在虚拟机中部署功能齐全的 Oracle 数据库,并在 OCI 区域中部署网络连接的块存储卷。您可以部署 Enterprise Edition 或 Standard Edition 2,也可以运行 Oracle Real Application Clusters (Oracle RAC) 来提高可用性。

  • Oracle Database Zero Data Loss Autonomous Recovery Service

    Oracle Database Zero Data Loss Autonomous Recovery Service 是一个面向 Oracle Cloud Infrastructure (OCI) 数据库的全托管式独立集中式云备份和恢复解决方案。它通过强制备份加密为 OCI 提供实时数据保护,以提供高安全性。备份保留保护措施可防止意外或恶意删除。

推荐

您的要求可能与此处描述的体系结构不同。使用以下建议作为起点。

  • 计算配置

    对于应用计算配置,Oracle 提供了强大的选项列表,供您用来满足应用计算和内存需求。

  • 块存储卷

    对于此架构,Oracle Cloud Infrastructure Block Volumes 用于安装应用以及存储应用日志和数据。您可以根据需要创建、附加、连接和移动卷,以及更改卷性能,从而满足应用存储性能要求。

  • 基本数据库服务 VM 配置

    Oracle Base Database Service 提供灵活的 OCPU 计数虚拟机 (VM) 计算配置和处理器类型。AMD VM.Standard.E4。对于生产数据库,建议使用弹性配置。

    网络
    • VCN

      在部署 Oracle Base Database Service 之前,必须在 OCI 中具有具有客户端和备份子网的 VCN。

      创建 VCN 时,请根据您计划附加到 VCN 中子网的资源数量,确定所需的 CIDR 块数和每个块的大小。使用标准专用 IP 地址空间内的 CIDR 块。

      对于 CIDR 块范围,选择与内部部署网络不重叠的地址范围,以便您可以使用 IPSec VPN 或 OCI FastConnect 在 VCN 与内部部署网络之间设置连接。创建 VCN 后,您可以更改、添加和删除其 CIDR 块。

      子网将利用您为支持 VCN 定义的 CIDR 块中的 IP。设计子网时,请考虑流量和安全要求。将特定层或角色中的所有资源附加到可以用作安全边界的同一子网。建议将数据库和应用服务器的子网设置为专用子网。

    • 数据库层路由表

      此架构使用路由规则通过 OCI 服务网关将数据库备份流量从专用 BACKUP 子网发送到 OCI 对象存储。要在内部部署与云之间建立连接,请为动态路由网关 (Dynamic Routing Gateway,DRG) 配置路由规则。

    • 数据库层安全列表

      此体系结构使用附加到应用服务器和数据库服务器子网的安全列表中的入站和出站规则。这些规则支持应用程序与数据库之间的连接。建议为 Oracle Base Database Service 专用 CLIENT 子网定义安全列表规则,该子网建立用于 SSH 访问、SQLNet 访问以及使用 Oracle Database Autonomous Recovery Service 的端口访问。

  • 数据库迁移方法

    此参考架构使用 Oracle Database Cloud Backup 模块将本地 Oracle Standard Edition 数据库备份到 Oracle Cloud Infrastructure Object Storage 。然后,使用备份在 OCI 上创建 VM 数据库系统。

    迁移过程包括下载 Oracle Database Cloud Backup 模块,将其安装在数据库服务器上,以及将 Oracle Recovery Manager (RMAN) 配置为使用 OCI Object Storage 存储桶作为数据库备份目标。

    在将数据库备份到对象存储存储桶并将数据库还原到 OCI 上的 VM 数据库系统时,此迁移方法需要应用程序停机。您还必须说明迁移应用服务器所需的时间。

    注意:

    您可以使用 Oracle Zero Downtime Migration (ZDM) 将停机时间降至最低或消除。

    Oracle 建议您使用 OCI FastConnect 服务将大型数据库迁移到 OCI。

注意事项

  • 可扩展性
    • 应用程序层

      您可以通过更改计算实例的配置来垂直扩展应用服务器。核心数较高的配置还可以提供更多内存和网络带宽。如果需要更多存储,请增大连接到应用服务器的块存储卷大小。

    • 数据库层

      通过在单节点上将 VM 配置的灵活 OCPU 配置更改为 128 个 OCPU,在双节点 Oracle RAC 系统上将 OCPU 配置更改为 256 个 OCPU,可以垂直扩展 Oracle Base Database Service 。您还可以独立扩展附加到 Oracle Base Database Service 的 DATA 和 RECO 存储,其中 DATA 可扩展至 80 TB,RECO 可扩展至 20 TB。

  • 可用性
    • 应用程序层

      为了在应用层实现高可用性,建议将应用服务器部署在不同的容错域中,并使用负载平衡器在应用服务器上分配客户端流量。对于在单个可用性域中部署的应用负载,容错域可以提供出色的可恢复性。

    • 数据库层

      为了在数据库层实现高可用性,Oracle Base Database Service 提供了内置的 Oracle 优秀实践功能。使用云自动化部署数据库,以实现卓越的性能、可用性和安全性,并且您的系统将进行优化配置,以提供卓越的服务级别。将 Oracle Base Database Service 配置为使用双节点时,它将自动与 Oracle RAC 一起部署以提供可扩展的高可用性数据库。Oracle RAC 通过将工作分布在多个数据库实例中来防止计划外故障。此外,它通过自动将要进行维护的服务器上的工作迁移到保持联机状态的其他服务器,消除了维护活动的停机时间。

      Oracle Data Guard 提供实时灾难保护。如果丢失主数据库或数据中心,可以将工作负载故障转移到由 Oracle Data Guard 自动维护的备用站点。借助 Oracle Base Database Service ,您可以通过一次 API 调用或在 UI 中单击几下鼠标,轻松启用 Oracle Data Guard 。同样,自动化支持关键用例,例如将主数据库切换到灾难恢复站点、切换回主数据库以及在故障转移后重新插入主数据库。

      Oracle Data Guard 支持所有 Oracle Maximum Availability Architecture (Oracle MAA ) 技术,这些技术构成了云端 Oracle 数据库的高可用性蓝图。

  • 成本

    通过将 Oracle Database 从本地迁移到 Oracle Cloud 中的 Oracle Base Database Service ,您可以节省大量成本。通过云部署,您可以利用 Oracle 弹性计算资源分配模型,并可以选择 CPU 许可模型(包括许可证或 BYOL)。通过弹性资源计算分配模型在云中运行 Oracle Database,您可以将分配的 CPU 与工作负载需求保持一致,并且只需为使用的资源付费。借助 Oracle Base Database Service ,您可以从 1 个 OCPU 和 256 GB 存储开始,然后根据需要进行扩展。

部署

要部署此参考架构,请在 Oracle Cloud Infrastructure 中创建所需资源,然后使用 Oracle Database Cloud Backup 模块迁移内部部署数据库。

在部署 Terraform 代码之前,请在 Oracle Cloud Infrastructure 中创建所需的资源。

可通过 GitHub 获取用于在云中部署资源的 Terraform 代码。使用该代码预配网络资源、可用作堡垒或应用服务器的计算实例以及虚拟机数据库系统。

您只需单击一下即可将代码提取到 Oracle Cloud Infrastructure Resource Manager 中,创建堆栈并部署堆栈。或者,将代码从 GitHub 下载到您的计算机,定制代码并使用 Terraform CLI 部署体系结构。

  • 使用 Oracle Cloud Infrastructure Resource Manager 中的示例堆栈进行部署:
    1. 转至 部署到 Oracle Cloud

      如果您尚未登录,请输入租户和用户凭据。

    2. 选择要部署堆栈的区域。
    3. 按照屏幕上的提示和说明创建堆栈。
    4. 创建堆栈后,单击 Terraform 操作,然后选择计划
    5. 等待作业完成,然后查看计划。

      要进行任何更改,请返回到“堆栈详细信息”页,单击编辑堆栈,然后进行所需的更改。然后,再次运行计划操作。

    6. 如果不需要进一步更改,请返回“堆栈详细信息”页面,单击 Terraform 操作,然后选择应用
  • 使用 GitHub 中的 Terraform 代码部署:
    1. 转至 GitHub
    2. 将资料档案库克隆或下载到本地计算机。
    3. 按照 README 文档中的说明进行操作。
使用 Oracle Database Cloud 备份模块迁移内部部署数据库。请参阅Oracle Database Backup Cloud Service 入门

更改日志

此日志仅列出重大更改:

确认

  • 授权者Leo Alvarado, Eddie Ambler