Control table task settings
Control tables provide information about an AWS DMS task. They also provide
useful statistics that you can use to plan and manage both the current migration
task and future tasks. You can apply these task settings in a JSON file or by
choosing Advanced Settings on the Create
task page in the AWS DMS console. The Apply Exceptions table
(dmslogs.awsdms_apply_exceptions
) is always created on database targets.
For information about how to use a task configuration file to set task settings, see Task settings example.
AWS DMS only creates control tables only during Full Load + CDC or CDC-only tasks, and not during Full Load Only tasks.
For full load and CDC (Migrate existing data and replicate ongoing changes) and CDC only (Replicate data changes only) tasks, you can also create additional tables, including the following:
-
Replication Status (dmslogs.awsdms_status) – This table provides details about the current task. These include task status, amount of memory consumed by the task, and the number of changes not yet applied to the target. This table also gives the position in the source database where AWS DMS is currently reading. Also, it indicates if the task is in the full load phase or change data capture (CDC).
-
Suspended Tables (dmslogs.awsdms_suspended_tables) – This table provides a list of suspended tables as well as the reason they were suspended.
-
Replication History (dmslogs.awsdms_history) – This table provides information about replication history. This information includes the number and volume of records processed during the task, latency at the end of a CDC task, and other statistics.
The Apply Exceptions table (dmslogs.awsdms_apply_exceptions
)
contains the following parameters.
Column | Type | Description |
---|---|---|
TASK_NAME |
nvchar |
The Resource ID of the AWS DMS task. Resource ID can be found in task ARN. |
TABLE_OWNER |
nvchar |
The table owner. |
TABLE_NAME |
nvchar |
The table name. |
ERROR_TIME |
timestamp |
The time the exception (error) occurred. |
STATEMENT |
nvchar |
The statement that was being run when the error occurred. |
ERROR |
nvchar |
The error name and description. |
The Replication Status table (dmslogs.awsdms_status
) contains the
current status of the task and the target database. It has the following
settings.
Column | Type | Description |
---|---|---|
SERVER_NAME |
nvchar |
The name of the machine where the replication task is running. |
TASK_NAME |
nvchar |
The Resource ID of the AWS DMS task. Resource ID can be found in task ARN. |
TASK_STATUS |
varchar |
One of the following values:
Task status is set to FULL LOAD as long as there is at least one table in full load. After all tables have been loaded, the task status changes to CHANGE PROCESSING if CDC is enabled. The task is set to NOT RUNNING before you start the task, or after the task completes. |
STATUS_TIME |
timestamp |
The timestamp of the task status. |
PENDING_CHANGES |
int |
The number of change records that were committed in the source database and cached in the memory and disk of your replication instance. |
DISK_SWAP_SIZE |
int |
The amount of disk space used by old or offloaded transactions. |
TASK_MEMORY |
int |
Current memory used, in MB. |
SOURCE_CURRENT _POSITION |
varchar |
The position in the source database that AWS DMS is currently reading from. |
SOURCE_CURRENT _TIMESTAMP |
timestamp |
The timestamp in the source database that AWS DMS is currently reading from. |
SOURCE_TAIL _POSITION |
varchar |
The position of the oldest start transaction that isn't committed. This value is the newest position that you can revert to without losing any changes. |
SOURCE_TAIL _TIMESTAMP |
timestamp |
The timestamp of the oldest start transaction that isn't committed. This value is the newest timestamp that you can revert to without losing any changes. |
SOURCE_TIMESTAMP _APPLIED |
timestamp |
The timestamp of the last transaction commit. In a bulk apply process, this value is the timestamp for the commit of the last transaction in the batch. |
The Suspended table (dmslogs.awsdms_suspended_tables
) contains the following parameters.
Column | Type | Description |
---|---|---|
SERVER_NAME |
nvchar |
The name of the machine where the replication task is running. |
TASK_NAME |
nvchar |
The name of the AWS DMS task |
TABLE_OWNER |
nvchar |
The table owner. |
TABLE_NAME |
nvchar |
The table name. |
SUSPEND_REASON |
nvchar |
Reason for suspension. |
SUSPEND_TIMESTAMP |
timestamp |
The time the suspension occurred. |
The Replication History table (dmslogs.awsdms_history
) contains
the following parameters.
Column | Type | Description |
---|---|---|
SERVER_NAME |
nvchar |
The name of the machine where the replication task is running. |
TASK_NAME |
nvchar |
The Resource ID of the AWS DMS task. Resource ID can be found in task ARN. |
TIMESLOT_TYPE |
varchar |
One of the following values:
If the task is running both full load and CDC, two history records are written to the time slot. |
TIMESLOT |
timestamp |
The ending timestamp of the time slot. |
TIMESLOT_DURATION |
int |
The duration of the time slot, in minutes. |
TIMESLOT_LATENCY |
int |
The target latency at the end of the time slot, in seconds. This value only applies to CDC time slots. |
RECORDS |
int |
The number of records processed during the time slot. |
TIMESLOT_VOLUME |
int |
The volume of data processed in MB. |
The Validation Failure table (awsdms_validation_failures_v1
) contains all the data
validation failures for a task. For more information see,
Data Validation Troubleshooting.
Additional control table settings include the following:
-
HistoryTimeslotInMinutes
– Use this option to indicate the length of each time slot in the Replication History table. The default is 5 minutes. -
ControlSchema
– Use this option to indicate the database schema name for the control tables for the AWS DMS target. If you don't enter any information for this option, then the tables are copied to the default location in the database as listed following:-
PostgreSQL, Public
-
Oracle, the target schema
-
Microsoft SQL Server, dbo in the target database
-
MySQL, awsdms_control
-
MariaDB, awsdms_control
-
Amazon Redshift, Public
-
DynamoDB, created as individual tables in the database
-
IBM Db2 LUW, awsdms_control
-