如何在 AWS DMS 中创建任务并启用控制表?

上次更新时间:2019 年 6 月 26 日

如何创建 AWS Database Migration Service (AWS DMS) 并为我的任务启用控制表?

解决方法

在创建任务并启用控制表之前,请确保您已为您的任务创建了复制实例、源终端节点和目标终端节点。控制表仅用于更改数据捕获 (CDC) 操作。如果您在完整加载期间遇到问题,您可能无法查看控制表中的任何信息。

  1. 打开 AWS DMS 控制台,然后从导航窗格中选择数据库迁移任务
  2. 选择创建任务
  3. 创建数据迁移任务部分中,选择您已创建的复制实例、源终端节点和目标终端节点。
  4. 对于迁移类型,选择下列选项之一:
    迁移现有数据
    迁移现有数据并复制正在进行的更改
    仅复制数据更改
  5. 任务设置部分中的目标表准备模式中,选择下列选项之一:
    不执行任何操作 - 此操作将在目标上没有表时创建表。如果表已存在,则会保持数据和元数据不变。
    卸除目标上的资料表 - 此操作将会卸除目标上的表并重新创建表。
    截断 - 此操作将会截断数据并使表和元数据保留完整。
  6. 任务设置部分的在复制中包含 LOB 列中,选择以下选项之一:
    请勿包含 LOB 列
    完整的 LOB 模式 - 指定 LOB 区块大小。如果您有大型二进制对象 (LOB),由于 AWS DMS 不了解 LOB 的准确大小,这可能会减慢您的迁移速度。AWS DMS 会按照 LOB 区块大小规定提取区块中的 LOB,直到恢复完整大小。然后,AWS DMS 会将 LOB 迁移到目标。
    有限 LOB 模式 - 指定 LOB 的最大大小。这是您迁移的最大 LOB 大小,因此,您必须在您的源数据库中查询此信息。
  7. 选择启用 Cloudwatch Logs
    注意:如果您选择启用验证,则任务需要额外的时间才能完成。
  8. 表映射部分中,添加您的架构和表。
  9. 展开高级任务设置
  10. 使用架构在目标中创建控制表字段中,输入您的控制表架构。如果您没有在架构字段中输入任何信息,则表会复制到数据库中的默认位置。对于每个数据库引擎,参见以下默认位置:
    PostgreSQL - 公有
    Oracle - 目标架构
    SQL Server - 目标数据库中的 dbo
    MySQL - awsdms_control
    MariaDB - awsdms_control
    Amazon Redshift - 公有
    Amazon DynamoDB - 已创建为数据库中的各个表
  11. 历史时间段(分钟)字段中,输入每条记录在复制历史记录表中保留的分钟数。
  12. 对于以下控制表,请启用以下选项:
    应用异常 - 此表不能禁用,且其中包含异常、错误及发生错误时所运行语句的相关信息。
    复制状态 - 此表提供当前任务的详细信息,包括任务状态、任务使用的内存量,以及尚未应用到目标的更改数量。此表还在源数据库中提供读取 AWS DMS 的位置,且此表将指示任务为完整加载还是 CDC。
    已暂停的表 - 此表提供已暂停的表列表及暂停表的原因。
    复制历史记录 - 此表提供复制历史记录的相关信息。此类信息包括任务期间所处理的记录条数和容量、CDC 任务结束时的延迟和其他统计数据。
  13. 选择创建任务
  14. 运行任务,然后检查目标数据库的架构和表。

要为您的任务更改控制表设置,请从导航窗格中选择数据库迁移任务。选择任务,选择操作,然后选择修改。从高级任务设置部分中,您可以更改控制表设置。完成此操作后,选择保存


这篇文章对您有帮助吗?

您觉得我们哪些地方需要改进?


需要更多帮助?