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

创建任务

您必须执行几项操作才能创建 AWS DMS 迁移任务:

  • 在创建迁移任务之前,创建源终端节点、目标终端节点以及复制实例。

  • 选择迁移方法:

    • 将数据迁移到目标数据库 – 该过程将在目标数据库中创建文件或表,并自动定义目标所需的元数据。它还会用源数据填充表。为提高效率,系统将并行加载表中的数据。该过程是 AWS 控制台中的迁移现有数据选项,在 API 中称为 Full Load

    • 迁移期间捕获更改 – 该过程捕获在将数据从源迁移到目标时对源数据库进行的更改。在完成最初请求的数据的迁移后,更改数据捕获 (CDC) 过程会将捕获到的更改应用于目标数据库。捕获更改并以单个提交事务为单位应用更改,并且可以将多个不同的目标表作为单个源提交进行更新。此方法可保证目标数据库中的事务完整性。该过程是 AWS 控制台中的迁移现有数据并复制持续更改选项,在 API 中称为 full-load-and-cdc

    • 仅复制源数据库上的数据更改 – 该过程读取源数据库管理系统 (DBMS) 的恢复日志文件并将每个事务的条目组合在一起。在某些情况下,AWS DMS 无法在合理的时间内对目标应用更改(例如,如果目标不可访问)。在这些情况下,AWS DMS 会在必要时对复制服务器上的更改进行缓冲。它不会重新读取源 DBMS 日志,这可能需要大量时间。该过程是 AWS DMS 控制台中的 Replicate data changes only (仅复制数据更改) 选项。

  • 确定该任务如何处理源上的大型二进制对象 (LOB)。有关更多信息,请参阅 在 AWS DMS 任务中为源数据库设置 LOB 支持

  • 指定迁移任务设置。这些设置包括设置日志记录,指定写入到迁移控制表的数据,如何处理错误以及其他设置。有关任务设置的更多信息,请参阅指定 AWS Database Migration Service 任务的任务设置

  • 设置表映射以定义用于选择和筛选要迁移的数据的规则。有关表映射的更多信息,请参阅使用表映射指定任务设置。在指定映射之前,请确保查看有关源数据库和目标数据库之间的数据类型映射的文档部分。

您可以选择在 Create task (创建任务) 页面上指定任务的信息后立即启动任务。或者,在指定任务信息后从“Dashboard (控制面板)”页启动任务。

以下过程假定您已选择 AWS DMS 控制台向导并且已使用该向导指定复制实例信息和终端节点。还可以从 AWS DMS 控制台的导航窗格中选择 Tasks (任务),然后选择 Create task (创建任务) 来执行该步骤。

创建迁移任务

  1. 创建任务页中,指定任务选项。下表描述了设置。

    
                        Create task (创建任务)
    对于此选项 执行该操作

    任务名称

    为任务键入名称。

    任务描述

    键入任务的说明。

    源终端节点

    显示要使用的源终端节点。

    目标终端节点

    显示要使用的目标终端节点。

    复制实例

    显示要使用的复制实例。

    迁移类型

    选择要使用的迁移方法。您可以选择仅让现有数据迁移到目标数据库,或将持续更改以及迁移的数据发送到目标数据库。

    在创建时启动任务

    在选定该选项时,任务将在创建后立即开始。

  2. 选择任务设置选项卡 (如下所示),指定目标表、LOB 支持以及启用日志记录值。显示的任务设置取决于所选的迁移类型值。例如,在选择迁移现有数据时,将显示以下选项:

    
                        Task settings (任务设置)
    对于此选项 执行该操作

    目标表准备模式

    Do nothing (不执行任何操作) – 在 Do nothing (不执行任何操作) 模式中,AWS DMS 假定目标上已预先创建目标表。如果迁移是完全加载或者完全加载加 CDC,则在开始迁移之前,您必须确保目标表为空。在下列情况中,Do nothing (不执行任何操作) 模式是仅 CDC 任务下的合适选择:目标表已经从源预先回填。还将跳过持续复制以确保源和目标同步。要预先创建表,您可以使用 AWS Schema Conversion Tool (AWS SCT)。有关更多信息,请参阅安装 AWS SCT

    删除目标中的表 – 在删除目标中的表模式下,AWS DMS 在开始迁移之前删除目标表,然后重新创建它们。这确保了在迁移开始时目标表为空。AWS DMS 仅创建有效迁移数据所需的对象:表、主键以及(在某些情况下)唯一索引。AWS DMS 不会创建二级索引、非主键约束或列数据默认值。如果您执行完全加载外加 CDC 或仅 CDC 任务,我们建议您此时暂停迁移。然后,创建支持筛选更新和删除语句的二级索引。

    使用删除目标中的表模式时,您可能需要在目标数据库上执行某些配置。例如,对于 Oracle 目标,由于安全原因,AWS DMS 无法创建架构(数据库用户)。在这种情况下,您必须预先创建架构用户,以便 AWS DMS 可以在迁移开始时创建表。对于大多数其他目标类型,AWS DMS 使用合适的配置参数创建架构以及所有关联的表。

    截断 – 在截断模式中,AWS DMS 在迁移开始之前截断所有目标表。Truncate (截断) 模式适用于完全加载迁移或完全加载加 CDC 迁移,其中目标架构在迁移开始前已预先创建。要预先创建表,您可以使用 AWS SCT。有关更多信息,请参阅安装 AWS SCT

    在复制时包括 LOB 列

    不包括 LOB 列 – 从迁移操作中排除 LOB 列。

    完整 LOB 模式 – 无论大小,迁移整个 LOB。AWS DMS 以块的形式分段迁移 LOB,块的大小受 Max LOB size (最大 LOB 大小) 参数控制。此模式比受限 LOB 模式的速度要慢。

    受限 LOB 模式 – 将 LOB 截断为 Max LOB size (最大 LOB 大小) 参数的值。此模式比使用完整 LOB 模式的速度要快。

    最大 LOB 大小 (kb)

    受限 LOB 模式下,超出 Max LOB size (最大 LOB 大小) 设置的 LOB 列将被截断到指定的 最大 LOB 大小

    启用验证

    启用数据验证,以确认准确地将数据从源迁移到目标。有关更多信息,请参阅验证 AWS DMS 任务

    启用日志记录

    启用 Amazon CloudWatch 日志记录。

    如果为迁移类型选择迁移现有数据并复制,将显示以下选项:

    
                        Task settings (任务设置)
    对于此选项 执行该操作

    目标表准备模式

    Do nothing (不执行任何操作) – 不更改目标表的数据和元数据。

    Drop tables on target (删除目标中的表) – 删除表并在其位置创建新表。

    截断 – 截断表,而不会影响表元数据。

    在完全加载完成后停止任务

    不停止 – 不停止任务,但立即应用缓存的更改,然后继续。

    在应用缓存的更改前停止 - 在应用缓存的更改之前停止任务。使用此方式时,可以添加可能会加速更改应用的辅助索引。

    在应用缓存的更改之后停止 – 在应用缓存的更改后停止任务。使用此方式时,可以在使用事务应用时添加外键、触发器等。

    在复制时包括 LOB 列

    不包括 LOB 列 – 从迁移操作中排除 LOB 列。

    完整 LOB 模式 – 迁移整个 LOB,而不管大小如何。在受 LOB 块大小控制的组块中分段迁移 LOB。此方法比受限 LOB 模式速度慢。

    受限的 LOB 模式 – 将 LOB 截断到“最大 LOB 大小”。这种方法比使用完整 LOB 模式快。

    最大 LOB 大小 (KB)

    受限 LOB 模式下,超出 Max LOB size (最大 LOB 大小) 设置的 LOB 列将被截断到指定的最大 LOB 大小。

    启用验证

    启用数据验证,以确认准确地将数据从源迁移到目标。有关更多信息,请参阅验证 AWS DMS 任务

    启用日志记录

    启用 CloudWatch 日志记录。

  3. 选择表映射选项卡 (如下所示) 以设置架构映射和映射方法值。如果选择自定义,您可以指定目标架构和表值。有关表映射的更多信息,请参阅使用表映射指定任务设置

    
                        Table mapping (表映射)
  4. 完成任务设置后,请选择 Create task (创建任务)