使用 Database Migration Service 将异构 Oracle 迁移到 Cloud SQL for PostgreSQL

借助 Database Migration Service,您可以将 Oracle 数据库架构、表和代码对象转换为 PostgreSQL 语法,然后将数据从 Oracle 数据库迁移到 Cloud SQL for PostgreSQL。Database Migration Service 支持多种不同的 Oracle 产品和服务,包括 Bare Metal 解决方案、Oracle Real Application Clusters (RAC) 和自行管理的实例。

本页面简要介绍了适用于从 Oracle 到 Cloud SQL for PostgreSQL 的异构迁移的 Database Migration Service 关键功能:

  • 支持的源数据库和目标数据库列出了 Database Migration Service 支持的所有 Oracle 版本。

  • 代码和架构转换介绍了 Database Migration Service 如何帮助您将架构、表和其他对象从 Oracle 语法转换为 PostgreSQL 语法。

  • 持续迁移数据流概要介绍了数据在迁移过程中在 Google Cloud 中的移动方式。

  • 监控部分介绍了日志和指标,它们有助于您观察迁移作业的进度和运行状况。

  • 迁移安全介绍了 Database Migration Service 提供的加密功能。

支持的源数据库和目标数据库

Database Migration Service 支持将以下 Oracle 数据库用作迁移源:
  • Amazon RDS for Oracle
  • 自行托管的部署,包括:
    • Oracle 单实例数据库部署
    • Oracle Exadata
    • Oracle Active Data Guard
    • Oracle Real Application Clusters (RAC)

是否提供完整支持还取决于您的源 Oracle 版本。 下表列出了异构 Oracle 迁移支持的所有版本:

源数据库 目标数据库
Oracle 11g,11.2.0.4 版 Cloud SQL for PostgreSQL 12、13、14、15。
Oracle 12c,12.1.0.2 版
Oracle 12c,12.2.0.1 版
Oracle 18c
Oracle 19c
Oracle 21c

不受支持的源数据库

Database Migration Service 不支持从 Oracle 自治数据库进行迁移。

代码和架构转换

Database Migration Service 转换工作区提供交互式编辑器体验,您可以在其中将架构、表和其他对象从 Oracle 语法转换为 PostgreSQL 语法。互动式转换工作区还支持 Gemini 辅助的工作流,可提供代码可解释性和转换问题修复功能。

如需了解详情,请参阅 转换工作区

持续迁移数据流

对于将 Oracle 异构迁移到 PostgreSQL,Database Migration Service 支持持续迁移流程。在此方法中,系统会先从完整转储中加载数据,然后根据 数据库日志文件中显示的数据更改信息进行持续更新。

Oracle 迁移流程概览。
图 1. Database Migration Service for Oracle 异构迁移期间的数据移动。(点击可放大)
Oracle 迁移流程概览。

概括来讲,您的数据会按如下步骤完成迁移:

  1. 您可以使用 Database Migration Service 转换工作区将架构、表和其他对象从 Oracle 语法转换为 PostgreSQL 语法。

    Oracle 数据库通常包含数千个需要转换架构的对象。借助 Database Migration Service,您可以将工作分为多个阶段。Database Migration Service 可以连接到您的源数据库,并在需要时提取所需的架构信息。

  2. 将所有实体转换为 PostgreSQL 语法后,您可以将架构应用于目标实例中的数据库。

    此阶段的目标是准备目标数据库,以便 Database Migration Service 稍后能够将数据从源表复制到 Cloud SQL for PostgreSQL 中正确的等效表。

    应用架构后,您就可以开始数据迁移了。

  3. 完全转储阶段是迁移流程的第一部分。 您可以通过以下两种方式完成完整转储:

    • 自动:Database Migration Service 会连接到您的源实例,读取您选择要迁移的表的内容,然后将数据加载到 Cloud SQL for PostgreSQL 目标实例。

      在此阶段,Database Migration Service 会捕获数据库的实际内容。

    • 手动:您可以跳过完整转储阶段,并在 Database Migration Service 之外自行执行该阶段。如果是,您可以通过提供 Oracle 系统变更编号作为复制起点,从变更数据捕获 (CDC) 阶段开始迁移过程。
  4. 完整转储阶段结束后,Database Migration Service 会切换到 CDC 阶段。在 CDC 期间,Database Migration Service 会持续监控源数据库中的更改,然后将这些更改持续复制到目标实例。

    在此阶段,Database Migration Service 不会从源表复制实际数据,而是会读取从 数据库日志文件中提取的信息,以便在目标位置复制更改。如需详细了解此机制,请参阅 捕获变更数据

当您想要切换应用,使其使用 Cloud SQL for PostgreSQL 目标实例作为生产数据库时,可以停止正在进行的复制并提升迁移作业。如需详细了解分步迁移指南,请参阅 Oracle 到 Cloud SQL for PostgreSQL 迁移指南

监控

Database Migration Service 中迁移作业复制延迟示意图。
图 2. Database Migration Service 中的可观测性示例图。 (点击可放大)
Database Migration Service 中迁移作业复制延迟示意图。

Database Migration Service 提供丰富的日志记录和可观测性功能,可帮助您监控迁移进度。这些功能包括有关复制延迟和 CDC 进度的实时诊断信息,以及有关 Cloud SQL for PostgreSQL 目标实例运行状况和迁移作业状态的详细日志。

如需了解详情,请参阅迁移作业指标

迁移安全

Database Migration Service 提供了多种加密机制,可供您在迁移过程中使用,以增强安全性。这些机制包括:

  • 用于加密 Database Migration Service 与源数据库之间的网络连接的 SSL/TLS 证书。如需了解详情,请参阅 加密概览

  • 加密证书,用于在完整转储和 CDC 阶段保护数据移动。如需了解详情,请参阅 适用于迁移作业的 CMEK

后续步骤