AWS Database Migration Service
User Guide (Version API Version 2016-01-01)

AWS DMS Release Notes

Following, you can find release notes for versions of AWS Database Migration Service (AWS DMS).

AWS Database Migration Service (AWS DMS) 3.1.1 Release Notes

The following tables show the features and bug fixes for version 3.1.1 of AWS Database Migration Service (AWS DMS).

New Feature or Enhancement Description
Migration of 4-byte UTF8 characters

AWS DMS now supports all 4-byte character sets, such as UTF8MB4, and so on. This feature works without any configuration changes.

Support for Microsoft SQL Server 2017 as a source

Added support for SQL Server 2017 as a source. For more details, see Using a Microsoft SQL Server Database as a Source for AWS DMS.

Support for parallel full load of tables

Added support for parallel full load of large tables based on partitions and subpartitions. This feature uses a separate unload thread for each table partition or subpartition to speed up the bulk load process. You can also specify specific ranges or partitions to migrate a subset of the table data. Supported sources are Oracle, SQL Server, Sybase, MySQL, and IBM Db2 for Linux, UNIX, PostgreSQL, and Windows (Db2 LUW). For more information, see Parallel Loading of Tables.

Control large object (LOB) settings per table

You can now control LOB settings per table with additional table mapping settings. For more information, see Target Metadata Task Settings. Supported sources are Oracle, SQL Server, MySQL, and PostgreSQL.

Control the order for loading tables in a single migration task

You can now control the order for loading tables with table mappings in a migration task. You can specify the order by tagging the table with a load-order unsigned integer in the table mappings. Tables with higher load-order values are migrated first. For more information, see Using Table Mapping to Specify Task Settings.

Support for updates to primary key values when using PostgreSQL as a source

Updates to primary key values are now replicated when you use PostgreSQL as a source for ongoing replication.

Additional encryption options for Amazon S3 and Amazon Redshift as a target.

You can now encrypt data going into S3 or Amazon Redshift as a target with SSE-KMS by using an extra connect attribute (ECA). By default, the new ECA (encryptionMode) uses server-side encryption (SSE-S3) in S3 to encrypt data. You can now set this to SSE-KMS in case their S3 bucket requires encryption based on AWS Key Management Service (AWS KMS). You can pass the KMS key ID by using the kmsKeyId ECA.

The issues resolved are as follows.

Date Reported Description

April 24, 2018

Fixed an issue where users couldn't create Azure SQL as a source endpoint for SQL Server 2016.

May 5, 2018

Fixed an issue where CHR(0) in an Oracle source was migrated as CHR(32) in an Aurora with MySQL compatibility target.

May 10, 2018

Fixed an issue where ongoing replication from Oracle as a source didn't work as expected when using Oracle LogMiner to migrate changes from an Oracle physical standby.

May 27, 2018

Fixed an issue where characters of various data types in PostgreSQL were tripled during migration to PostgreSQL.

June 12, 2018

Fixed an issue where data was changed during a migration from TEXT to NCLOB (PostgreSQL to Oracle) due to differences in how these engines handle nulls within a string.

June 17, 2018

Fixed an issue where the replication task failed to created primary keys in target MySQL version 5.5 instance when migrating from a source MySQL version 5.5.

June 23, 2018

Fixed an issue where JSON columns were truncated in full LOB mode when migrating from a PostgreSQL instance to Aurora with PostgreSQL compatibility.

June 27, 2018

Fixed an issue where batch application of changes to PostgreSQL as a target failed because of an issue creating the intermediate net changes table on the target.

June 30, 2018

Fixed an issue where the MySQL timestamp '0000-00-00 00:00:00' wasn't migrated as expected while performing a full load.

July 2, 2018

Fixed an issue where a DMS replication task didn't continue as expected after the source Aurora MySQL failover occurred.

July 9, 2018

Fixed an issue with a migration from MySQL to Amazon Redshift where the task failed with an unknown column and data type error.

July 21, 2018

Fixed an issue where null characters in a string migrated differently from SQL Server to PostgreSQL in limited LOB and full LOB modes.

July 23, 2018

Fixed an issue where the safeguard transactions in SQL Server as a source filled up the transaction log in SQL Server.

July 26, 2018

Fixed an issue where null values were migrated as empty values in a roll-forward migration from PostgreSQL to Oracle.

Multiple dates

Fixed various logging issues to keep users more informed about migration by Amazon CloudWatch logs.

Multiple dates

Fixed various data validation issues.

AWS Database Migration Service (AWS DMS) 2.4.4 Release Notes

The following tables show the features and bug fixes for version 2.4.4 of AWS Database Migration Service (AWS DMS).

New Feature or Enhancement Description
Validation for migrations with filter clauses

You can now validate data when migrating a subset of a table using table filters.

Open Database Connectivity (ODBC) driver upgrades

The underlying ODBC driver for MySQL was upgraded to 5.3.11-1, and the underlying ODBC driver for Amazon Redshift was upgraded to 1.4.2-1010.

Latency recalculation in case of daylight saving time changes You can now recalculate the time offset during daylight saving time changes for Oracle and PostgreSQL as a source. Source and target latency calculations are accurate after the daylight saving time change.
UUID data type conversion (SQL Server to MySQL) You can now convert a UNIQUEIDENTIFER data type (that is, a universally unique identifier or UUID) to bytes when migrating between SQL Server as a source and MySQL as a target.
Ability to change encryption modes for Amazon S3 as a source and Amazon Redshift as a target You can now change encryption mode when migrating between S3 as a source and Amazon Redshift as a target. You specify the encryption mode with a connection attribute. Server side encryption and AWS KMS are both supported.

The issues resolved are as follows.

Date Reported Description
July 17, 2018 Fixed an issue where PostgreSQL as a source sent null values as empty values to target Oracle databases during change data capture (CDC) in full large binary object (LOB) mode.
July 29, 2018 Fixed an issue where migration tasks to and from Amazon S3 failed to resume after upgrading from DMS version 1.9.0.
August 5, 2018 Fixed an issue where the ResumeFetchForXRows extra connection attribute was not working properly with a VARCHAR primary key for a MySQL source.
September 12, 2018 Fixed an issue where DMS working with SQL Server safeguard transactions blocked the transaction log from being reused.
September 21, 2018 Fixed an issue with failed bulk loads from PostgreSQL as a source to Amazon Redshift as a target. The failed tasks did not report a failure when the full load was interrupted.
October 3, 2018 Fixed an issue where a DMS migration task didn't fail when prerequisites for ongoing replication weren't properly configured for SQL Server as a source.
Multiple dates Fixed multiple issues related to data validation, and added enhanced support for validating multibyte UTF-8 characters.

AWS Database Migration Service (AWS DMS) 2.4.3 Release Notes

The following tables show the features and bug fixes for version 2.4.3 of AWS Database Migration Service (AWS DMS).

New Feature or Enhancement Description
Table metadata recreation on mismatch

Added a new extra connect attribute for MySQL endpoints: CleanSrcMetadataOnMismatch.

This is a Boolean attribute that cleans and recreates table metadata information on the replication instance when a mismatch occurs. An example is where running an alter statement in data definition language (DDL) on a table might result in different information about the table cached in the replication instance. By default, this attribute is set to false.

Performance improvements for data validation

Improvements include the following:

  • Data validation now partitions data before it starts so it can compare like partitions and validate them. This version contains improvements to changes to fetch the bulk of partitions, which speeds up the partitioning time and makes data validation faster.

  • Improvements to handle collation differences automatically based on task settings.

  • Improvements to identify false positives during validation, which also reduces false positives during cached changes phase.

  • General logging improvements to data validation.

  • Improvements to queries used by data validation when tables have composite primary keys.

The issues resolved are as follows.

Date Reported Description
February 12, 2018 Fixed an issue in ongoing replication using batch apply where AWS DMS was missing some inserts as a unique constraint in the table was being updated.
March 16, 2018 Fixed an issue where an Oracle to PostgreSQL migration task was crashing during the ongoing replication phase due to Multi-AZ failover on the source Amazon RDS for Oracle instance.

AWS Database Migration Service (AWS DMS) 2.4.2 Release Notes

The following tables show the features and bug fixes for version 2.4.2 of AWS Database Migration Service (AWS DMS).

New Feature or Enhancement Description
Binary Reader support for Amazon RDS for Oracle during change data capture Added support for using Binary Reader in change data capture (CDC) scenarios from an Amazon RDS for Oracle source during ongoing replication.
Additional COPY command parameters for Amazon Redshift as a target

Introduced support for the following additional Amazon Redshift copy parameters using extra connection attributes. For more information, see Extra Connection Attributes When Using Amazon Redshift as a Target for AWS DMS.

  • TRUNCATECOLUMNS

  • REMOVEQUOTES

  • TRIMBLANKS

Option to fail a migration task when a table is truncated in a PostgreSQL source Introduced support to fail a task when a truncate is encountered in a PostgreSQL source when using a new task setting. For more information, see the ApplyErrorFailOnTruncationDdl setting in the section Error Handling Task Settings.
Validation support for JSON/JSONB/HSTORE in PostgreSQL endpoints Introduced data validation support for JSON, JSONB, and HSTORE columns for PostgreSQL as a source and target.
Improved logging for MySQL sources Improved log visibility for issues when reading MySQL binary logs (binlogs) during change data capture (CDC). Logs now clearly show an error or warning if there are issues accessing MySQL source binlogs during CDC.
Additional data validation statistics Added more replication table statistics. For more information, see Replication Task Statistics.

The issues resolved are as follows.

Date Reported Description
January 14, 2018 Fixed all issues with respect to handling zero dates (0000-00-00) to MySQL targets during full load and CDC. MySQL doesn't accept 0000-00-00 (invalid in MySQL) although some engines do. All these dates become 0101-01-01 for a MySQL target.
January 21, 2018 Fixed an issue where migration fails when migrating a table with table name containing a $ sign.
February 3, 2018 Fixed an issue where a JSON column from a PostgreSQL source was truncated when migrated to any supported target.
February 12, 2018 Fixed an issue where migration task was failing after a failover in Aurora MySQL target.
February 21, 2018 Fixed an issue where a migration task couldn't start its ongoing replication phase after a network connectivity issue.
February 23, 2018 Fixed an issue where certain transformation rules in table mappings were causing migration task crashes during ongoing replication to Amazon Redshift targets.
Reported on multiple dates

Fixed various data validation issues:

  • Fixed wide string handling issues in Oracle source and target validation.

  • Handle validation when a column is removed for a table in table mappings.

  • Improved validation performance for sources with a high rate of change.

AWS Database Migration Service (AWS DMS) 2.4.1 Release Notes

The following tables show the features and bug fixes for version 2.4.1 of AWS Database Migration Service (AWS DMS).

New Feature or Enhancement Description
JSONB support for PostgreSQL sources Introduced support for JSONB migration from PostgreSQL as a source. JSONB is treated as a LOB data type and requires appropriate LOB settings to be used.
HSTORE support for PostgreSQL sources Introduced support for HSTORE data type migration from PostgreSQL as a source. HSTORE is treated as a LOB data type and requires appropriate LOB settings to be used.
Additional COPY command parameters for Amazon Redshift as a target

Introduced support for the following additional copy parameters by using these extra connection attributes:

  • ACCEPTANYDATE

  • DATEFORMAT

  • TIMEFORMAT

  • EMPTYASNULL

The issues resolved are as follows.

Date Reported Description
July 12, 2017 Fixed an issue where migration task hung before the full load phase starts when reading from an Oracle table with TDE column encryption enabled.
October 3, 2017 Fixed an issue where a JSON column from a PostgreSQL source didn't migrate as expected.
October 5, 2017 Fixed an issue when DMS migration task shows 0 source latency when an archive redo log file is not found on the source Oracle instance. This fix linearly increases source latency under such conditions.

November 20, 2017

Fixed an issue with LOB migration where a TEXT column in PostgreSQL was migrating to a CLOB column in Oracle with extra spaces after each character in the LOB entry.

November 20, 2017

Fixed an issue with a migration task not stopping as expected after an underlying replication instance upgrade from version 1.9.0 to 2.4.0.
November 30, 2017 Fixed an issue where a DMS migration task doesn't properly capture changes made by a copy command run on a source PostgreSQL instance.
December 11, 2017 Fixed an issue where a migration task failed when reading change data from a nonexistent binlog from a MySQL source.
December 11, 2017 Fixed an issue where DMS is reading change data from a nonexistent table from a MySQL source.
December 20, 2017 Includes several fixes and enhancements for the data validation feature.
December 22, 2017 Fixed an issue with maxFileSize parameter for Amazon Redshift targets. This parameter was wrongly being interpreted as bytes instead of kilobytes.
January 4, 2018 Fixed a memory allocation bug for an Amazon DynamoDB as a target migration tasks. In certain conditions, AWS DMS didn't allocate enough memory if the object mapping being used contained a sort key.
January 10, 2018 Fixed an issue with Oracle 12.2 as a source where data manipulation language (DML) statements weren't captured as expected when ROWDEPENDENCIES are used.

AWS Database Migration Service (AWS DMS) 2.4.0 Release Notes

The following tables show the features and bug fixes for version 2.4.0 of AWS Database Migration Service (AWS DMS).

New Feature or Enhancement Description
Replicating Oracle index tablespaces Adds functionality to support replication of Oracle index tablespaces. More details about index tablespaces can be seen here.
Support for cross-account Amazon S3 access

Adds functionality to support canned ACLs (predefined grants) to support cross-account access with S3 endpoints. Find more details about canned ACLs in Canned ACL in the Amazon Simple Storage Service Developer Guide.

Usage: Set an extra connect attribute in S3 endpoint, that is CannedAclForObjects=value. Possible values are as follows:

  • NONE

  • PRIVATE

  • PUBLIC_READ

  • PUBLIC_READ_WRITE

  • AUTHENTICATED_READ

  • AWS_EXEC_READ

  • BUCKET_OWNER_READ

  • BUCKET_OWNER_FULL_CONTROL

The issues resolved are as follows.

Date Reported Description
July 19, 2017 Fixed an issue where replication task runs in a retry loop forever when a source PostgreSQL instance runs out of replication slots. With this fix, the task fails with an error reporting that DMS can't create a logical replication slot.
July 27, 2017 Fixed an issue in the replication engine where the enum MySQL data type caused task failure with a memory allocation error.
August 7, 2017 Fixed an issue that caused unexpected behavior with migration tasks with Oracle as a source when the source is down for more than five minutes. This issue caused the ongoing replication phase to hang even after the source became available.
August 24, 2017 Fixed an issue with PostgreSQL target where the fraction part in the TIME data type was handled incorrectly.
September 14, 2017 Fixed an issue where incorrect values were being written to TOAST fields in PostgreSQL-based targets during updates in the CDC phase.
October 8, 2017 Fixed an issue from version 2.3.0 where ongoing replication with MySQL 5.5 sources would not work as expected.
October 12, 2017

Fixed an issue with reading changes from a SQL Server 2016 source during the ongoing replication phase. This fix needs to be used with the following extra connect attribute in the source SQL Server endpoint: IgnoreTxnCtxValidityCheck=true

AWS Database Migration Service (AWS DMS) 2.3.0 Release Notes

The following tables show the features and bug fixes for version 2.3.0 of AWS Database Migration Service (AWS DMS).

New Feature or Enhancement Description
S3 as a source Using Amazon Simple Storage Service as a Source for AWS DMS
SQL Azure as a source Using Microsoft Azure SQL Database as a Source for AWS DMS
Platform – AWS SDK update

Update to the AWS SDK in the replication instance to 1.0.113. The AWS SDK is used for certain endpoints (such as Amazon Redshift and S3) to upload data on customers' behalf into these endpoints. Usage is unrestricted.

Oracle source: Support replication of tablespace in Oracle

Ability to migrate tablespaces from an Oracle source eliminating the need to precreate tablespaces in the target before migration.

Usage: Use the ReadTableSpaceName setting in the extra connect attributes in the Oracle source endpoint and set it to true to support tablespace replication. This option is set to false by default.

Oracle source: CDC support for Oracle Active Data Guard standby as a source

Ability to use a standby instance for Oracle Active Data Guard as a source for replicating ongoing changes to a supported target. This change eliminates the need to connect to an active database that might be in production.

Usage: Use the StandbyDelayTime setting in the extra connect attributes in the Oracle source endpoint and specify time in minutes to specify the delay in standby sync.

PostgreSQL source: add WAL heartbeat

Added a write-ahead log (WAL) heartbeat (that is, running dummy queries) for replication from a PostgreSQL source. This feature was added so that idle logical replication slots don't hold onto old WAL logs, which can result in storage full situations on the source. This heartbeat keeps restart_lsn moving and prevents storage full scenarios.

Usage, wherever applicable, is as follows:

  • HeartbeatEnable is set to true (default is false).

  • HeartbeatSchema is the schema for heartbeat artifacts (default is public).

  • HeartbeatFrequency is the heartbeat frequency in minutes (default is 5 and minimum value is 1)

All endpoints: Maintain homogeneous replication with transformation

Ability to do like-to-like migrations for homogeneous migration tasks (from a table structure/data type perspective) came in 2.2.0. However, DMS still converted data types internally when a task was launched with table transformations. This feature maintains data types from the source on the target for homogeneous lift-and-shift migrations, even when transformations are used.

Usage is unrestricted for all homogeneous migrations.

All endpoints: Fail task when no tables are found

Ability to force replication task failure when include transformation rules find no matches.

Usage: Change the FailOnNoTablesCaptured task setting to true.

Oracle source: Stop task when archive redo log is missing

Ability to come out of a retry loop and stop a task when the archive redo log on the source is missing.

Usage: Use the RetryTimeoutInMinutes extra connect attribute to specify the stop timeout in minutes.

The issues resolved are as follows.

Date Reported Description
January 5, 2017

Fixed a server ID collision issue when launching multiple DMS tasks to the same MySQL instance (version 5.6+)

February 21, 2017

Fixed an issue where table creation fails for nestingLevel=ONE when _id in MongoDB is a string in the document. Before this fix, _id (when a string) was being created as a LONGTEXT (MySQL) or CLOB (Oracle), which causes a failure when it tries to make it a primary key.

May 5, 2017 Fixed an issue where NULL LOBs were migrating as empty when using full LOB mode with an Oracle source.
May 5, 2017

Fixed an issue where a task with MySQL as a source fails with a too many connections error when custom CDC start time is older than 24 hours.

May 24, 2017 Fixed an issue where task was in the starting status for too long when multiple tasks were launched on the replication instance at one time.
July 7, 2017

Fixed an issue that caused a PostgreSQL error message about using all available connection slots to appear. Now an error is logged in the default logging level when all available connection slots to PostgreSQL are used up and DMS can't get more slots to continue with replication.

July 19, 2017

Fixed an issue where updates and deletes from Oracle to DynamoDB were not being migrated correctly.

August 8, 2017

Fixed an issue that caused unexpected behavior during CDC when an Oracle source database instance went down for more than five minutes during a migration.

August 12, 2017

Fixed an issue where nulls from any source were being migrated as amazon_null, causing issues when inserted into data types other than varchar in Amazon Redshift.

August 27, 2017

For MongoDB, fixed an issue where a full load task crashes when nestingLevel=NONE and _id is not ObjectId.