迁移 Oracle Database

强烈建议您将内部部署 VMware 环境中运行的 Oracle 数据库迁移到 Oracle Cloud Infrastructure Database 服务,例如 Oracle Exadata Database ServiceOracle Autonomous DatabaseOracle Base Database Service 等。您可以充分利用 Oracle Cloud Infrastructure Database 服务的所有优势。

从内部部署 VMware 环境进行数据库迁移

无论是将现有应用和中间层系统从内部部署迁移到 Oracle Cloud VMware Solution,还是要在 Oracle Cloud VMware Solution 上创建应用和中间层系统,要考虑的要点是延迟以及数据库与 Oracle Cloud VMware Solution 平台的距离。

以下是数据库邻近位置的选项:
  • 创建 Oracle Database 或将现有 Oracle Database 迁移到 Oracle Cloud Infrastructure

    我们强烈建议使用 Oracle Cloud Infrastructure Database 服务。Oracle Cloud Infrastructure 提供不同的数据库服务选项。您可以根据您的应用和工作负载要求选择合适的选项。

  • 将非 Oracle 数据库迁移到 Oracle Cloud VMware Solution

    此选项特定于 Microsoft SQL Server、IBM DB2 和 PostgreSQL 等非 Oracle 数据库。在此用例中,您可以使用 VMware HCX 工具和特定数据库的迁移优秀实践,将非 Oracle 数据库迁移到 Oracle Cloud VMware Solution。

  • 在内部部署中维护数据库

    此选项可减少将数据库系统从内部部署迁移到云的需求。但是,延迟和吞吐量是影响应用的关键因素。考虑 Oracle Cloud Infrastructure FastConnect 等解决方案,以实现 Oracle Cloud VMware Solution 与本地部署之间的连接。

将 Oracle 数据库迁移到 Oracle Cloud Infrastructure

在将 Oracle 或非 Oracle 数据库从内部部署数据中心迁移到 Oracle Cloud Infrastructure 之前,请查看以下注意事项、先决条件和评估流程。

注意事项

本节适用于将内部部署 Oracle 数据库迁移到 Oracle Cloud Infrastructure,其中包括上一节中列出的数据库平台。在开始任何迁移之前,请了解各个数据库工作量、限制以及任何依赖项。

每一次 Oracle Database 迁移都需要一个发现和规划阶段。这一阶段的主要讨论应包括以下问题。这些问题的答案有助于确定数据库分组、要迁移的数据库数量以及迁移的总体工作量。
  • 此数据库的当前版本是什么?
  • 您将迁移多少个此版本的数据库?
  • 有多少数据库与特定业务线 (LOB) 关联?
  • 非 Linux 平台上是否存在任何数据库;也就是说,是否存在跨 endianness 迁移?
  • 是否有任何依赖数据库可能需要一起迁移?
  • 是否有任何要迁移的第三方数据库(非 Oracle)以及哪些版本(例如,SQL Server 2016)?
  • 对于测试和开发数据库,是迁移所有副本还是仅迁移主副本?
  • 数据库总磁盘空间和数据空间(以 GB/TB 为单位)有多大?
  • 您是否会使用 FastConnect 或 VPN 与 Oracle Cloud 建立网络连接?数据库的带宽和大小将主要驱动迁移解决方案。

移植选项

可以通过多种方法将 Oracle 数据库从本地迁移到 Oracle Cloud Infrastructure。每种方法都取决于业务恢复点目标 (Business Recovery Point Objective,RPO)、恢复时间目标 (Recovery Time Objective,RTO) 和整体可用性服务级别协议 (Service Level Agreement,SLA)。迁移管理员必须使用适当的方法评估和映射这些业务协议。

Oracle Maximum Availability Architecture (MAA) 专门用于解决这些选项和方法。下表简要讨论了这些问题。

解决方案 复杂性 迁移的粒度 迁移类型(物理或逻辑) 总体部署工作量 迁移模型 主要迁移使用场景
数据泵常规导出和导入 最低价 逻辑 High 联机/时间点
  • 小型数据库
  • 方案子集
数据泵完全可传输 最低价 物理 联机/连续

导出期间要求源为只读

具有相同 Endianness 的完整数据库(需要源 Oracle Database 版本 11.2.0.3)
数据泵可传输的表空间 最低价 物理 联机/连续 方案表空间集(需要源 Oracle Database 版本 11.2.0.3)
SQL*Loader 最低价 High 逻辑 High 脱机 迁移特定表或方案
GoldenGate High High 逻辑 High 脱机/连续
  • 方案子集
  • 逻辑转换
RMAN 备份和还原 最低价 最低价 物理 最低价 脱机/连续 完整数据库或一组表空间
Data Guard 最低价 最低价 物理 最低价 联机/连续 完全数据库,零停机或接近零停机

PDB 远程克隆

远程克隆

PDB 搬迁

PDB 迁移

最低价 最低价 物理 最低价 联机/连续
  • 将现有 12c PDB 迁移到 PDB
  • 远程克隆可以是非 CDB

注意:

可以组合使用许多解决方案来制定高效的迁移策略。某些打包的应用程序可能对迁移支持的工具有限制。

大小和部署计划

作为源迁移工作的一部分,应执行适当的规模和规划工作,以确保数据库满足容量和性能要求。

注意:

数据库和 VM 的容量大小调整工作与内部部署工作相同。
此规划练习的结果有助于定义目标数据库配置和 VM 配置。
  • 工作量的性能要求
    • 每秒事务处理数
    • 用户连接数
    • 预期未来工作量变化
  • 能力要求
    • vCPUs
    • 内存
    • 存储和 IO 容量
    • 未来增长
  • 可管理性要求
    • Oracle Cloud Infrastructure 本机服务和可访问性
    • 监视工具
    • 备份解决方案
  • 可扩展性功能
    • 数据库规模
    • VM 规模
    • 集群规模
  • 可用性要求
    • Oracle 高可用性解决方案
    • vMotion,DRS
  • 应用程序要求
    • 内部部署组件之间的依赖性
    • 应用程序与 Oracle Cloud Infrastructure 服务之间的网络流

合理化、标准化和整合

作为迁移工作的一部分,我们建议迁移团队利用这个机会对数据库版本进行标准化,并酌情合并数据库系统。Oracle Database 19c 应当是最小的标准化数据库版本,因为它提供了长期支持版本。

合并是各组织为提高其业务效率而正在采取的主要战略之一。通过整合,组织可以提高 IT 资源的利用率,从而降低成本,因为实现相同结果所需的资源更少。由于需要监视、管理和维护的组件和对象较少,因此运营成本也会降低。

DBA 和管理员应该寻找整合尽可能多的数据库的最佳机会。借助 Oracle 19c,您有机会在最多三个可插入数据库 (PDB) 的情况下使用 Oracle 多租户选件。这进一步提供了更大的规模经济,并通过应用和数据库现代化可以实现更高的整合密度。因此,应确定哪些数据库适合容器数据库 (Container Database,CDB) 部署模型。

除了整合,还要考虑隔离管理。隔离要求可能会影响合并的方法或程度。系统所需的隔离级别决定是将多个 PDB 合并到单个数据库中,在单个平台上托管多个数据库,还是使用这两种方法的某种组合。隔离可以分为四个方面:故障、资源、安全性和运行。每个云模型使用操作系统或数据库内置功能处理隔离的方式略有不同,通常与高级功能或产品相结合,以提供与风险相称的完整解决方案。

使用 Oracle Zero Downtime Migration 迁移到 Oracle Database Service

Oracle Zero Downtime Migration 是 Oracle Maximum Availability Architecture (MAA) 为将 Oracle Databases 迁移到 Oracle Cloud 推荐的解决方案。Oracle Zero Downtime Migration 的设计目标是尽可能简化迁移过程,并确保对生产工作负载的影响最小。源数据库可以位于本地或 Oracle Cloud 中。Oracle Zero Downtime Migration 可自动执行整个迁移过程,从而减少人为错误的可能性。它还使用与 Oracle Database(例如 Oracle Data Guard)集成的高可用性 (HA) 技术,并遵循所有 MAA 优秀实践来确保生产环境的零停机时间。

本文没有详细介绍 Oracle Database 从本地环境零停机迁移的步骤。您可以按照《 Oracle Database:Move to Oracle Cloud Using Zero Downtime Migration 》中概述的详细步骤操作。

Oracle Zero Downtime Migration 提供以下数据库支持和支持的配置:
  • Oracle Zero Downtime Migration 支持 Oracle Database 版本 11.2.0.4 及更高版本。
  • 源数据库和目标数据库应使用相同的数据库版本。
  • Oracle Zero Downtime Migration 支持在 Linux 操作系统上托管的 Oracle 数据库。
  • 源数据库可以是迁移到单个实例的单实例数据库,也可以是迁移到 RAC 数据库的 Oracle Real Application Clusters (RAC) 数据库,也可以是 RAC 单节点或 RAC 数据库。
  • Oracle Zero Downtime Migration 支持将 Enterprise Edition 和 Standard Edition Oracle Databases 作为源数据库。Enterprise Edition 数据库使用 Oracle Data Guard 进行迁移;标准版数据库使用备份和还原方法脱机迁移。
  • Oracle Zero Downtime Migration 支持源数据库成为非容器数据库 (CDB) 或容器数据库 (CDB) ,具有一个或多个可插入数据库 (PDB) 。如果源数据库是非 CDB,则将其作为非 CDB 迁移。如果源数据库是具有一个或多个 PDB 的 CDB,则 Oracle Zero Downtime Migration 会将其迁移到具有与源 CDB 中相同的 PDB 集的 CDB。
  • 为了支持迁移,Oracle Zero Downtime Migration 使用 Oracle Fleet Patching and Provisioning (FPP) 框架中的特性和功能。例如,它使用 FPP 作业调度程序功能,该功能可以完全控制任何数据库迁移任务的调度、暂停和恢复。Oracle Zero Downtime Migration 还使用 FPP 的评估模式来验证迁移过程,并在迁移开始之前检测可能的故障状况。Oracle Zero Downtime Migration 包括迁移期间和迁移后的审计功能,它分成不同的阶段来分发迁移过程,用户可以在任何步骤自定义工作流并添加用户操作脚本。

从内部部署迁移到云时,需要考虑许多源方案和目标方案。当数据库运行 Oracle Database Appliance 或 Oracle Exadata 时,本地源应用和数据库都可以在 VMware 上运行,或者在 VMware 上运行应用。还需要考虑多个目标云方案,例如在 Oracle Cloud VMware Solution 上运行的应用程序,而数据库可以在 Oracle Base Database ServiceOracle Exadata Database Service on Dedicated InfrastructureOracle Autonomous Database on Dedicated Exadata Infrastructure 上运行。有关 Oracle Database 根据源和目标方案提供的详细迁移说明,请参见了解详细信息