借助 Database Migration Service,您可以将 Oracle 数据库架构、表和代码对象转换为 PostgreSQL 语法,然后将数据从 Oracle 数据库迁移到 Cloud SQL for PostgreSQL。 Database Migration Service 支持多种不同的 Oracle 产品,包括裸金属解决方案、Oracle Real Application Clusters (RAC) 和自行管理的实例。
本页概述了 Database Migration Service 的主要功能,这些功能适用于从 Oracle 到 Cloud SQL for PostgreSQL 的异构迁移:
支持的源和目标列出了 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 稍后可以将源表中的数据复制到 AlloyDB for PostgreSQL 中对应的正确位置。
应用架构后,您就可以开始数据迁移了。
-
完整转储阶段 是一次性迁移 过程的唯一部分。在此阶段,Database Migration Service 会连接到您的源 实例,读取您选择要迁移的表的内容, 然后将数据加载到 AlloyDB for PostgreSQL 目标实例。
对于一次性迁移,我们建议您在完整转储阶段停用对 源数据库的写入操作。这样,您就可以避免 丢失在迁移过程开始后创建的数据。
-
完整转储阶段结束后,您可以提升目标 数据库,并将应用切换为使用新的目标数据库。
持续迁移
-
您可以使用 Database Migration Service 转换工作区将架构、 表和其他对象从 Oracle 语法转换为 PostgreSQL 语法。
Oracle 数据库通常包含数千个对象 ,您需要转换这些对象的架构。借助 Database Migration Service,您可以将 工作分为多个阶段。Database Migration Service 可以连接到您的源 数据库,并在需要时提取所需的架构信息。
-
将所有实体转换为 PostgreSQL 语法后, 您需要将架构应用于目标实例中的数据库。
此阶段的目标是准备目标数据库,以便 Database Migration Service 稍后可以将源表中的数据复制到 AlloyDB for PostgreSQL 中对应的正确位置。
应用架构后,您就可以开始数据迁移了。
-
完整转储阶段 是迁移过程的第一部分。 您可以通过以下两种方式完成完整转储:
-
自动:Database Migration Service 会连接到您的源实例,读取 您选择要迁移的表的内容,然后将数据加载到 AlloyDB for PostgreSQL 目标实例。
在此阶段,Database Migration Service 会捕获数据库的实际内容。
- 手动:您可以跳过完整转储阶段,并在 Database Migration Service 外部自行执行此阶段。 如果您这样做,则可以提供 Oracle 系统变更编号作为复制的起点,从而从变更数据捕获 (CDC) 阶段开始迁移过程。
-
-
对于持续迁移,完整转储阶段结束后, Database Migration Service 会切换到 CDC 阶段。在 CDC 期间, Database Migration Service 会持续监控源数据库的更改, 然后持续将其复制到目标实例。
在 CDC 阶段,Database Migration Service 不会复制源表中的实际数据,而是读取从 数据库日志文件 中提取的信息,以复制目标中的更改。如需详细了解此 机制,请参阅 变更数据捕获。 当您想要 切换应用以使其将 AlloyDB 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 的指南。