AWS Database Migration Service
分步迁移指南 (API 版本 2016-01-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

步骤 4:使用 AWS Schema Conversion Tool (AWS SCT) 将 Oracle 架构转换为 PostgreSQL

在将数据迁移到 PostgreSQL 之前,您需要将 Oracle 架构转换为 PostgreSQL 架构。

使用 AWS SCT 将 Oracle 架构转换为 PostgreSQL 架构

  1. 启动 AWS SCT。在 AWS SCT 中,选择 File,然后选择 New Project。创建一个名为 AWS Schema Conversion Tool Oracle to PostgreSQL 的新项目。在“New Project (新建项目)”窗口中输入以下信息,然后选择 OK (确定)

    参数 说明

    Project Name

    Type AWS Schema Conversion Tool Oracle to PostgreSQL.

    位置

    使用默认 Projects 文件夹和默认 Transactional Database (OLTP) 选项。

    Source Database Engine

    选择 Oracle

    Target Database Engine

    选择 Amazon RDS for PostgreSQL

    
                                 在 AWS SCT 中创建新项目
  2. 选择 Connect to Oracle。在 Connect to Oracle 对话框中,输入以下信息,然后选择 Test Connection

    参数 说明

    Type (类型)

    选择 SID

    Server name

    键入服务器名称。

    Server port

    键入 Oracle 端口号。默认为 1521

    Oracle SID

    键入数据库 SID。

    用户名

    键入 Oracle 管理员用户名。

    密码

    提供管理员用户的密码。

    
                                在 AWS Schema Conversion Tool 中测试 Oracle 连接
  3. 选择 OK 以关闭警告框,然后选择 OK 以关闭对话框并开始连接到 Oracle 数据库实例。这将显示 Oracle 数据库实例上的数据库结构。

  4. 选择 Connect to Amazon RDS for PostgreSQL。在 Connect to Amazon PostgreSQL 对话框中,输入以下信息,然后选择 Test Connection

    参数 说明

    服务器名称

    键入服务器名称。

    Server port

    键入 PostgreSQL 端口号。默认为 5432

    Database (数据库)

    键入数据库名称。

    用户名

    键入 PostgreSQL 管理员用户名。

    密码

    提供管理员用户的密码。

    
                                在 AWS Schema Conversion Tool 中测试 PostgreSQL 连接
  5. 选择 OK 以关闭警告框,然后选择 OK 以关闭对话框并开始连接到 PostgreSQL 数据库实例。

  6. 打开要迁移的架构的上下文 (右键单击) 菜单,然后选择 Convert schema

    
                            在 AWS SCT 中选择“Convert schema”(转换架构)
  7. 对于确认消息,请选择 Yes。然后,AWS SCT 将架构转换为目标数据库格式。

    
                            AWS SCT 架构转换

    AWS SCT 分析架构,并为到 PostgreSQL 的转换创建数据库迁移评估报告。

  8. View 中选择 Assessment Report View 以检查报告。

    该报告按每种对象类型以及成功转换所需的手动更改量进行细分。

    
                                AWS SCT 中的数据库迁移报告

    通常,包、过程和函数很可能会出现一些需要解决的问题,因为它们包含大多数的自定义 PL/SQL 代码。AWS SCT 还提供有关如何修复这些对象的提示。

    
                            AWS SCT 中的详细数据库迁移报告
  9. 选择 Action Items 选项卡。

    
                            AWS SCT 中的操作项

    Action Items 选项卡显示每个对象需要引起注意的各个问题。

    对于每个转换问题,您可以完成以下操作之一:

    • 在源 Oracle 数据库上修改这些对象,以便 AWS SCT 可以将这些对象转换为目标 PostgreSQL 数据库中的对象。

      1. 在源 Oracle 数据库上修改这些对象。

      2. 重复上述步骤以转换架构和检查评估报告。

      3. 如果需要,请重复该过程,直到没有转换问题为止。

      4. View 中选择 Main View,打开目标 PostgreSQL 架构的上下文 (右键单击) 菜单,然后选择 Apply to database 以将架构更改应用于 PostgreSQL 数据库。

        
                                        应用架构更改
    • 修改 AWS SCT 生成的脚本,而不是修改源模式,然后再在目标 PostgreSQL 数据库上应用这些脚本。

      1. 打开目标 PostgreSQL 架构名称的上下文 (右键单击) 菜单,然后选择 Save as SQL。接下来,选择脚本的名称和目标。

      2. 在脚本中,修改这些对象以纠正转换问题。

      3. 在目标 PostgreSQL 数据库上运行该脚本。

    有关更多信息,请参阅 AWS Schema Conversion Tool 用户指南 中的使用 AWS Schema Conversion Tool 将数据库架构转换为 Amazon RDS

  10. 使用 AWS SCT 创建一个映射规则。

    1. Settings 下面,选择 Mapping Rules

    2. 除了将架构名称和表名称转换为小写形式的两个默认映射规则以外,还可以根据操作项创建所需的额外映射规则。

    3. 保存映射规则。

      
                                    保存映射规则
    4. 单击 Export script for DMS (导出 DMS 的脚本) 以导出所有转换的 JSON 格式,AWS DMS 任务将使用这些转换确定源中的对象与目标上的哪些对象相对应。单击保存