转换工作区

本页面简要介绍了使用 Database Migration Service 转换工作区或其旧版进行异构数据库迁移。转换工作区可帮助您将源数据库中的架构和对象转换为与目标数据库兼容的格式。通过此转换,Database Migration Service 可以在源数据库和目标数据库之间迁移您的数据。

转换工作区包含实时转换编辑器,可让您实时操作架构转换,以及测试转换并将其应用于目标数据库。

不过,如果您使用的是 Ora2Pg 迁移工具,我们建议您使用旧版转换工作区。在这种情况下,架构转换过程会在 Database Migration Service 之外进行,而工作区主要用作源数据库和目标数据库之间的连接器。

下表总结了工作区版本之间的差异:

新版转换工作区旧版转换工作区
架构和代码对象转换在 Database Migration Service 中进行。 您可以使用 Ora2Pg 迁移工具在 Database Migration Service 之外执行架构和代码对象转换。
您可以在 Database Migration Service 中直接将转换后的源应用于目标数据库。 您负责将转换后的架构应用于 Cloud SQL for PostgreSQL 目标实例中的目标数据库。
您可以直接在 Database Migration Service 中测试草稿架构和代码,确保它们可以成功应用于目标实例。 您无法在不影响目标实例的情况下测试草稿架构和代码。
自动为没有主键的表添加缺少的 rowid 列。 您必须先向源表添加缺少的主键,然后才能转换架构。请参阅 迁移没有主键的表
表 1:转化工作区功能对比

内置转化编辑器

以下部分简要介绍了转化工作区中可修改的代码对象和转化自定义设置。

可修改的 Oracle 对象

在新的转换工作区中转换源数据库和代码后,您可以使用实时编辑器修改针对特定类型对象生成的 SQL。实时编辑器支持以下 Oracle 对象:

  • 表触发器(需要权限)
  • 具体化视图
  • 套餐
  • 函数、存储过程
  • 同义词
  • 视图
  • 限制条件
  • 索引
  • 序列

此外,某些对象虽然已转换,但无法直接在 Database Migration Service 中修改。如需修改此类对象,您需要在应用转换的架构和代码后直接在目标数据库上执行更新。

不支持修改的对象:

  • 用户定义的对象类型
  • Tables
  • 架构

代码和架构转换支持

新版转换工作区支持以下 Oracle 架构和代码元素:

支持的 Oracle 架构元素

  • 限制条件
  • 索引(仅限与其表在同一架构中创建的索引)
  • 具体化视图
  • 对象类型(部分支持)
  • 序列
  • 存储过程
  • 同义词
  • Tables
  • 视图

支持的 Oracle PL/SQL 代码元素

  • 触发器(仅限表级)
  • 套餐
  • Functions
  • 存储过程

自定义支持

Database Migration Service 支持在转换过程中自定义架构和代码。可使用以下自定义功能:

重命名实体

适用于受支持的架构和代码元素以及表格列。支持的重命名指令:

移动实体

您可以使用 REPLACE_TABLES 指令并指定完整的目标表名称(即 scheme.table)来移动实体。

更改数据类型

适用于表格列。支持的列类型控制指令: