

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 控制表任务设置
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.ControlTable"></a>

控制表提供有关 AWS DMS 任务的信息。它们还提供有用的统计数据，可用来计划和管理当前迁移任务和将来任务。您可以在 JSON 文件中应用这些任务设置，也可以通过在 AWS DMS 控制台的 “**创建任务” 页面上选择 **“高级设置**” 来应用这些任务**设置。将始终在数据库目标上创建应用异常表（`dmslogs.awsdms_apply_exceptions`）。有关如何使用任务配置文件来设置任务设置的信息，请参阅[任务设置示例](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example)。

AWS DMS 仅在 Full Load \$1 CDC 或仅限 CDC 任务期间创建控制表，而不能在 “仅限满载” 任务期间创建控制表。

对于完全加载和 CDC（迁移现有数据并复制持续更改）以及仅 CDC（仅复制数据更改）任务，您还可以创建其他表，包括以下表：
+ **复制状态（dmslogs.awsdms\$1status）**– 此表提供有关当前任务的详细信息。其中包括任务状态、任务使用的内存量以及尚未应用于目标的更改的数量。此表还给出了源数据库中当前 AWS DMS 正在读取的位置。它还指示任务是完全加载阶段还是更改数据捕获（CDC）。
+ **暂停的表（dmslogs.awsdms\$1suspended\$1tables）**– 该表提供一系列暂停的表及其暂停原因。
+ **复制历史记录（dmslogs.awsdms\$1history）**– 此表提供有关复制历史记录的信息。此信息包括任务期间处理的记录的数量、CDC 任务结束时的延迟以及其他统计数据。

应用例外表 (`dmslogs.awsdms_apply_exceptions`) 包含以下参数。


| 列 | Type | 说明 | 
| --- | --- | --- | 
|  TASK\$1NAME  |  nvchar  |   AWS DMS 任务的资源 ID。资源 ID 可以在任务 ARN 中找到。  | 
|  TABLE\$1OWNER  |  nvchar  |  表所有者。  | 
|  TABLE\$1NAME  |  nvchar  |  表名称。  | 
|  ERROR\$1TIME  |  timestamp  |  异常 (错误) 的出现时间。  | 
|  STATEMENT  |  nvchar  |  出错时运行的语句。  | 
|  ERROR  |  nvchar  |  错误名称和描述。  | 

复制状态表 (`dmslogs.awsdms_status`) 包含任务和目标数据库的当前状态。它具有以下设置。


| 列 | Type | 说明 | 
| --- | --- | --- | 
|  SERVER\$1NAME  |  nvchar  |  复制任务运行于的计算机的名称。  | 
|  TASK\$1NAME  |  nvchar  |   AWS DMS 任务的资源 ID。资源 ID 可以在任务 ARN 中找到。  | 
|  TASK\$1STATUS  |  varchar  |  下列值之一： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ControlTable.html) 只要至少一个表处于完全加载状态，任务状态就会设置为 FULL LOAD。加载所有表后，任务状态将变为 CHANGE PROCESSING (如果已启用 CDC)。在开始任务之前或任务完成之后，任务设置为 NOT RUNNING。  | 
| STATUS\$1TIME |  timestamp  |  任务状态的时间戳。  | 
|  PENDING\$1CHANGES  |  int  |  在源数据库中提交并缓存在复制实例的内存和磁盘中的更改记录的数量。  | 
|  DISK\$1SWAP\$1SIZE  |  int  |  旧的或卸载的事务所占用的磁盘空间量。  | 
| TASK\$1MEMORY |  int  |  当前使用的内存 (以 MB 为单位)。  | 
|  SOURCE\$1CURRENT \$1POSITION  |  varchar  |  源数据库中当前 AWS DMS 正在读取数据的位置。  | 
|  SOURCE\$1CURRENT \$1TIMESTAMP  |  timestamp  |  源数据库中当前 AWS DMS 正在读取的时间戳。  | 
|  SOURCE\$1TAIL \$1POSITION  |  varchar  |  未提交的最早开始事务的位置。此值是可在不丢失任何更改的情况下恢复到的最新位置。  | 
|  SOURCE\$1TAIL \$1TIMESTAMP  |  timestamp  |  未提交的最早开始事务的时间戳。此值是可在不丢失任何更改的情况下恢复到的最新时间戳。  | 
|  SOURCE\$1TIMESTAMP \$1APPLIED  |  timestamp  |  最后一个事务提交的时间戳。在批量应用过程中，此值是批处理中最后一个事务的提交时间戳。  | 

暂停表（`dmslogs.awsdms_suspended_tables`）包含以下参数。


| 列 | Type | 说明 | 
| --- | --- | --- | 
|  SERVER\$1NAME  |  nvchar  |  复制任务运行于的计算机的名称。  | 
|  TASK\$1NAME  |  nvchar  |   AWS DMS 任务的名称  | 
|  TABLE\$1OWNER  |  nvchar  |  表所有者。  | 
|  TABLE\$1NAME  |  nvchar  |  表名称。  | 
|  SUSPEND\$1REASON  |  nvchar  |  暂停的原因。  | 
|  SUSPEND\$1TIMESTAMP  |  timestamp  |  暂停发生的时间。  | 

复制历史记录表 (`dmslogs.awsdms_history`) 包含以下参数。


| 列 | Type | 说明 | 
| --- | --- | --- | 
|  SERVER\$1NAME  |  nvchar  |  复制任务运行于的计算机的名称。  | 
|  TASK\$1NAME  |  nvchar  |   AWS DMS 任务的资源 ID。资源 ID 可以在任务 ARN 中找到。  | 
|  TIMESLOT\$1TYPE  |  varchar  |  下列值之一： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ControlTable.html) 如果任务正在运行完全加载和 CDC，两条历史记录将写入时段。  | 
| TIMESLOT |  timestamp  |  时段的结束时间戳。  | 
|  TIMESLOT\$1DURATION  |  int  |  时段的持续时间（以分钟为单位）。  | 
|  TIMESLOT\$1LATENCY  |  int  |  时段结束时的目标延迟（以秒为单位）。此值仅适用于 CDC 时段。  | 
| RECORDS |  int  |  时段内处理的记录数。  | 
|  TIMESLOT\$1VOLUME  |  int  |  已处理的数据量（以 MB 为单位）。  | 

验证失败表（`awsdms_validation_failures_v1`）包含任务的所有数据验证失败。有关更多信息，请参阅[数据验证故障排除](CHAP_Validating.md#CHAP_Validating.Troubleshooting)。

其他控制表设置包括：
+ `HistoryTimeslotInMinutes` – 使用该选项指示复制历史记录表中每个时段的长度。默认值为 5 分钟。
+ `ControlSchema`— 使用此选项来指明 AWS DMS 目标控制表的数据库架构名称。如果未为选项输入任何信息，则表将复制到数据库中的默认位置，如下所示：
  + PostgreSQL，公共
  + Oracle，目标架构
  + Microsoft SQL Server，目标数据库中的 dbo
  + MySQL，awsdms\$1control
  + MariaDB，awsdms\$1control
  + Amazon Redshift，公共
  + DynamoDB，创建作为数据库中的单独表
  + IBM Db2 LUW，awsdms\$1control