上次更新时间:2021 年 2 月 19 日
如何创建 AWS Database Migration Service (AWS DMS) 任务并为我的任务启用控制表? 解决方法在创建任务并启用控制表之前,请确保您已为您的任务创建了复制实例、源终端节点和目标终端节点。控制表仅用于更改数据捕获 (CDC) 操作。如果您在完整加载期间遇到问题,您可能无法查看控制表中的任何信息。
-
打开 AWS DMS 控制台,然后从导航窗格中选择 Database migration tasks(数据库迁移任务)。
选择创建任务。
从创建数据迁移任务部分中,选择您已创建的复制实例、源终端节点和目标终端节点。
对于迁移类型,选择下列选项之一:
迁移现有数据
迁移现有数据并复制正在进行的更改
仅复制数据更改 从 Task settings(任务设置)部分的 Target table preparation mode(目标表准备模式)中,选择下列选项之一:
Do nothing(不执行任何操作)– 此操作将在目标上没有表时创建表。如果表已存在,则会保持数据和元数据不变。
卸除目标上的资料表 - 此操作将会卸除目标上的表并重新创建表。
截断 - 此操作将会截断数据并使表和元数据保留完整。 从 Task settings(任务设置)部分的 Include LOB columns in replication(在复制中包含 LOB 列)中,选择以下选项之一:
Don't include LOB columns(请勿包含 LOB 列)
Full LOB mode(完整 LOB 模式)– 指定 LOB chunk size(LOB 区块大小)。如果您有大型二进制对象 (LOB),由于 AWS DMS 不了解 LOB 的准确大小,这可能会减慢您的迁移速度。AWS DMS 会按照 LOB 区块大小规定提取区块中的 LOB,直到恢复完整大小。然后,AWS DMS 会将 LOB 迁移到目标。
有限 LOB 模式 - 指定 LOB 的最大大小。这是您迁移的最大 LOB 大小,因此,您必须在您的源数据库中查询此信息。 选择启用 Cloudwatch Logs。
注意:如果您选择启用验证,则任务需要额外的时间才能完成。 从表映射部分中,添加您的架构和表。 展开 Advanced task settings(高级任务设置)。 在 Create control table in target using schema(使用架构在目标中创建控制表)字段中,输入您的控制表架构。如果您没有在架构字段中输入任何信息,则表会复制到数据库中的默认位置。对于每个数据库引擎,参见以下默认位置:
PostgreSQL - 公有
Oracle - 目标架构
SQL Server - 目标数据库中的 dbo
MySQL - awsdms_control
MariaDB - awsdms_control
Amazon Redshift - 公有
Amazon DynamoDB - 已创建为数据库中的各个表 在历史时间段(分钟)字段中,输入每条记录在复制历史记录表中保留的分钟数。 对于以下控制表,请启用以下选项:
Apply exceptions(应用异常)– 此表不能禁用,且其中包含异常、错误及发生错误时所运行语句的相关信息。
Replication status(复制状态)– 此表提供当前任务的详细信息,包括任务状态、任务使用的内存量,以及尚未应用到目标的更改数量。此表还在源数据库中提供读取 AWS DMS 的位置,且此表将指示任务为完整加载还是 CDC。
已暂停的表 - 此表提供已暂停的表列表及暂停表的原因。
复制历史记录 - 此表提供复制历史记录的相关信息。此类信息包括任务期间所处理的记录条数和容量、CDC 任务结束时的延迟和其他统计数据。 选择创建任务。 运行任务,然后检查目标数据库的架构和表。
要为您的任务更改控制表设置,请从导航窗格中选择数据库迁移任务。选择任务,选择操作,然后选择修改。从高级任务设置部分中,您可以更改控制表设置。完成此操作后,选择 Save(保存)。