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

指定 AWS Database Migration Service 任务的任务设置

每个任务都具有可根据数据库迁移需求配置的设置。您在 JSON 文件中创建这些设置,对于某些设置,可以使用 AWS DMS 控制台进行指定。

有几种主要类型的任务设置,如下所列。

任务设置 相关文档

创建任务评估报告

您可以创建一个任务评估报告,以显示在迁移期间可能出现问题的任何不支持的数据类型。在运行任务之前,您可以针对任务运行该报告以找出潜在的问题。

创建任务评估报告

创建任务

在创建任务时,您可以指定源、目标和复制实例以及任何迁移设置。

创建任务

创建持续复制任务

您可以设置任务,以便在源和目标之间提供持续复制。

使用 AWS DMS 为持续复制创建任务

应用任务设置

每个任务都具有可根据数据库迁移需求配置的设置。您在 JSON 文件中创建这些设置,对于某些设置,可以使用 AWS DMS 控制台进行指定。

指定 AWS Database Migration Service 任务的任务设置

数据验证

数据验证是一种任务设置,可用于让 AWS DMS 比较目标数据存储上的数据和源数据存储中的数据。

验证 AWS DMS 任务

修改任务

停止任务后,您可以修改任务的设置。

修改任务

在任务期间重新加载表

如果任务期间出错,您可以重新加载表。

在任务期间重新加载表

使用表映射

表映射使用多个类型的规则来指定任务设置,例如数据源、源架构、数据以及任务期间将发生的任何转换。

选择规则

选择规则和操作

转换规则

转换规则和操作

应用筛选器

您可以使用源筛选器来限制从源传输到目标的记录的数量和类型。例如,您可以指定仅将总部员工移动到目标数据库。还可以对数据列应用筛选器。

使用源筛选器

监控任务

可通过多种方式获取有关任务性能以及任务使用的表的信息。

监控 AWS DMS 任务

Managing Task Logs(管理任务日志)

您可以使用 AWS DMS API 或 AWS CLI 查看和删除任务日志。

管理 AWS DMS 任务日志

任务设置 JSON 文件可能如下所示:

{ "TargetMetadata": { "TargetSchema": "", "SupportLobs": true, "FullLobMode": false, "LobChunkSize": 64, "LimitedSizeLobMode": true, "LobMaxSize": 32, "BatchApplyEnabled": true }, "FullLoadSettings": { "TargetTablePrepMode": "DO_NOTHING", "CreatePkAfterFullLoad": false, "StopTaskCachedChangesApplied": false, "StopTaskCachedChangesNotApplied": false, "MaxFullLoadSubTasks": 8, "TransactionConsistencyTimeout": 600, "CommitRate": 10000 }, "Logging": { "EnableLogging": false }, "ControlTablesSettings": { "ControlSchema":"", "HistoryTimeslotInMinutes":5, "HistoryTableEnabled": false, "SuspendedTablesTableEnabled": false, "StatusTableEnabled": false }, "StreamBufferSettings": { "StreamBufferCount": 3, "StreamBufferSizeInMB": 8 }, "ChangeProcessingTuning": { "BatchApplyPreserveTransaction": true, "BatchApplyTimeoutMin": 1, "BatchApplyTimeoutMax": 30, "BatchApplyMemoryLimit": 500, "BatchSplitSize": 0, "MinTransactionSize": 1000, "CommitTimeout": 1, "MemoryLimitTotal": 1024, "MemoryKeepTime": 60, "StatementCacheSize": 50 }, "ChangeProcessingDdlHandlingPolicy": { "HandleSourceTableDropped": true, "HandleSourceTableTruncated": true, "HandleSourceTableAltered": true }, "ValidationSettings": { "EnableValidation": false, "ThreadCount": 5 }, "ErrorBehavior": { "DataErrorPolicy": "LOG_ERROR", "DataTruncationErrorPolicy":"LOG_ERROR", "DataErrorEscalationPolicy":"SUSPEND_TABLE", "DataErrorEscalationCount": 50, "TableErrorPolicy":"SUSPEND_TABLE", "TableErrorEscalationPolicy":"STOP_TASK", "TableErrorEscalationCount": 50, "RecoverableErrorCount": 0, "RecoverableErrorInterval": 5, "RecoverableErrorThrottling": true, "RecoverableErrorThrottlingMax": 1800, "ApplyErrorDeletePolicy":"IGNORE_RECORD", "ApplyErrorInsertPolicy":"LOG_ERROR", "ApplyErrorUpdatePolicy":"LOG_ERROR", "ApplyErrorEscalationPolicy":"LOG_ERROR", "ApplyErrorEscalationCount": 0, "FullLoadIgnoreConflicts": true } }

表的并行加载

AWS DMS 可以在逻辑上将完全加载任务拆分为多个子任务以并行使用多个线程加载表。您可以使用此并行处理以拥有多个线程加载表和分区表,然后将这些表迁移到目标终端节点。您可以按主键值或使用一些数据库引擎或按分区或子分区拆分表。

要使用并行加载,请使用 parallel-load 选项创建 table-settings 类型的规则。在 table-settings 规则中,请指定要并行加载的一个或多个表的选择条件。要指定选择条件,请将 parallel-loadtype 元素设置为下列项之一:

  • partitions-auto

  • subpartitions-auto

  • none

以下示例阐述如何创建 table-settings 规则来并行加载表分区。

{ "rules": [{ "rule-type": "table-settings", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "table1" }, "parallel-load": { "type": "partitions-auto" } }] }

本页内容: