迁移 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 平台上的数据库;也就是说,是否会进行任何跨端迁移?
  • 是否有任何可能需要一起迁移的从属数据库?
  • 是否有任何要迁移的第三方数据库(非 Oracle 数据库)以及哪些版本(例如 SQL Server 2016)?
  • 对于测试和开发数据库,是迁移所有副本,还是仅迁移主副本?
  • 数据库有多大 - 数据本身的磁盘空间和空间总量 (GB/TB)?
  • 您是否要使用 FastConnect 或 VPN 与 Oracle Cloud 建立网络连接?数据库的带宽和大小将主要驱动迁移解决方案。

移植选项

可以通过多种方法将 Oracle 数据库从内部部署迁移到 Oracle Cloud Infrastructure。每种方法都取决于业务恢复点目标 (recovery point objective,RPO)、恢复时间目标 (recovery time objective,RTO) 和总体可用性服务级别协议 (integrated availability service level agreement,SLA)。迁移管理员必须评估这些业务协议并使用适当的方法进行映射。

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

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

需要源在导出期间为只读

具有相同字节顺序的完整数据库(需要源 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,您有机会将 Oracle 多租户选项与最多三个可插入数据库 (Pluggable Database,PDB) 一起使用。这进一步提供了更大的规模经济,并通过应用和数据库现代化实现更高的整合密度。因此,应确定哪些数据库适合部署的容器数据库 (container database,CDB) 模型。

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

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

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

本文不提供从内部部署环境中零停机 Oracle Database 迁移的详细步骤。您可以按照“Oracle Database:使用零停机迁移迁移迁移到 Oracle Cloud”中概述的详细步骤操作。

Oracle Zero Downtime Migration 提供以下数据库支持和支持的配置:
  • Oracle Zero Downtime Migration 支持 Oracle Database 版本 11.2.0.4 及更高版本。
  • 源数据库和目标数据库应使用相同的数据库版本。
  • Oracle Zero Downtime Migration 支持 Linux 操作系统上托管的 Oracle 数据库。
  • 源数据库可以是迁移到单个实例或 Oracle Real Application Clusters (RAC) 数据库的单实例数据库,也可以是 RAC 单节点或 RAC 数据库(迁移到 RAC 数据库)。
  • Oracle Zero Downtime Migration 支持将 Enterprise Edition 和 Standard Edition Oracle 数据库作为源数据库。Enterprise Edition 数据库使用 Oracle Data Guard 进行迁移;标准版数据库使用备份和还原方法脱机迁移。
  • Oracle Zero Downtime Migration 允许源数据库是具有一个或多个可插入数据库 (PDB) 的非容器数据库 (CDB) 或容器数据库 (CDB) 。如果源数据库是非 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 迁移说明,请参阅了解更多信息