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

AWS DMS 发布说明

接下来,您可以查找不同版本的 AWS Database Migration Service (AWS DMS) 的发布说明。

注意

现在,您可以将复制实例直接从 2.4.x 升级到最新版本。

注意

AWS DMS 版本 3.1.4 和 3.3.0 现在可用。

AWS Database Migration Service (AWS DMS) 3.3.0 发布说明

下面的表显示了 AWS Database Migration Service (AWS DMS) 3.3.0 版的功能和错误修复。

新功能或增强功能 描述
新 Oracle 版本

现在支持将 Oracle 18c 作为源和目标终端节点。

新 PostgreSQL 版本

现在支持将 PostgreSQL 10.x 和 11.x 作为源和目标终端节点。

对将 Oracle 作为源终端节点的增强功能

增加了对以下内容的支持:

  • 嵌套表。

  • RESETLOGS 命令。

  • 在收集更改数据捕获 (CDC) 负载的更改时,控制 Oracle Automatic Storage Management (ASM) 的并行读取线程数和预读缓冲区数。有关这些用于 Oracle ASM 的增强功能的更多信息,请参阅 Oracle 源数据库上的更改数据捕获 (CDC) 的配置

对将 Microsoft SQL Server 作为源终端节点的增强功能

添加了增强的 AlwaysOn 支持。现在,您可以从 AlwaysOn 副本迁移更改。

对 Amazon DynamoDB 大型更新的支持

增加了将大型更新拆分为多个小于 4 KB 的数据块然后将其应用到 DynamoDB 的支持,以此来解决一个更新限制。出现这种情况时,将显示警告消息说明。

已解决的问题如下所示:

  • 修复了 DMS 无法连接到 Azure SQL Server 源的问题。

  • 修复了在 PostgreSQL 中不迁移 JSON LOB 列的问题。

  • 修复了在 MySQL 向 MySQL 的迁移中将 0000-00-00 日期作为 0101-01-01 迁移的问题。

  • 修复了在持续复制到 PostgreSQL 期间 DMS 无法创建具有数值数组列的表的问题。

  • 修复了在表没有 PK 时更新不应用到目标 Amazon Redshift 实例的问题。

  • 修复了 DMS 无法从 PostgreSQL 源中名称以“pg%”开头的架构选择表的问题。

  • 修复了在将布尔值从 Aurora PostgreSQL 迁移到 Amazon Redshift 时任务失败的问题。

  • 修复了在从 PostgreSQL 迁移到 PostgreSQL 时不迁移采用 EUC_JP 编码的特殊字符的问题。

  • 修复了 DMS 任务由于无法创建 aws_dms_apply_exceptions 控制表而失败的问题。

  • 修复了在将 SQL Server 和 Oracle 作为源时从某个时间点进行持续复制会失败并显示“Not a valid time value supplied (未提供有效的时间值)”错误的问题。

  • 修复了在表具有主键和唯一约束并对唯一约束列进行持续更改时持续复制将断开的问题。

  • 修复了 MySQL TIMESTAMP(0) 列迁移导致任务停止复制更改的问题。

AWS Database Migration Service (AWS DMS) 3.1.4 发布说明

下面的表显示了 AWS Database Migration Service (AWS DMS) 3.1.4 版的功能和错误修复。

新功能或增强功能 描述
向 Amazon S3 目标文件中添加源提交时间戳列

迁移到 S3 时,您现在可以使用目标终端节点设置,将源提交时间戳插入到 .csv 或 .parquet 文件的附加列中。您还可以指定附加列的名称。有关更多信息,请参阅 timestampColumnName

在 Amazon S3 目标文件的完全加载操作中包括操作列

为确保 S3 目标文件对完全加载和持续复制操作保持一致,您现在可以指定一个目标终端节点设置,该操作可在完全加载期间添加一个操作列(仅限 .csv 格式)。有关更多信息,请参阅 includeOpForFullLoad

使 Amazon S3 源文件格式和 Amazon S3 目标文件格式保持一致

添加了一项改进功能,以使 S3 源文件格式与 S3 目标文件格式保持一致。有关如何在 S3 文件中对操作列值进行编码的更多信息,请参阅将 Amazon S3 作为 AWS DMS 源中的说明。有关对这些值进行编码的选项的更多信息,请参阅指示迁移的 S3 数据中的源数据库操作

在使用 .parquet 文件格式的 Amazon S3 目标文件中为 TIMESTAMP 列指定精度 仅针对 .parquet 格式的 S3 目标文件,您可以将所有 TIMESTAMP 列指定为具有微秒或毫秒精度。指定毫秒精度使得数据可由 Amazon Athena 和 AWS Glue 处理。有关更多信息,请参阅 parquetTimestampInMillisecond
多线程加载到 Amazon Kinesis Data Streams

DMS 的此版本使用多线程,实现了更快加载到 Kinesis Data Streams。

对 Amazon DynamoDB 大型更新的支持

增加了将大型更新拆分为多个小于 4 KB 的数据块然后将其应用到 DynamoDB 的支持,以此来解决一个更新限制。出现这种情况时,将显示警告消息说明。

对数据验证的多种性能改进

添加了对数据验证的多种性能改进,包括处理可为 Null 的唯一键的能力。

日志记录改进

添加了多种日志记录改进。

已解决的问题如下所示:

  • 修复了在 DMS 执行并行更改读取时 DMS 无法从配置了 ASM 的 Oracle 源捕获更改的问题。

  • 修复了在从事务日志备份读取更改时 DMS 无法从 Microsoft SQL Server 源捕获 nvarchar 列更改的问题。

  • 修复了一个 DMS 任务崩溃的问题,该崩溃是因为在 Oralce 中,对于从表元数据启用了补充日志记录的表,复制进程从中找不到有关列的详细信息。

  • 修复了 DMS 在尝试从退出位置继续收集更改以及查找已经清除的较早更改时传递无效参数的问题。

  • 将 DMS 任务日志中的流缓冲区消息改为记录一次而不是多次。多次记录这些消息可能会导致底层存储变满,并造成任务的其他性能问题。

  • 修复了在用户尝试停止任务之后 DMS 从要失败的任务状态中返回而不是停止的错误。

  • 修复了在将 Db2 作为源时,如果使用了额外的连接属性,将适用于 Linux、UNIX 和 Windows (Db2 LUW) 的 IBM Db2 作为源时的分段故障问题。

  • 修复了与截断时失败以及将 PostgreSQL 作为源时 LOB 截断失败相关的多个问题。

  • 修复了当 S3 源存储桶不存在时任务不失败的问题。现在任务将失败,并有相关错误消息。

  • 修复了 DMS 迁移 Parquet 文件格式的 S3 数据时的内存泄露。

  • 包括对数据验证的多种修复。

  • 修复了 MongoDB 中当所删除的集合不在任务范围内时删除集合命令导致任务失败的问题。

  • 修复了由于数据中存在 NULL 值导致 S3 目标终端节点崩溃的问题。

  • 修复了由于创建新内存池导致批量加载到 S3 速度缓慢的问题。在 DMS 3.1.4 中完全加载到 S3 现在快 20%。

AWS Database Migration Service (AWS DMS) 3.1.3 发布说明

下面的表显示了 AWS Database Migration Service (AWS DMS) 3.1.3 版的功能和错误修复。

新功能或增强功能 描述
支持将 Amazon DocumentDB(与 MongoDB 兼容) 作为目标

您可以使用 Amazon DocumentDB 作为目标来部署快速、可靠的完全托管数据库服务,使您能够轻松设置、操作和扩展 MongoDB 兼容的数据库。

Apache Parquet 存储格式支持 Amazon S3 目标

您现在可以选择并配置 .parquet 文件作为 S3 目标对象的存储格式。

Amazon Redshift 和 Amazon S3 目标数据的 AWS Key Management Service (AWS KMS) 密钥加密

您现在可以使用 KMS 密钥对 Amazon Redshift 和 S3 目标的数据进行服务器端加密。

使用表映射增强了选择和数据转换

您现在可以显式选择表及其架构。您还可以转换 Oracle 目标的表和索引表空间,并更新任何目标上的表的主键。

支持标记 Amazon S3 目标对象

您现在可以将标签与写入 S3 目标存储桶的每个对象相关联。

从 Microsoft SQL Server 迁移到选定目标的 TIMESTAMP 数据类型

从 Microsoft SQL Server 迁移到 Amazon Elasticsearch Service 或 Amazon Kinesis 目标的 TIMESTAMP 数据类型现在将从二进制转换为十六进制编码字符串(例如 0x654738)。之前,在映射为二进制数据时,这些 TIMESTAMP 值已丢失。

转换到 DEFAULT 或 INFO 日志记录级别

AWS DMS 现在将记录日志级别更改回 DEFAULT 或 INFO 级别的时间。之前,未记录这些日志级别转换。

数据验证和筛选设置

数据验证现在在验证源和目标之间的数据时使用行筛选器设置。

Amazon S3 源对象的字符串处理选项 新的 rfc4180 额外连接属性可用于控制如何处理具有双引号 (") 的源字符串。
Oracle 源终端节点支持的 CREATE TABLE AS 语句 AWS DMS 现在可以通过为 Oracle 源终端节点运行 CREATE TABLE AS 语句来更改数据。

已解决的问题如下所示。

报告的日期 描述

2018 年 12 月 17 日

修复了启用安全套接字层 (SSL) 导致 Amazon S3 源和 PostgreSQL 目标的任务失败的问题。

2018 年 12 月 11 日

修复了错误报告 MySQL 完成百分比的问题。

2018 年 11 月 11 日

修复了 Amazon S3 源的问题,其中字符串中的双引号 (") 导致任务失败。

2018 年 11 月 6 日

修复了 Amazon S3 目标的标头列中自定义 .csv 分隔符值未正确应用的问题。

2018 年 8 月 16 日

修复了启用检查点恢复时导致重复约束错误的问题。

AWS Database Migration Service (AWS DMS) 3.1.2 发布说明

下面的表显示了 AWS Database Migration Service (AWS DMS) 3.1.2 版的功能和错误修复。

新功能或增强功能 描述
支持将 Amazon Kinesis Data Streams 作为目标

现在,您可以使用 Kinesis Data Streams 作为目标实时处理大量数据。

支持将 Amazon Elasticsearch Service 作为目标

现在,您可以将 Amazon ES 作为目标,利用开源 Elasticsearch 为所有数据部署并操作复杂的查询和分析引擎。除其他功能外,此功能也包括对多线程完全加载和更改数据捕获 (CDC) 的支持,以确保查询引擎为最新。

支持 IBM Db2 for Windows (Db2 LUW) 的更新版本作为源

现在,您可以使用 Db2 LUW 版本 11.1 作为源,所有修复包都受支持。

支持在夏令时发生更改时重新计算延迟

现在,在使用 Oracle 或 PostgreSQL 作为源时,您可以重新计算夏令时更改期间的时间偏移。

已解决的问题如下所示。

报告的日期 描述

2018 年 7 月 19 日

修复了 Full LOB 模式下的更改数据捕获期间,作为源的 PostgreSQL 将 Null 值作为 Empty 发送到 Oracle 的问题。

2018 年 9 月 19 日

修复了 SQL Server varchar 列中的 Null 值以不同方式迁移到所有目标的问题。

2018 年 10 月 7 日

修复了当存在转换规则时 LOB 设置不起作用的问题。

2018 年 10 月 12 日

修复了在某些情况下,使用 Oracle 作为源的持续复制任务在停止后无法恢复的问题。

2018 年 10 月 12 日

修复了在某些情况下,使用 SQL Server 作为源的持续复制任务在停止后无法恢复的问题。

多个日期

修复了版本 3.1.1 中存在的 PostgreSQL 作为源导致的多个问题。

AWS Database Migration Service (AWS DMS) 3.1.1 发布说明

下面的表显示了 AWS Database Migration Service (AWS DMS) 3.1.1 版的功能和错误修复。

新功能或增强功能 描述
4 字节 UTF8 字符的迁移

AWS DMS 现在支持所有 4 字节字符集,如 UTF8MB4 等。此功能无需任何配置更改即可工作。

对 Microsoft SQL Server 2017(作为源)的支持

增加了对 SQL Server 2017(作为源)的支持。有关更多信息,请参阅将 Microsoft SQL Server 数据库作为 AWS DMS 源

对表的并行完全加载的支持

增加了对基于分区和子分区的大型表的并行完全加载的支持。此功能为每个表分区或子分区使用一个单独的卸载线程来加速批量加载过程。您也可以指定特定的范围或分区来迁移表的部分数据。受支持的源为 Oracle、SQL Server、Sybase、MySQL、IBM Db2 for Linux、UNIX、PostgreSQL 和 Windows (Db2 LUW)。有关更多信息,请参阅 表设置规则和操作

控制每个表的大对象 (LOB) 设置

现在,您可以使用附加的表映射设置来控制每个表的 LOB 设置。有关更多信息,请参阅 目标元数据任务设置。受支持的源为 Oracle、SQL Server、MySQL 和 PostgreSQL。

控制单个迁移任务中的表加载顺序

现在,您可以使用表映射来控制迁移任务中的表的加载顺序。您可以通过在表映射中使用加载顺序无符号整数来标记表,从而指定顺序。首先迁移具有较高加载顺序值的表。有关更多信息,请参阅使用表映射指定任务设置

支持在将 PostgreSQL 用作源时更新主键值

现在,在将 PostgreSQL 用作源以继续复制时,将复制对主键值的更新。

已解决的问题如下所示。

报告的日期 描述

2018 年 24 月 4 日

修复了以下问题:用户无法创建 Azure SQL 作为 SQL Server 2016 的源终端节点。

2018 年 5 月 5 日

修复了以下问题:Oracle 源中的 CHR(0) 作为 Aurora 与 MySQL 的兼容性 目标中的 CHR(32) 迁移。

2018 年 5 月 10 日

修复了以下问题:在使用 Oracle LogMiner 迁移来自 Oracle 物理备用实例的更改时,来自 Oracle(作为源)的持续复制无法按预期方式工作。

2018 年 5 月 27 日

修复了以下问题:PostgreSQL 中各种数据类型的字符数在迁移到 PostgreSQL 的过程中增加了 3 倍。

2018 年 12 月 6 日

修复了以下问题:数据在从 TEXT 迁移到 NCLOB(PostgreSQL 到 Oracle)的过程中,因这些引擎在处理字符串中的 null 值的方式不同而发生更改。

2018 年 6 月 17 日

修复了以下问题:在从源 MySQL 版本 5.5 迁移时,复制任务无法在目标 MySQL 版本 5.5 实例中创建主键。

2018 年 23 月 6 日

修复了以下问题:在从 PostgreSQL 实例迁移到 与 PostgreSQL 兼容的 Aurora 时,JSON 列在完整 LOB 模式下被截断。

2018 年 6 月 27 日

修复了以下问题:对 PostgreSQL(作为目标)的更改的批量应用因在目标上创建中间净更改表时出错而失败。

2018 年 6 月 30 日

修复了以下问题:MySQL 时间戳 '0000-00-00 00:00:00' 在执行完全加载时无法按预期方式迁移。

2018 年 7 月 2 日

修复了以下问题:DMS 复制任务在发生源 Aurora MySQL 故障转移后无法按预期方式继续执行。

2018 年 7 月 9 日

修复了有关从 MySQL 迁移到 Amazon Redshift ,该问题导致任务失败,并出现未知列和数据类型错误。

2018 年 7 月 21 日

修复了以下问题:字符串中的 null 字符在受限 LOB 和完整 LOB 模式下以不同方式从 SQL Server 迁移到 PostgreSQL。

2018 年 7 月 23 日

修复了以下问题:SQL Server(作为源)中的保护事务填满 SQL Server 中的事务日志。

2018 年 7 月 26 日

修复了以下问题:Null 值在从 PostgreSQL 到 Oracle 的向前滚动迁移中作为空值迁移。

多个日期

修复了各种日志记录问题以确保用户通过 Amazon CloudWatch 日志获得有关迁移的更多信息。

多个日期

修复了各种数据验证问题。

AWS Database Migration Service (AWS DMS) 2.4.5 发布说明

下面的表显示了 AWS Database Migration Service (AWS DMS) 2.4.5 版的功能和错误修复。

新功能或增强功能 描述
Amazon Redshift 和 Amazon S3 目标数据的 KMS 密钥加密

您现在可以使用 KMS 密钥对 Amazon Redshift 和 S3 目标的数据进行服务器端加密。

转换到 DEFAULT 或 INFO 日志记录级别

AWS DMS 现在将记录日志级别更改回 DEFAULT 或 INFO 级别的时间。之前,未记录这些日志级别转换。

数据验证和筛选设置

数据验证现在在验证源和目标之间的数据时使用行筛选器设置。

Amazon S3 源对象的字符串处理选项 新的 rfc4180 额外连接属性可用于控制如何处理具有双引号 (") 的源字符串。

已解决的问题如下所示。

报告的日期 描述
2019 年 1 月 19 日

修复了 Oracle 终端节点的问题,其中 securityDbEncryptionName 在指定不带 asm_passwordpasswordsecurityDbEncryptionName 时未正确设置。

2018 年 12 月 11 日

修复了错误报告 MySQL 完成百分比的问题。

2018 年 11 月 11 日

修复了 Amazon S3 源的问题,其中字符串中的双引号 (") 导致任务失败。

2018 年 11 月 6 日

修复了 Amazon S3 目标的标头列中自定义 .csv 分隔符值未正确应用的问题。

2018 年 8 月 16 日

修复了启用检查点恢复时导致重复约束错误的问题。

AWS Database Migration Service (AWS DMS) 2.4.4 发布说明

下面的表显示了 AWS Database Migration Service (AWS DMS) 2.4.4 版的功能和错误修复。

新功能或增强功能 描述
使用筛选条件子句对迁移进行的验证

现在,您可以在迁移表的部分数据时使用表筛选条件来验证数据。

开放式数据库连接 (ODBC) 驱动程序升级

适用于 MySQL 的底层 ODBC 驱动程序已升级到 5.3.11-1,适用于 Amazon Redshift 的底层 ODBC 驱动程序已升级到 1.4.2-1010。

在夏令时发生更改时重新计算延迟 现在,您可以重新计算 Oracle 和 PostgreSQL(作为源)的夏令时更改期间的时间偏移。在夏令时发生更改后,源和目标延迟计算都是准确的。
UUID 数据类型转换(SQL Server 到 MySQL) 现在,在 SQL Server(作为源)和 MySQL(作为目标)之间迁移时,可以将 UNIQUEIDENTIFER 数据类型(即,通用唯一标识符或 UUID)转换为字节。
能够更改 Amazon S3(作为源)和 Amazon Redshift(作为目标)的加密模式 现在,在 S3(作为源)和 Amazon Redshift(作为目标)之间迁移时,您可以更改加密模式。您可以使用连接属性指定加密模式。同时支持服务器端加密和 AWS KMS。

已解决的问题如下所示。

报告的日期 描述
2018 年 7 月 17 日 修复了以下问题:在完全大型二进制对象 (LOB) 模式中变更数据捕获 (CDC) 期间,PostgreSQL(作为源)将 Null 值作为空值发送到目标 Oracle 数据库。
2018 年 7 月 29 日 修复了以下问题:针对 Amazon S3 的迁移任务在从 DMS 版本 1.9.0 升级后无法继续。
2018 年 8 月 5 日 修复了以下问题:ResumeFetchForXRows 额外连接属性无法用于 MySQL 源的 VARCHAR 主键。
2018 年 9 月 12 日 修复了以下问题:使用 SQL Server 保护事务的 DMS 阻止事务日志被重用。
2018 年 9 月 21 日 修复了以下问题:从 PostgreSQL(作为源)到 Amazon Redshift(作为目标)的批量加载失败。失败的任务在完全加载被中断后未报告失败。
2018 年 10 月 3 日 修复了以下问题:DMS 迁移任务在未为 SQL Server(作为源)正确配置持续复制的先决条件时未失败。
多个日期 修复了与数据验证相关的多个问题,并增加了对验证多字节 UTF-8 字符的增强支持。

AWS Database Migration Service (AWS DMS) 2.4.3 发布说明

下面的表显示了 AWS Database Migration Service (AWS DMS) 2.4.3 版的功能和错误修复。

新功能或增强功能 描述
出现不匹配情况时重新创建表元数据

添加了用于 MySQL 终端节点的新的额外连接属性:CleanSrcMetadataOnMismatch

这是一个布尔属性,可在出现不匹配情况时在复制实例上清除并重新创建表元数据信息。例如,对表运行数据定义语言 (DDL) 中的更改语句可能会产生有关在复制实例中缓存的表的不同信息。默认情况下,此属性设置为 false。

数据验证的性能改进

改进包括:

  • 现在,数据验证在开始之前先对数据分区,这样它可以比较相似的分区并对其进行验证。此版本改进了更改处理方式,以提取批量分区,从而缩短分区时间并加速数据验证。

  • 进行了改进以根据任务设置自动处理排序规则差异。

  • 进行了改进以识别验证期间的误报,还可减少缓存更改阶段的误报。

  • 对数据验证的一般日志记录改进。

  • 当表具有复合主键时对数据验证所用查询的改进。

已解决的问题如下所示。

报告的日期 描述
2018 年 2 月 12 日 修复了以下问题:在持续复制中,在 AWS DMS 缺少一些插入的批量应用中,已更新表中的唯一约束。
2018 年 3 月 16 日 修复了以下问题:在持续复制阶段,从 Oracle 到 PostgreSQL 的迁移任务因为源 Amazon RDS for Oracle 实例上的多个 AZ 故障转移而崩溃。

AWS Database Migration Service (AWS DMS) 2.4.2 发布说明

下面的表显示了 AWS Database Migration Service (AWS DMS) 2.4.2 版的功能和错误修复。

新功能或增强功能 描述
变更数据捕获期间对 Amazon RDS for Oracle 的 Binary Reader 支持 增加了对在持续复制期间从 Amazon RDS for Oracle 源使用变更数据捕获 (CDC) 方案中的 Binary Reader 的支持。
作为目标的 Amazon Redshift 的其他 COPY 命令参数

使用额外的连接属性引入了对以下其他 Amazon Redshift 复制参数的支持。有关更多信息,请参阅将 Amazon Redshift 作为 AWS DMS 目标时的额外连接属性

  • TRUNCATECOLUMNS

  • REMOVEQUOTES

  • TRIMBLANKS

在 PostgreSQL 源中截断表时使迁移任务失败的选项 引入了对在 PostgreSQL 源中发生截断时使用新任务设置使任务失败的支持。有关更多信息,请参阅错误处理任务设置一节中的 ApplyErrorFailOnTruncationDdl 设置。
对 PostgreSQL 终端节点中的 JSON/JSONB/HSTORE 的验证支持 引入了对作为源和目标的 PostgreSQL 的 JSON、JSONB 和 HSTORE 列的数据验证支持。
改进了 MySQL 源的日志记录 改进了在变更数据捕获 (CDC) 期间读取 MySQL 二进制日志 (binlogs) 时出现的问题的日志可见性。现在,如果在 CDC 期间访问 MySQL 源二进制日志时出现问题,日志将清楚地显示错误或警告。
其他数据验证统计数据 增加了更多的复制表统计数据。有关更多信息,请参阅复制任务统计数据

已解决的问题如下所示。

报告的日期 描述
2018 年 1 月 14 日 修复了与在完全加载和 CDC 期间将零日期 (0000-00-00) 用于 MySQL 目标相关的所有问题。MySQL 不接受 0000-00-00(在 MySQL 中无效),而其他一些引擎接受它。对于 MySQL 目标,所有这些日期将变为 0101-01-01
2018 年 1 月 21 日 修复了在迁移名称包含 $ 符号的表时迁移失败的问题。
2018 年 2 月 3 日 修复了在迁移到任何受支持的目标时 PostgreSQL 源中的 JSON 列被截断的问题。
2018 年 2 月 12 日 修复了以下问题:在 Aurora MySQL 目标中进行故障转移后迁移任务失败。
2018 年 2 月 21 日 修复了以下问题:在出现网络连接问题后迁移任务无法启动持续复制阶段。
2018 年 2 月 23 日 修复了以下问题:持续复制到 Amazon Redshift 目标期间,表映射中的某些转换规则导致迁移任务崩溃。
报告多个日期的数据

修复了各种数据验证问题:

  • 修复了 Oracle 源和目标验证中的宽字符串处理问题。

  • 处理在为表映射中的表删除列时进行的验证。

  • 改进了具有高更改率的源的验证性能。

AWS Database Migration Service (AWS DMS) 2.4.1 发布说明

下面的表显示了 AWS Database Migration Service (AWS DMS) 2.4.1 版的功能和错误修复。

新功能或增强功能 描述
JSONB 支持 PostgreSQL 源 引入了对从作为源的 PostgreSQL 的 JSONB 迁移的支持。JSONB 将视为 LOB 数据类型且需要适当 LOB 设置才能使用。
HSTORE 支持 PostgreSQL 源 引入了对从作为源的 PostgreSQL 的 HSTORE 数据类型迁移的支持。HSTORE 将视为 LOB 数据类型且需要适当 LOB 设置才能使用。
作为目标的 Amazon Redshift 的其他 COPY 命令参数

通过使用这些额外连接属性引入了对以下其他复制参数的支持:

  • ACCEPTANYDATE

  • DATEFORMAT

  • TIMEFORMAT

  • EMPTYASNULL

已解决的问题如下所示。

报告的日期 描述
2017 年 12 月 7 日 修复了以下问题:从启用了 TDE 列加密的 Oracle 表读取时完全加载阶段开始前迁移任务被挂起。
2017 年 10 月 3 日 修复了以下问题:PostgreSQL 源中的 JSON 列不会按预期方式进行迁移。
2017 年 10 月 5 日 修复了以下问题:在源 Oracle 实例上未找到存档重做日志文件时 DMS 迁移任务显示 0 源延迟。此修复将线性增加此类条件下的源延迟。

2017 年 11 月 20 日

修复了一个与 LOB 迁移相关的问题,即,PostgreSQL 中的 TEXT 列正在迁移到 Oracle 中的 CLOB 列,其中 LOB 条目中的每个字符之后都有多余的空格。

2017 年 11 月 20 日

修复了底层复制实例从版本 1.9.0 升级到 2.4.0 后迁移任务未按预期方式停止的问题。
2017 年 11 月 30 日 修复了以下问题:DMS 迁移任务未正确捕获由在源 PostgreSQL 实例上运行的复制命令所做的更改。
2017 年 12 月 11 日 修复了以下问题:迁移任务在从 MySQL 源中不存在的二进制日志读取更改数据时发生了故障。
2017 年 12 月 11 日 修复了以下问题:DMS 正在从 MySQL 源中不存在的表读取更改数据。
2017 年 12 月 20 日 包含数据验证功能的几个修复和增强。
2017 年 12 月 22 日 修复了 Amazon Redshift 目标的 maxFileSize 参数的问题。此参数已被错误地解释为字节而不是千字节。
2018 年 1 月 4 日 修复了 Amazon DynamoDB 作为目标迁移任务的内存分配错误。在某些情况下,如果要使用的对象映射包含了排序键,则 AWS DMS 不会分配足够的内存。
2018 年 1 月 10 日 修复以下与作为源的 Oracle 12.2 相关的问题:使用 ROWDEPENDENCIES 时未按预期捕获数据操作语言 (DML) 语句。

AWS Database Migration Service (AWS DMS) 2.4.0 发布说明

下面的表显示了 AWS Database Migration Service (AWS DMS) 2.4.0 版的功能和错误修复。

新功能或增强功能 描述
复制 Oracle 索引表空间 增加了用于支持 Oracle 索引表空间复制的功能。可以在此处查看有关索引表空间的更多详细信息。
对跨账户 Amazon S3 访问的支持

增加了支持标准 ACL(预定义的授权)的功能,以支持在 S3 终端节点中进行跨账户访问。有关标准 ACL 的更多详细信息,请参阅 Amazon Simple Storage Service 开发人员指南 中的 标准 ACL

使用:在 S3 终端节点中设置额外连接属性,即 CannedAclForObjects=value。可能值如下所示:

  • NONE

  • PRIVATE

  • PUBLIC_READ

  • PUBLIC_READ_WRITE

  • AUTHENTICATED_READ

  • AWS_EXEC_READ

  • BUCKET_OWNER_READ

  • BUCKET_OWNER_FULL_CONTROL

已解决的问题如下所示。

报告的日期 描述
2017 年 7 月 19 日 修复了以下问题:在源 PostgreSQL 实例用完复制槽时,复制任务永远陷入重试循环。使用此修复后,任务将在失败时显示错误消息,报告 DMS 无法创建逻辑复制槽。
2017 年 27 月 7 日 修复了复制引擎中的一个问题,即,enum MySQL 数据类型导致在出现内存分配错误时任务失败。
2017 年 7 月 8 日 修复了一个问题,在源关闭超过 5 分钟时,该问题导致将 Oracle 作为源的迁移任务出现意外行为。即使在源变为可用后,该问题也会导致持续复制阶段挂起。
2017 年 8 月 24 日 修复了一个 PostgreSQL 目标问题,即,无法正确处理 TIME 数据类型中的小数部分。
2017 年 9 月 14 日 修复了以下问题:在 CDC 阶段进行更新的过程中,将不正确的值写入到基于 PostgreSQL 的目标的 TOAST 字段中。
2017 年 10 月 8 日 修复了 2.3.0 版中的以下问题:MySQL 5.5 源的持续复制无法正常工作。
2017 年 10 月 12 日

修复了在持续复制阶段从 SQL Server 2016 源中读取更改时出现的一个问题。需要在源 SQL Server 终端节点中将该修复与以下额外连接属性一起使用:IgnoreTxnCtxValidityCheck=true

AWS Database Migration Service (AWS DMS) 2.3.0 发布说明

下面的表显示了 AWS Database Migration Service (AWS DMS) 2.3.0 版的功能和错误修复。

新功能或增强功能 描述
将 S3 作为源 将 Amazon S3 作为 AWS DMS 源
将 SQL Azure 作为源 将 Microsoft Azure SQL 数据库作为 AWS DMS 源
平台 – AWS SDK 更新

将复制实例中的 AWS 软件开发工具包更新为 1.0.113。AWS 软件开发工具包用于某些终端节点(如 Amazon Redshift 和 S3),以代表客户将数据上传到这些终端节点。使用不受限制。

Oracle 源:支持复制 Oracle 中的表空间

可以从 Oracle 源中迁移表空间,而无需在迁移之前在目标中预创建表空间。

使用:在 Oracle 源终端节点的额外连接属性中使用 ReadTableSpaceName 设置,并将其设置为 true 以支持表空间复制。默认情况下,该选项设置为 false。

Oracle 源:为将 Oracle 活动 Data Guard 备用实例作为源提供 CDC 支持

能够将 Oracle 活动 Data Guard 的备用实例用作源以复制对受支持目标的持续更改。通过进行此更改,便无需连接到可能处于生产状态的活动数据库。

使用:在 Oracle 源终端节点的额外连接属性中使用 StandbyDelayTime 设置,并指定时间(分钟)以指定备用同步延迟。

PostgreSQL 源:添加 WAL 检测信号

增加了用于从 PostgreSQL 源复制的提前写入日志 (WAL) 检测信号 (运行虚拟查询)。已增加此功能,以便空闲逻辑复制槽不会保留旧 WAL 日志,以免在源上出现存储已满情况。该检测信号将 restart_lsn 保持运行状态,并防止出现存储已满情况。

使用(只要适用)如下所示:

  • HeartbeatEnable 设置为 true(默认值为 false)。

  • HeartbeatSchema 是检测信号项目架构(默认值为 public)。

  • HeartbeatFrequency 是检测信号频率(以分钟为单位,默认值为 5,最小值为 1)

所有终端节点:为同构复制保留转换

2.2.0 版提供了为同构迁移任务执行同类型迁移(从表结构/数据类型角度看)的功能。不过,在启动具有表转换的任务时,DMS 仍会在内部转换数据类型。即使在使用转换时,该功能也会在同构直接迁移目标上保留源的数据类型。

对于所有同构迁移,使用不受限制。

所有终端节点:在找不到表时任务失败

可以在包括转换规则找不到匹配项时强制复制任务失败。

使用:将 FailOnNoTablesCaptured 任务设置设为 true。

Oracle 源:在存档重做日志丢失时停止任务

在源上的存档重做日志丢失时,可以退出重试循环并停止任务。

使用:使用 RetryTimeoutInMinutes 额外连接属性指定停止超时(以分钟为单位)。

已解决的问题如下所示。

报告的日期 描述
2017 年 1 月 5 日

修复了在相同 MySQL 实例 (5.6+ 版) 上启动多个 DMS 任务时出现的服务器 ID 冲突问题

2017 年 2 月 21 日

修复了以下问题:在 MongoDB 中的 _id 是文档中的字符串时,为 nestingLevel=ONE 创建表失败。在进行该修复之前,_id(具有字符串时)将被创建为 LONGTEXT (MySQL) 或 CLOB (Oracle),这会导致在尝试将其指定为主键时失败。

2017 年 5 月 5 日 修复了以下问题:在 Oracle 源中使用完整 LOB 模式时,NULL LOB 将迁移为空。
2017 年 5 月 5 日

修复了以下问题:如果自定义 CDC 启动时间在 24 小时之前,将 MySQL 作为源的任务将失败并出现太多的连接错误。

2017 年 5 月 24 日 修复了以下问题:在复制实例上一次性启动多个任务时,任务启动时间太长。
2017 年 7 月 7 日

修复了导致出现有关使用所有可用连接槽的 PostgreSQL 错误消息的问题。现在,在用完到 PostgreSQL 的所有可用连接槽并且 DMS 无法获取更多槽以继续复制时,将在默认日志记录级别记录一个错误。

2017 年 7 月 19 日

修复了以下问题:未正确将更新和删除从 Oracle 迁移到 DynamoDB。

2017 年 8 月 8 日

修复了一个问题,在迁移期间 Oracle 源数据库实例关闭时间超过 5 分钟时,该问题导致在 CDC 期间出现意外行为。

2017 年 12 月 8 日

修复了以下问题:在插入到 Amazon Redshift 内的非 varchar 数据类型中时,将任何源中的 null 作为 amazon_null 迁移。

2017 年 8 月 27 日

对于 MongoDB,修复了以下问题:在 nestingLevel=NONE_id 不是 ObjectId 时,完全加载任务崩溃。