为转换准备来源

本页介绍了如何使用 Ora2Pg 迁移工具在旧版转换工作区中准备源数据库架构以进行转换。

Oracle 和 PostgreSQL 使用不同的 SQL 方言和数据类型来定义它们包含的对象和数据类型。在这些 SQL 引擎之间迁移时,您需要将 Oracle 架构和代码转换为与 PostgreSQL 兼容的架构和代码。

在 Database Migration Service 中,您可以通过以下两种方式进行源代码转换:

  • (推荐)将转化工作区与内置转化编辑器搭配使用。

    在此方法中,架构转换是自动进行的,所有操作都直接在 Database Migration Service 中完成。如果您选择使用此方法,则无需进行额外的准备(除了添加相关的连接信息之外)。继续前往配置 AlloyDB for PostgreSQL 目标数据库部分。

  • 将旧版转换工作区与 Ora2Pg 转换工具搭配使用。

    如果您想在 Database Migration Service 之外运行转换流程,此方法会很有用。请先执行使用 Ora2Pg 进行架构转换部分中的所有步骤,然后再创建转换工作区。

使用 Ora2Pg 进行架构转换

在设置转化工作区之前,请执行以下操作:

  1. 配置 Ora2Pg 文件。如需了解详情,请参阅 Ora2Pg 文档的配置部分。
  2. 使用 Ora2Pg 生成可加载到 AlloyDB for PostgreSQL 目标数据库的 SQL 脚本。如需了解详情,请参阅 Ora2Pg 文档的安装部分。
  3. 在 AlloyDB for PostgreSQL 数据库上运行 SQL 脚本。这将在该数据库上创建架构。

完成这些步骤后, 创建一个包含您配置的 Ora2Pg 文件的转换工作区。Database Migration Service 会使用此文件在 Oracle 源数据库和 AlloyDB for PostgreSQL 目标数据库之间创建表映射。这些表映射用于确保 Database Migration Service 将数据正确地从来源加载到目标位置。

使用 Ora2Pg 指令

Database Migration Service 在 Ora2Pg 配置文件中使用以下指令:

  • BOOLEAN_VALUES
  • DATA_TYPE
  • DEFAULT_NUMERIC
  • ENABLE_MICROSECOND
  • EXPORT_SCHEMA
  • MODIFY_STRUCT
  • MODIFY_TYPE
  • PG_INTEGER_TYPE
  • PG_NUMERIC_TYPE
  • PG_SCHEMA
  • PRESERVE_CASE
  • REPLACE_AS_BOOLEAN
  • REPLACE_COLS
  • REPLACE_TABLES
  • SCHEMA

由于 Database Migration Service 使用连接配置文件来定义连接详细信息,因此您无需在 Or2Pg 配置文件中定义以下指令:

  • ORACLE_DSN
  • ORACLE_HOME
  • ORACLE_PWD
  • ORACLE_USER
  • PG_DSN
  • PG_PWD
  • PG_USER

此外,Database Migration Service 不会使用 WHERE 配置指令来限制要迁移的记录。

如需详细了解 Ora2Pg 配置指令,请参阅 Ora2Pg 文档的配置部分。

使用没有主键的表

对于没有主键的表,数据操纵语言 UPDATEDELETE 语句可能会导致重复记录,因为 Database Migration Service 无法跟踪已更改哪一行。如需了解如何迁移源数据库中没有主键的表,请参阅迁移没有主键的表