借助 Database Migration Service,您可以将 Oracle 数据库架构、表和代码对象转换为 PostgreSQL 语法,然后将数据从 Oracle 数据库迁移到 Cloud SQL for PostgreSQL。Database Migration Service 支持多种不同的 Oracle 产品和服务,包括裸金属解决方案、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、16、17。 |
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 支持持续迁移流程。在此方法中,系统会先从完整转储中加载数据,然后根据 数据库日志文件中显示的数据更改信息进行持续更新。
概括来讲,您的数据会按如下步骤完成迁移:
-
您可以使用 Database Migration Service 转换工作区将架构、表和其他对象从 Oracle 语法转换为 PostgreSQL 语法。
Oracle 数据库通常包含数千个需要转换架构的对象。借助 Database Migration Service,您可以将工作分为多个阶段。Database Migration Service 可以连接到您的源数据库,并在需要时提取所需的架构信息。
-
将所有实体转换为 PostgreSQL 语法后,您可以将架构应用于目标实例中的数据库。
此阶段的目标是准备目标数据库,以便 Database Migration Service 稍后能够将数据从源表复制到 Cloud SQL for PostgreSQL 中正确的等效表。
应用架构后,您就可以开始数据迁移了。
-
完全转储阶段是迁移流程的第一部分。 您可以通过以下两种方式完成完整转储:
-
自动:Database Migration Service 会连接到您的源实例,读取您选择要迁移的表的内容,然后将数据加载到 Cloud SQL for PostgreSQL 目标实例。
在此阶段,Database Migration Service 会捕获数据库的实际内容。
- 手动:您可以跳过完整转储阶段,并在 Database Migration Service 之外自行执行该阶段。如果是,您可以通过提供 Oracle 系统变更编号作为复制起点,从变更数据捕获 (CDC) 阶段开始迁移过程。
-
-
完整转储阶段结束后,Database Migration Service 会切换到 CDC 阶段。在 CDC 期间,Database Migration Service 会持续监控源数据库中的更改,然后在目标实例上持续复制这些更改。
在此阶段,Database Migration Service 不会从源表复制实际数据,而是会读取从 数据库日志文件中提取的信息,以便在目标位置复制更改。如需详细了解此机制,请参阅 捕获变更数据。
当您想要切换应用,使其使用 Cloud SQL for PostgreSQL 目标实例作为生产数据库时,可以停止正在进行的复制并提升迁移作业。如需详细了解分步迁移指南,请参阅 Oracle 到 Cloud SQL for PostgreSQL 迁移指南。
监控


Database Migration Service 提供丰富的日志记录和可观测性功能,可帮助您监控迁移进度。这些功能包括有关复制延迟和 CDC 进度的实时诊断信息,以及有关 Cloud SQL for PostgreSQL 目标实例运行状况和迁移作业状态的详细日志。
如需了解详情,请参阅迁移作业指标。
迁移安全
Database Migration Service 提供了多种加密机制,可供您在迁移过程中使用,以增强安全性。这些机制包括:
用于加密 Database Migration Service 与源数据库之间的网络连接的 SSL/TLS 证书。如需了解详情,请参阅 加密概览。
加密证书,用于在完整转储和 CDC 阶段保护数据传输。如需了解详情,请参阅 适用于迁移作业的 CMEK。
后续步骤
如需详细了解 Database Migration Service 中的 Oracle 数据类型和功能支持,请参阅 已知限制。
如需完整了解分步迁移流程,请参阅 Oracle 到 Cloud SQL for PostgreSQL 迁移指南。