Amazon DMS 发行说明 - Amazon Database Migration Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon DMS 发行说明

在下面,您可以找到当前版本和早期版本的 Amazon Database Migration Service (Amazon DMS) 的发行说明。

Amazon DMS 不区分主要版本和次要版本。例如,从版本 3.4.x 升级到 3.5.x 不被视为重大升级,因此所有更改都应向后兼容。

注意

Amazon DMS 的当前默认引擎版本为 3.5.1。

Amazon Database Migration Service 3.5.2 发行说明

Amazon DMS 3.5.2 中的新功能
新功能或增强功能 描述
Redshift 数据验证 Amazon DMS 现在支持验证 Redshift 目标中的数据。
支持将 Microsoft SQL Server 版本 2022 作为源和目标。 Amazon DMS 现在支持将 Microsoft SQL Server 版本 2022 作为源和目标。
将 IBM Db2 LUW 作为目标 Amazon DMS 现在支持将 IBM Db2 LUW 作为目标。现在,您可以使用 Amazon DMS 从 IBM Db2 LUW 到 IBM Db2 LUW 执行实时迁移。

Amazon Database Migration Service 3.5.1 发行说明

下表显示了 Amazon Database Migration Service (Amazon DMS) 版本 3.5.1 中引入的新功能和增强功能。

新功能或增强功能 描述
支持 PostgreSQL 15.x Amazon DMS 版本 3.5.1 支持 PostgreSQL 版本 15.x。有关更多信息,请参阅 将 PostgreSQL 作为源将 PostgreSQL 作为目标
支持带有分片集合的 Amazon DocumentDB 弹性集群 Amazon DMS 版本 3.5.1 支持带有分片集合的 Amazon DocumentDB 弹性集群。有关更多信息,请参阅将 Amazon DocumentDB 作为 Amazon Database Migration Service 的目标
Redshift Serverless 作为目标 增加了将 Amazon Redshift Serverless 作为目标端点的支持。有关更多信息,请参阅将 Amazon Redshift 数据库作为 Amazon Database Migration Service 目标
Babelfish 端点设置 增强了 PostgreSQL 目标端点设置,用于提供 Babelfish 支持。有关更多信息,请参阅将 PostgreSQL 数据库作为 Amazon Database Migration Service 的目标
Oracle 源未完成事务 Amazon DMS 3.5.1 针对 Oracle 源,改进了从起始位置启动仅 CDC 任务时处理未完成事务的方法。有关更多信息,请参阅 使用 Oracle 作为 Amazon DMS 的源时的端点设置 部分中的 OpenTransactionWindow

Amazon DMS 版本 3.5.1 中解决了以下问题:

解决的问题 描述
MongoDB 自动分段 改进了在将 MongoDB 作为源时,从中并行迁移文档时自动对数据分区的功能。
Amazon S3 Apache Parquet 格式 修复了一个问题,以便使用 Python 和 Apache Arrow C++ 查看以 S3 为目标写入的 Apache Parquet 文件。
PostgreSQL 作为源时的 DDL 处理 修复了 PostgreSQL 作为源时未正确忽略不支持的 DDL 操作的问题。
PostgreSQL timestamptz 数据错误 修复了 PostgreSQL 迁移到 PostgreSQL 时出现的问题,在该问题中,CDC 期间启用了批量应用时,带有时区数据的时间戳无法正确迁移。
Oracle 到 PostgreSQL 的验证失败 修复了 Oracle 迁移到 PostgreSQL 时,NUMERIC(38,30) 数据类型的数据验证失败的问题。
Oracle 扩展数据类型错误 修复了 Oracle 源中扩展 varchar 数据类型被截断的问题。
组合筛选器运算符 修复了列筛选功能中无法将 null 列运算符与其他运算符类型组合使用的问题。
过多日志记录导致的 CDC 延迟。 修复了 PostgreSQL 源中 pglogical 插件警告的过多日志记录会导致源 CDC 延迟的问题。
创建表 DDL 的双向复制处理 修复了从 PostgreSQL 到 PostgreSQL 的双向复制时无法正确复制创建表 DDL 更改的问题。
使用筛选器时 CDC 失败 修复了 CDC 复制失败时的筛选功能问题。
Kafka 端点的证书颁发机构主机名验证 通过添加用于禁用证书颁发机构的主机名验证 (SslEndpointIdentificationAlgorithm) 的选项,增强了 Kafka 端点的功能。
IBM Db2 LUW 验证 修复了在数据验证期间未正确处理 Db2 LUW 源日期、时间戳和时间数据类型的问题。
S3 验证 修复了从 Db2 LUW 迁移到 S3 时,验证功能无法正确处理 timestamp(0) 数据类型的问题。
DMS 任务重启失败 修复了 PostgreSQL 源中使用 pglogical 插件时,Amazon DMS 任务无法重启且无法使用关系事件的问题。
SQL Server 的 HIERARCHY 数据类型的验证 修复了 SQL Server 源中 HIERARCHY 数据类型验证会失败的问题。
SQL Server 中带有控制字符的字符串 修复了 SQL Server 源中无法正确复制带有控制字符的字符串的问题。
Redshift 和 Secrets Manager 修复了 Redshift 目标中在使用 Secrets Manager 时测试端点会失败的问题。
MySQL ParallelLoadThreads 设置不一致 修复了 MySQL 目标中更改任务设置后 ParallelLoadThreads 设置未正确保留的问题。
PostgreSQL 到 Oracle 数据类型映射时出错 修复了从 PostgreSQL 迁移到 Oracle 时,从 TEXT 数据类型复制到 VARCHAR2(2000) 数据类型会失败的问题。
Oracle 到 PostgreSQL 的数据验证 修复了从 Oracle 迁移到 PostgreSQL,当 NULL 字符复制为 SPACE 字符时,数据验证会出现误报的问题。
AlwaysOn 配置中的 SQL Server 源 修复了 SQL Server 源在 AlwaysOn 配置中,当副本名称与实际服务器名称不完全匹配时,Amazon DMS 任务会失败的问题。
Oracle 源端点测试失败 修复了 Oracle 源中在检索 Oracle 会话 ID (SID) 时,Amazon DMS 端点连接测试会由于权限不足而失败的问题。
CDC 不选取新表 修复了仅 CDC 任务在某些情况下,任务启动后在源上创建的表没有复制的问题。
将 Oracle 作为源时的未完成事务 针对 Oracle 源,改进了从起始位置启动仅 CDC 任务时处理未完成事务的方法。
缺失数据问题 修复了在应用缓存更改后停止的任务(StopTaskCachedChangesApplied 选项设置为 true),在恢复任务时丢失数据的问题。如果由于源上存在大量更改,导致 Amazon DMS 持续将缓存的更改复制到 Amazon DMS 复制实例磁盘,则在很少的情况下会出现此问题。
扩展数据类型的数据验证问题 修复了 PostgreSQL 到 Oracle 的数据验证问题,在该问题中,扩展数据类型的验证失败。
字符编码不一致导致的数据验证问题 修复了 SQL Server 到 PostgreSQL 的数据验证问题,在该问题中,当源和目标之间的字符编码不一致时,验证失败。
数据验证问题 ORA-01455 修复了 PostgreSQL integer 映射到 Oracle number(10) 时,验证期间出现 ORA-01455 错误的问题。
SQL Server IDENTITY 支持 修复了 SQL Server 到 SQL Server 的数据复制问题,在该问题中,当目标列具有 IDENTITY 属性时,迁移身份列会失败。
ALTER 语句的字符集问题 修复了 MySQL 到 MySQL 复制时,在 CDC 期间迁移 ALTER 语句时 Amazon DMS 将字符集更改为 UTF16 的问题。
PostgreSQL 到 Redshift 空间数据类型支持 增加了从 PostgreSQL 迁移到 Amazon Redshift 时对 spatial 数据类型的支持。
.parquet 文件的 GZIP 压缩 修复了以 S3 为目标时,Amazon DMS 无法生成使用 GZIP 压缩的 .parquet 文件的问题。
MongoDB/DocDB 源迁移 修复了 Amazon DMS 无法从 MongoDB 源迁移部分分区的问题。
表统计数据问题 修复了当复制实例上的至少一个任务包含的表超过 1001 个时,不显示表统计数据的问题。
IBM Db2 LUW 版本 10.1.0 及更低版本的表暂停 修复了 Db2 LUW 源的一个问题,在该问题中,当源数据库版本为 10.1.0 或更低版本时,表迁移会暂停并出现错误 TYPESTRINGUNITS is not valid
MongoDB 分区问题 修复了 MongoDB/DocDB 中源分区缺少一个或多个区段的问题。
MongoDB 分区问题 修复了由于类型转换错误,导致基于 NumberLong() 类型的列进行分段会失败的问题。
MongoDB 分区问题 提高了以 MongoDB 为源的大型数据集的自动分段性能。
MongoDB 驱动程序版本 将 MongoDB 驱动程序降级到 1.20.0,以继续支持 MongoDB 3.6 及更低版本。
Amazon S3 Apache Parquet 时间戳数据类型 修复了 Amazon S3 Parquet 目标的问题。Amazon DMS 现在将格式参数 isAdjustedToUTC 设置为 true 以匹配 Amazon DMS 先前版本中的行为。
Amazon Redshift 作为目标复制命令 修复了将 Amazon Redshift 作为目标,将数据从 Amazon S3 复制到 Amazon Redshift 时,大型表的复制命令会失败的问题。
PostgreSQL 几何体数据类型 修复从 PostgreSQL 迁移到 PostgreSQL 时,在大型几何体数据类型上迁移失败的问题。
Oracle 到 PostgreSQL XML 修复了从 Oracle 复制到 PostgreSQL 时,迁移会在 XML 上增加额外空间的问题。
在支持的引擎中更新目标检查点 Amazon DMS 现在更新目标数据库的 awsdms_txn_state 表中的目标检查点。
MongoDB/DocDB 记录发送到错误的集合 修复了 MongoDB/DocDB 中数据发送到错误目标集合的问题。
Oracle 源中具有 EscapeCharacter 端点设置的新表选择 修复了 Oracle 源的问题,在该问题中,设置了 EscapeCharacter 端点设置时,任务停止并恢复后,Amazon DMS 只会选择新的表进行复制。
CDC 恢复检查点 修复了在目标数据存储和 Amazon DMS 控制台之间观察到的 CDC 恢复检查点不一致的问题。
CDC 仅验证任务 修复了 CDC 仅验证任务的问题,该问题导致即便任务中的所有表都遇到故障,任务也不会失败。
源或目标出现连接问题时的验证行为 修复了在数据验证中,连接断开时 Amazon DMS 会暂停源或目标上的表的问题。
Oracle 迁移到 PostgreSQL 的数据验证误报 修复了 Oracle 迁移到 PostgreSQL 数据验证中 Amazon DMS 报告了误报的问题。由于除了 VARCHAR 之外,基于文本的数据类型没有考虑源 NULL 字符在目标上的表示形式的差异,因而会产生误报。
Oracle 迁移到 PostgreSQL 的数据截断 修复了 Oracle 作为源和 PostgreSQL 作为目标的问题,当 Oracle 的 NLS_NCHAR_CHARACTERSET 设置为 AL16UTF16 时,Amazon DMS 会截断 NVARCHAR 列的数据。
数据验证错误 修复了数据验证中,同时使用源筛选和添加列转换规则时会引发 unable to create where filter clause 错误的问题。
Redshift 目标错误处理 修复了 Redshift 作为目标时,当 CDC 任务将 ParallelApplyThreads 任务设置的值设置为大于零时,错误处理无法按配置运行的问题。
Oracle 作为源时通信失败 修复了 Oracle 作为源时,任务保持为 RUNNING 状态,但在通信失败后无法迁移任何数据的问题。
使用列筛选器时 CDC 表暂停 修复了完全加载 + CDC 任务中,应用列筛选器时,在 CDC 阶段会暂停表的问题。
S3 作为目标时特殊字符的数据验证失败 修复了 S3 目标数据验证中,如果表名中包含除下划线之外的特殊字符,任务将失败的问题。
MongoDB 源中的完全加载和 CDC 故障 修复了 MongoDB 作为源时,迁移大型集合的缓存事件处理期间,完全加载 + CDC 任务会失败的问题。
BatchApplyEnabled 设置为 true 时的升级问题 修复了 BatchApplyEnabled 任务设置为 true 时,在某些情况下从 Amazon DMS 版本 3.4.6 迁移到 3.5.1 后任务会失败的问题。
SQL Server AlwaysOn 源具有区分大小写的排序规则 修复了 SQL Server AlwaysOn 作为源时,使用区分大小写的排序规则会导致任务失败的问题。
MySQL 源中的任务挂起 修复了将 MySQL 作为源时,源配置不正确时任务会挂起而不是失败的问题。
S3 源中的完全加载任务失败 修复了将 S3 作为源时,从 Amazon DMS 版本 3.4.6 或 3.4.7 升级到 3.5.1 后,任务在恢复时会失败的问题。
将 CaptureDDLs 设置为 false 时的 PostgreSQL 源 修复了将 PostgreSQL 作为源时,将 CaptureDDLs 端点设置为 false 时未正确处理 DDL 的问题。
Oracle 源中任务在恢复期间崩溃 修复了 Oracle 作为源时,由于列名中的数据不正确,会导致任务在恢复时崩溃的问题。
MySQL 源中的 LOB 查找失败 修复了将 MySQL 作为源,当 ParallelApplyThreads 任务设置被设置为大于零的值时,LOB 查找会失败的问题。
SQL 服务器源中的不合逻辑的 LSN 错误 修复了将 SQL Server 作为源时,从 Amazon DMS 版本 3.4.7 升级到 3.5.1 后,任务会失败并出现错误 illogical LSN sequencing state error 的问题。
PostgreSQL 源和 pglogical 修复了 PostgreSQL 作为源时的问题,在该问题中,使用 pglogical 插件的任务,在任务停止时、从选择规则中移除表时、任务恢复时以及对已删除的表进行更改时会失败。
Aurora MySQL 恢复检查点不正确。 修复了将 Aurora MySQL 作为源时出现的问题,即,由于 Aurora 失效转移或 Aurora 源停止和启动,会保存不正确的恢复检查点。
SQL Server 作为源时任务崩溃。 修复了 SQL Server 作为源时出现的问题,即,当 SafeguardPolicy 设置为 RELY_ON_SQL_SERVER_REPLICATION_AGENT 时,任务会崩溃。
MySQL 作为目标时数据类型转换不正确 修复了 MySQL 作为目标时出现的问题,即,由于批处理应用阶段的数据类型转换不正确,CDC 复制会失败。
将 PostgreSQL 作为源时,如果将 CaptureDDLs 设置为 false,任务将失败。 修复了 PostgreSQL 作为源时出现的问题,即,在 CaptureDDLs 端点设置为 false 时,由于将 DDL 视为 DML,任务会失败。
MongoDB 空集合崩溃 修复了 MongoDB 作为源时,由于空集合而导致任务崩溃的问题。
Redshift 作为目标时完全加载任务崩溃 修复了 Redshift 作为目标时出现的问题,即,启用恢复检查点控制表后,任务在完全加载阶段会崩溃。
S3 到 S3 - 无数据移动。 修复了 S3 到 S3 复制的问题,即,如果未指定 bucketFolder,Amazon DMS 将无法复制数据。
GlueCatalogGeneration 设置为 true 时 CDC 延迟 修复了 S3 作为目标时出现的问题,即,GlueCatalogGeneration 设置为 true 时会出现延迟过长。
Oracle 作为目标时数据截断 修复了 Oracle 作为目标时 Amazon DMS 会截断 VARCHAR2 列中的数据的问题。
PostgreSQL 下划线通配符行为 修复了 PostgreSQL 作为源时出现的问题,即,选择规则中通配符“_”的行为与文档所述不符。
PostgreSQL 作为源时出现空 WAL 标头问题。 修复了 PostgreSQL 作为源时出现的问题,即,由于从复制时隙收到空 WAL 标头导致任务失败。
MySQL 或 MariaDB 作为源时出现压缩二进制日志 修复了 MySQL 和 MariaDB 作为源时出现的问题,即,在 Amazon DMS 检测到 BINLOG 压缩时未发出适当的错误消息。
S3 数据验证特殊字符 改进了 S3 数据验证,以处理主键列和非主键列中的特殊字符。
Redshift 作为目标时出现误导性任务日志条目。 修复了 Redshift 作为目标时出现的问题,即,任务日志中出现误导性条目,报告对 UPDATES 和 DELETES 应用批处理语句失败。
SQL Server 到 S3 迁移任务崩溃。 修复了 SQL Server 到 S3 迁移的问题,即,在应用缓存更改时任务崩溃。
批量应用时出现缺少数据错误。 修复了批量应用功能的问题,即,应用批处理时出错会导致数据丢失。

Amazon Database Migration Service 3.5.0 测试版发行说明

重要

Amazon DMS 3.5.0 是复制实例引擎的测试版。与所有之前的发行版一样,Amazon DMS 支持此版本。但我们建议您在将 Amazon DMS 3.5.0 测试版用于生产目的之前先对其进行测试。

下表显示了 Amazon Database Migration Service (Amazon DMS) 版本 3.5.0 测试版中引入的新功能和增强功能。

新功能或增强功能 描述
Oracle 和 Microsoft SQL Server 的 Time Travel 您现在可以在所有 Amazon 区域中,对 DMS 支持的 Oracle、Microsoft SQL Server 和 PostgreSQL 源端点以及 DMS 支持的 PostgreSQL 和 MySQL 目标端点使用 Time Travel。
S3 验证 Amazon DMS 现在支持验证 Amazon S3 目标端点中复制的数据。有关验证 Amazon S3 目标数据的信息,请参阅 Amazon S3 目标数据验证
Glue 目录集成 Amazon Glue 是一项提供简单数据分类方法的服务,由名为 Amazon Glue Data Catalog 的元数据存储库组成。您可以将 Amazon Glue Data Catalog 与您的 Amazon S3 目标端点集成,并通过其他 Amazon 服务(例如 Amazon Athena)查询 Amazon S3 数据。有关更多信息,请参阅将 Amazon Glue Data Catalog 与 Amazon S3 目标一起用于 Amazon DMS
将 DocumentDB 作为目标时的并行应用 在 CDC 复制期间,使用 DocumentDB 作为目标并使用新 ParallelApply* 任务设置,Amazon DMS 现在最多支持每秒 5000 条记录。有关更多信息,请参阅将 Amazon DocumentDB 作为 Amazon Database Migration Service 的目标
以客户为中心的日志记录 在 Amazon DMS 版本 3.5.0 中,您现在可以更有效地检查和管理任务日志。有关查看和管理 Amazon DMS 任务日志的信息,请参阅查看和管理 Amazon DMS 任务日志
Kafka 目标端点的 SASL_PLAIN 机制 现在,您可以使用 SASL_PLAIN 身份验证来支持 Kafka MSK 目标端点。
在 MySQL 中复制 XA 事务 现在,您可以在 MySQL DMS 源上使用 XA 事务。在 DMS 3.5.0 之前,作为 XA 事务的一部分应用的 DML 更改无法正确复制。
Oracle 扩展数据类型 Amazon DMS 现在支持在 Oracle 版本 12.2 及更高版本中复制扩展数据类型。
Db2 LUW PureScale 环境 Amazon DMS 现在支持从 Db2 LUW PureScale 环境进行复制。仅当使用“从源更改位置开始处理更改”选项时才支持此功能。
SQL 服务器源和 READ_COMMITTED_SNAPSHOT 选项 READ_COMMITTED_SNAPSHOT 选项设置为 TRUE 的情况下使用 Microsoft SQL Server 源数据库时,可以通过设置 forceDataRowLookup 连接属性来正确复制 DML 更改。

Amazon DMS 3.5.0 中解决了以下问题:

2023 年 3 月 17 日发布的 Amazon DMS 3.5.0 中解决的问题
主题 解决方案
Oracle – 比较从数字转换而来的字符串的特殊大小写 修复了 Oracle 源中,当数字列中将数据类型转换为字符串时,同一列的筛选规则无法按预期工作的问题。
本地 SQL Server AG 增强功能 通过消除与 DMS 不使用副本的不必要连接,提高了 AlwaysOn 配置中与 SQL Server 源的连接处理效率。
SQL Server HIERARCHYID 内部转换 修复了 SQL Server 源中的问题,在该问题中,复制到 SQL Server 目标时,HIERARCHYID 数据类型复制为 VARCHAR(250) 而不是 HIERARCHYID。
S3 目标移动任务修复 修复了使用 S3 目标的任务在移动时需要很长时间、显示为冻结或永远无法完成的问题。
Kafka 的 SASL Plain 机制 为 Kafka MSK 目标端点引入了对 SASL Plain 身份验证方法的支持。
由于 Opensearch 2.x 中有 _type 参数,并行加载/应用失败 修复了 Opensearch 2.x 目标由于缺少对 _type 参数的支持,并行加载或并行应用会失败的问题。
支持使用混合运算符的表映射筛选器 删除了只能对一个列应用一个筛选器的限制。
S3、Kinesis、Kafka 端点 – CDC 阶段中基于变更的 LOB 列迁移 修复了 Kinesis、Kafka 和 S3 目标在 CDC 期间不复制添加的 LOB 列中数据的问题。
MongoDB 驱动程序升级 MongoDB 驱动程序已升级到 v1.23.2。
Kafka 驱动程序更新 Kafka 驱动程序已从 1.5.3 升级到 1.9.2。
S3 端点设置无法正常工作 修复了 S3 目标的一个问题,在该问题中,当数据包含指定作为 S3 目标的分隔符的字符时,AddTrailingPaddingCharacter 端点设置不起作用。
Kinesis 目标任务会崩溃 修复了 Kinesis 目标的问题,在该问题中,当 PK 值为空且启用了详细调试时,任务会崩溃。
当 S3 目标的列名偏移一个位置时 修复了 S3 目标的问题,在该问题中,当 AddColumnName 设置为 trueTimestampColumnName 设置为 "" 时,列名会移动一个位置。
改进了日志记录 LOB 截断警告 改进了 SQL Server 源的 LOB 截断警告日志记录,以包括用于检索 LOB 的选择语句。
添加致命错误以避免在 TDE 密码错误时 DMS 任务崩溃。 引入了有意义的错误消息,并消除了将 Oracle 作为源时,在由于 TDE 密码不正确而导致 DMS 任务失败且没有错误消息的情况下,任务崩溃的问题。
允许在 CDC 期间 PostgreSQL CTAS(Create Table As Selected,根据选定内容创建表)DDL 的迁移。 移除了在 CDC 期间,DMS 无法复制 PostgreSQL CTAS(Create Table As Selected,按选定内容创建表)DDL 的限制。
修复 CDC 中删除表列时的 pg_logical 任务崩溃问题。 修复了带有 S3 目标的 PostgreSQL 源的一个问题,在该问题中,禁用了 LOB 支持且存在 LOB 时,目标上的列未对齐。
修复 MySQL 连接处理中的内存泄漏问题 修复了 MySQL 源中任务内存消耗持续增加的问题。
Oracle 源端点设置 – ConvertTimestampWithZoneToUTC 将此属性设置为 true,以便将“TIMESTAMP WITH TIME ZONE”和“TIMESTAMP WITH LOCAL TIME ZONE”列的时间戳值转换为 UTC。默认情况下,此属性的值为“false”,数据将使用源数据库时区进行复制。
Oracle 源 – DataTruncationErrorPolicy 设置为 SUSPEND_TABLE 时不起作用 修复了将作为 S3 目标的 Oracle 源的问题,在该问题中,DataTruncationErrorPolicy 任务设置被设置为 SUSPEND_TABLE 时表不暂停。
构建查询子句时,SQL Server 在长架构/表上失败 修复了 SQL Server 源的一个问题,在该问题中,当选择规则包含以逗号分隔的表列表时,任务会失败或无响应。
MongoDB 端点的 Secret Manager 身份验证 修复了 MongoDB 和 DocumentDB 端点中基于 Secret Manager 的身份验证不工作的问题。
当 NLS_NCHAR_CHARACTERSET 设置为 UTF8 时,DMS 会在 CDC 期间截断多字节 varchar 列的数据 修复了在 Oracle 源和 Oracle 目标中,当 NLS_NCHAR_CHARACTERSET 设置为 UTF8 时,多字节 VARCHAR 列的数据被截断的问题。
适用于 Oracle LogMiner 的 filterTransactionsOfUser ECA 使用 LogMiner 时,添加了额外连接属性 (ECA) filterTransactionsOfUser,以允许 DMS 使用 LogMiner 在从 Oracle 复制时忽略来自指定用户的事务。
SQL Server 在备份中丢失 lsn 时设置可恢复错误 修复了 SQL Server 在缺少 LSN 时任务不会失败的问题。

Amazon Database Migration Service 3.4.7 发行说明

下表显示了 Amazon Database Migration Service (Amazon DMS) 版本 3.4.7 中引入的新功能和增强功能。

新功能或增强功能 描述
支持将 Babelfish 作为目标

Amazon DMS 现在支持将 Babelfish 作为目标。借助 Amazon DMS,您现在可以将实时数据从任何 Amazon DMS 支持的源迁移到 Babelfish,同时最大程度减少停机时间。

有关更多信息,请参阅使用 Babelfish 作为 Amazon Database Migration Service 的目标

支持将 IBM Db2 z/OS 数据库作为仅完全加载的源

Amazon DMS 现在支持将 IBM Db2 z/OS 数据库作为源。使用 Amazon DMS,您现在可以执行从 Db2 大型机到任何支持 Amazon DMS 的目标的实时迁移。

有关更多信息,请参阅将 IBM Db2 for z/OS 数据库用作 Amazon DMS 的源

支持将 SQL Server 只读副本作为源

Amazon DMS 现在支持将 SQL Server 只读副本作为源。使用 Amazon DMS,您现在可以执行从 SQL Server 只读副本到任何 Amazon DMS 支持的目标的实时迁移。

有关更多信息,请参阅将 Microsoft SQL Server 数据库作为 Amazon DMS 的源

支持 EventBridge DMS 事件

Amazon DMS 支持使用 EventBridge 管理 DMS 事件的事件订阅。

有关更多信息,请参阅在 Amazon Database Migration Service 中使用 Amazon EventBridge 事件和通知

支持 VPC 源端点和目标端点

Amazon DMS 现在支持将 Amazon Virtual Private Cloud (VPC) 端点作为源和目标。Amazon DMS 现在可通过 VPC 端点连接到任何 Amazon 服务,只要在 Amazon DMS VPC 中明确定义了到服务的路由。

注意

升级到 Amazon DMS 版本 3.4.7 及更高版本要求您首先配置 Amazon DMS 以使用 VPC 端点或使用公共路由。此要求适用于 Amazon S3、Amazon Kinesis Data Streams、Amazon Secrets Manager、Amazon DynamoDB、Amazon Redshift 和 Amazon OpenSearch Service 的源端点和目标端点。

有关更多信息,请参阅将 VPC 端点配置为 Amazon DMS 源端点和目标端点

新 PostgreSQL 版本 现在支持将 PostgreSQL 版本 14.x 作为源和目标。
支持将 Aurora Serverless v2 作为目标

Amazon DMS 现在支持将 Aurora Serverless v2 作为目标。使用 Amazon DMS,您现在可以执行到 Aurora Serverless v2 的实时迁移。

有关支持的 Amazon DMS 目标的信息,请参阅数据迁移的目标

新 IBM Db2 for LUW 版本

Amazon DMS 现在支持将 IBM Db2 for LUW 版本 11.5.6 和 11.5.7 作为源。使用 Amazon DMS,您现在可以从最新版本的 IBM DB2 for LUW 执行实时迁移。

有关 Amazon DMS 源的信息,请参阅数据迁移的源

有关支持的 Amazon DMS 目标的信息,请参阅数据迁移的目标

Amazon DMS 3.4.7 包括以下新的或已更改的行为以及解决的问题:

  • 现在,在使用 Amazon S3 作为源时,您可以使用表定义中的日期格式将数据字符串解析为日期对象。

  • 新的表统计数据计数器现已推出:AppliedInsertsAppliedDdlsAppliedDeletesAppliedUpdates.

  • 现在,在使用 OpenSearch 作为目标时,您可以选择默认的映射类型。

  • 通过 Oracle、PostgreSQL 和 SQLServer 源的新 TrimSpaceInChar 端点设置,您可以指定是否修剪 CHAR 和 NCHAR 数据类型的数据。

  • 使用 S3 作为源或目标时,Amazon S3 的新 ExpectedBucketOwner 端点设置可防止探测。

  • 对于 RDS SQL Server、Azure SQL Server 和自管理 SQL Server,DMS 现在可以在为迁移任务选择的所有表上自动设置 MS-CDC,不论这些表是否有主键,或者在具有唯一索引时,考虑在具有主键的自管理 SQL Server 表上为 MS-REPLICATION 启用优先级。

  • 增加了对在 Oracle 同构迁移期间,对复制 Oracle 分区和子分区 DDL 操作的支持。

  • 修复了使用 Oracle 作为源和目标时,复合主键导致数据验证任务崩溃的问题。

  • 修复了一个问题,在使用 Redshift 作为目标时,当目标列预先创建为布尔值时,能够将不同的字符类型正确转换为布尔值。

  • 修复了当使用 PostgreSQL 作为目标时,由于已知的 ODBC 问题,将 varchar 数据类型作为 varchar(255) 迁移时会导致数据截断的问题。

  • 修复了使用 Oracle 作为目标时,在 BatchApplyEnabled 设置为 trueBatchApplyPreserveTransaction 设置为 false 时,不遵守 DELETE 操作并行提示的问题。

  • 使用 S3 作为目标时,Amazon S3 的新 AddTrailingPaddingCharacter 端点设置增加了对字符串数据进行填充的功能。

  • 新的 max_statement_timeout_seconds 任务设置延长了端点查询的默认超时。MySQL 端点元数据查询目前使用此设置。

  • 修复了使用 PostgreSQL 作为目标时,CDC 任务未正确使用错误处理任务设置的问题。

  • 修复了 DMS 无法正确识别 Redis Enterprise 实例的 Redis 模式的问题。

  • 扩展了对 S3 目标 Parquet 格式的 includeOpForFullLoad 额外连接属性 (ECA) 的支持。

  • 引入了一个新的 PostgreSQL 端点设置 migrateBooleanAsBoolean。对于从 PostgreSQL 迁移到 Redshift,当此设置被设置为 true 时,布尔值将作为 varchar(1) 进行迁移。如果将其设置为 false,则布尔值将作为 varchar(15) 进行迁移,这是默认行为。

  • 修复了使用 SQL Server 源时,datetime 数据类型的迁移问题。此修复解决了精度为毫秒时插入 Null 的问题。

  • 对于带有 PGLOGICAL 的 PostgresSQL 源,修复了一个迁移问题,在该问题中,在 CDC 阶段使用 pglogical 并从源表中删除字段时,删除字段之后的值不会迁移到目标表。

  • 修复了 SQL Server 环回迁移中双向复制获得重复记录的问题。

  • 为 PostgresSQL 作为源添加了一个新的 ECA mapBooleanAsBoolean。使用这个额外连接属性,您可以覆盖 PostgresSQL 布尔值到 RedShift 布尔值数据类型的默认数据类型映射。

  • 修复了使用 SQL Server 作为源时的迁移问题,解决了 ALTER DECIMAL/NUMERIC SCALE 未复制到目标的情况。

  • 修复了 SQL Server 2005 的连接问题。

  • 从 2022 年 11 月 25 日起,通过 DMS 3.4.7,您可以使用 DMS 架构转换来转换数据库架构和代码对象,并使用 DMS Fleet Advisor 在网络环境中发现适合迁移的数据库。

  • 自 2022 年 11 月 25 日起,DMS Studio 停用。

  • 自 2023 年 1 月 31 日起,DMS 架构转换支持将 Aurora MySQL 和 Aurora PostgreSQL 作为目标数据提供程序。

  • 从 2023 年 3 月 6 日起,您可以使用 DMS Fleet Advisor 为源数据库生成合适目标大小的建议。

  • 自 2023 年 3 月 6 日起,Amazon DMS 支持允许将指标数据点发布到 Amazon CloudWatch 的 Amazon 托管策略。

2023 年 5 月 5 日发布的 DMS 3.4.7 维护版本中解决的问题
主题 解决方案
PostgreSQL 源任务失败 修复了 PostgreSQL 源中,当单个事件中超过允许的 DDL 操作最大数时,任务会失败的问题。
PostgreSQL 源数据验证误报 修复了 PostgreSQL 为源和 Oracle 为目标时,时间戳字段的转换不正确会导致误报数据验证错误的问题。
MySQL 源错误处理 修复了 MySQL 源中下一个 BIN 日志不可用时 DMS 任务不失败的问题。
MySQL 源 ROTATE_EVENT 日志记录 改进了与 ROTATE_EVENT 相关的 MySQL 源的日志记录,包括所读取的 BIN 日志名称。
数据验证超时问题 修复了数据验证功能的一个问题,在该问题中,与数据验证相关的查询不遵守 executeTimeout 端点设置。
PostgreSQL 目标并行完全加载问题 修复了 PostgreSQL 目标中由于“连接中断”错误而导致分段(并行)完全加载失败的问题。
DMS 任务移动问题 修复了 S3 目标中 DMS 任务移动操作花费很长时间或从未完成的问题。
PostgreSQL 源中重复记录问题 修复了 PostgreSQL 源的一个问题,在该问题中,任务停止并恢复后,DMS 任务会引发与目标上重复项相关的错误。
Oracle 目标数据验证误报 修复了 Oracle 目标的一个问题,在该问题中,由于时间戳字段的复制时区不正确,数据验证会出现误报的错误。
2023 年 2 月 22 日发布的 DMS 3.4.7 维护版本中解决的问题
主题 解决方案
将 SQL Server AG 副本作为源 添加了对 AlwaysOn 配置中 SQL Server 源的支持,在这种配置中,侦听器 TCP 端口与副本 TCP 端口不同。
将 Amazon Redshift 作为目标时的数据丢失 修复了 Redshift 目标中,在极少数情况下 Redshift 意外重启可能会导致目标上的数据丢失的问题。
SQL Server 源保护支持 修复了 SQL Server 源的一个问题,在该问题中,当指定了端点设置 "SafeguardPolicy": "EXCLUSIVE_AUTOMATIC_TRUNCATION" 时,DMS 任务可能会失败,并显示错误,说明无法读取事务日志备份。
Oracle 作为源时数据验证任务失败 修复了 Oracle 源中,由于主键值识别不正确,DMS 任务在数据验证时可能失败的问题。
图像数据发布之前的 Kinesis 修复了流式传输目标(Kinesis、Kafka)中 "EnableBeforeImage" 任务设置仅对字符数据类型起作用的问题。
Time Travel 日志文件 修复了当源处于空闲状态时,DMS 会创建零字节 Time Travel 日志文件的 Time Travel 功能问题。
2022 年 12 月 16 日发布的 DMS 3.4.7 维护版本中解决的问题
主题 解决方案
BatchApplyEnabled 修复了 BatchApplyEnabled 设置为 True 时日志记录过多的问题。
新的 MongoDB 端点设置 – FullLoadNoCursorTimeout MongoDB 端点设置 FullLoadNoCursorTimeout 为完全加载光标指定 NoCursorTimeout。NoCursorTimeout 是一个 MongoDB 连接设置,可防止服务器在空闲时关闭光标。
MongoDB – 用于单列分段的筛选功能 新的筛选功能提高了使用单列进行分段来迁移 MongoDB 数据库的性能。
MongoDB 到 Redshift 修复了从 MongoDB 迁移到 Redshift 时,如果 MongoDB 集合具有二进制数据类型,DMS 无法在 Redshift 上创建目标表的问题。
新的 MongoDB SocketTimeoutMS 连接属性 新的 MongoDB SocketTimeoutMS 额外连接属性配置 MongoDB 客户端的连接超时,以毫秒为单位。如果该值小于或等于零,则使用 MongoDB 客户端默认值。
修复了导致 Amazon Kinesis 任务崩溃的问题 修复了当迁移到 Amazon Kinesis Data Streams 目标时,在表中不存在主键的情况下处理 null 值的问题。
支持 Oracle NULL PK/UK 数据验证 删除了不支持 NULL PK/UK 值的数据验证的限制。
Oracle 到 Amazon S3 修复了从 Oracle 迁移到 Amazon S3 时,将一些记录错误地迁移为 NULL 的问题。
Oracle Standby 使用 Oracle Standby 作为源时,增加了 DMS 处理未完成事务的功能。
Oracle 迁移到 Oracle,使用 SDO_GEOMETRY 空间数据类型 修复了从 Oracle 迁移到 Oracle 时,表的 DDL 中存在 SDO_GEOMERY 列时任务会失败的问题。
Oracle 作为源 修复了使用 Oracle 作为源时,DMS 偶尔会跳过 Oracle 重做日志序列号的问题。
Oracle 作为源 – 缺少存档/联机重做日志 修复了使用 Oracle 作为源时,当存档日志丢失时 DMS 任务会失败的问题。
已修复 – DMS 偶尔会跳过 Oracle Standby 重做日志 修复了使用 Oracle 作为源时,DMS 偶尔会跳过 Oracle 重做日志序列号的问题。
已修复 – Oracle 复制到 Oracle 在 CDC 期间无法复制空间数据类型 修复了从 Oracle 复制到 Oracle 时,在 CDC 期间无法复制空间数据类型的问题。
Oracle 作为目标 使用 Oracle 作为目标时,修复了目标应用失败并出现 ORA-01747 错误的问题。
Amazon S3 – 修复了重新加载表数据丢失的问题 修复了使用 Amazon S3 作为目标时,表重新加载操作未生成 CDC 文件的问题。
已修复 – 将主服务器作为源时 SQL Server Always On 的上下文初始化 修复了使用 SQL Server Always On 作为源时,在源为服务器且将 AlwaysOnSharedSyncedBackupIsEnabled 设置为 true 时无法初始化可用性组 (AG) 的问题。
更新了 SQL 服务器端点设置 修复了当源端点是 SQL Server Always On 可用性组并且是辅助副本时,在 AlwaysOnSharedSynchedBackupsIsEnabled 设置为 True 时复制任务失败的问题。
将 PostgreSQL 作为源 修复了在 PostgreSQL 源上 CDC 无法迁移删除/更新操作的问题,该操作是在 3.4.7 中为支持 mapBooleanAsBoolean 而引入的。

Amazon Database Migration Service 3.4.6 发行说明

下表显示了 Amazon Database Migration Service (Amazon DMS) 版本 3.4.6 中引入的新功能和增强功能。

新功能或增强功能 描述
Amazon DMS Time Travel Amazon DMS 引入了 Time Travel 功能,用于向客户提供灵活的日志记录功能,并改善了他们的故障排除体验。借助 Time Travel,您可以使用 Amazon S3 存储和加密 Amazon DMS 日志,并在查看、下载特定时间范围内的日志并进行模糊处理。
支持将 Microsoft Azure SQL 托管实例作为源

Amazon DMS 现在支持将 Microsoft Azure SQL 托管实例作为源。使用 Amazon DMS 后,您现在可以从 Microsoft Azure SQL 托管实例实时迁移到任何 Amazon DMS 支持的目标。

有关 Amazon DMS 源的信息,请参阅数据迁移的源

有关支持的 Amazon DMS 目标的信息,请参阅数据迁移的目标

支持将 Google Cloud SQL for MySQL 作为源

Amazon DMS 现在支持将 Google Cloud SQL for MySQL 作为源。使用 Amazon DMS,您现在可以执行从 Google Cloud SQL for MySQL 到任何 Amazon DMS 支持的目标的实时迁移。

有关 Amazon DMS 源的信息,请参阅数据迁移的源

有关支持的 Amazon DMS 目标的信息,请参阅数据迁移的目标

支持将分区数据并行加载到 S3 Amazon DMS 现在支持将分区数据并行加载到 Amazon S3,从而缩短了将分区数据从支持的数据库引擎源数据迁移到 Amazon S3 的加载时间。此功能为数据库源中表的每个分区创建 Amazon S3 子文件夹,从而允许 Amazon DMS 运行并行进程来填充每个子文件夹。
支持单个任务中的多个 Apache Kafka 目标主题 Amazon DMS 现在支持单个任务中的 Apache Kafka 多主题目标。使用 Amazon DMS,您现在可以使用同一个任务,将多个架构从单个数据库复制到不同的 Apache Kafka 目标主题。这样,在需要将来自同一源数据库的多个表迁移到不同的 Kafka 目标主题时,就不需要创建多个单独的任务。

在 Amazon DMS 3.4.6 中解决了以下问题:

  • 修复了使用 Amazon S3 作为目标且使用 CSV 格式时,如果主键列不是第一列,UPDATE 语句中的列会填充到错误列的问题。

  • 修复了使用 PostgreSQL 作为源,在受限 LOB 模式下使用 BYTEA 列中具有 NULL 值的 pglogical 插件时,Amazon DMS 任务可能会崩溃的问题。

  • 修复了使用 PostgreSQL 作为源,在删除大量源表时 Amazon DMS 任务可能会崩溃的问题。

  • 通过引入新的 Amazon S3 设置 DatePartitionTimezone 来允许在非 UTC 日期上进行分区,从而改进了 Amazon S3 基于日期的文件夹分区。

  • 使用 Redshift 作为目标时,支持从源到 TIMESTAMPTZ 的数据类型 TIMESTAMP WITH TIME ZONE 之间的映射

  • 提高了在使用 MongoDB 或 Amazon DocumentDB 作为源时,在没有通配符选择规则的任务中 CDC 的性能。

  • 修复了在使用 Db2 LUW 作为源时,Amazon DMS 任务无法捕获使用下划线通配符且长度小于 8 的架构名称的问题。

  • 修复了使用 OpenSearch Service 作为目标时,Amazon DMS 实例在大数据量下内存不足的问题。

  • 通过支持仅完全加载验证任务,提高了数据验证的性能。

  • 修复了使用 Sybase 作为源时,强制失效转移后 Amazon DMS 任务无法恢复的问题。

  • 修复了 Amazon DMS 错误地发送警告 Invalid BC timestamp was encountered in column 的问题。

在 DMS 3.4.6 维护版本中解决了以下问题:

  • 修复了使用 Oracle 作为源和目标时,启用了批量应用模式时任务崩溃的问题。

  • 修复了一个问题,使得完全加载任务能够正确地使用以 PostgreSQL 为源的 ExecuteTimeout 端点设置。

  • 修复了在使用 PostgreSQL 作为源时,在将任务设置为受限 LOB 模式时,迁移数组数据类型列出现的问题。

  • 修复了在使用 PostgreSQL 作为源时,迁移带有时区的时间戳在 1970-01-01 之前时出现的问题。

  • 修复了使用 SQL Server 作为源和目标时,DMS 在复制过程中将 null 字符串视为空字符串的问题。

  • 修复了使用 MySQL 源/目标时遵守会话读取和写入超时端点设置的问题。

  • 修复了使用 Amazon S3 作为源时,DMS CDC 任务下载完全加载相关文件时的问题。

  • 修复了使用 Amazon S3 作为目标时,将 CdcInsertsAndUpdatesPreserveTransactions 均设置为 true 时日志崩溃的问题。

  • 修复了使用 Amazon Kinesis Data Streams 作为源,在启用了 ParallelApply* 功能但一些表没有默认主键时任务会崩溃的问题。

  • 修复了在使用 Amazon Kinesis Data Streams 作为源时,对于不正确的 StreamArn 不会给出错误的问题。

  • 修复了使用 OpenSearch 作为目标,主键值是空字符串时会导致任务崩溃的问题。

  • 修复了数据验证使用过多磁盘空间的问题。

2022 年 12 月 13 日发布的 DMS 3.4.6 维护版本中解决的问题
主题 解决方案
SAP ASE odbc 驱动程序 修复了 SAP ASE 作为源时的一个问题,以便 ODBC 驱动程序可以支持字符集。

用于 lob 查找的 Sqlserver 日期时间主键错误

修复了 SQL Server 作为源,在主键具有日期时间数据类型且精度为毫秒时,LOB 查找无法正常工作的问题。

SQL Server 到 Redshift –“datetimeoffset”映射到“timestamptz”

对于从 SQL Server 到 Redshift 的迁移,改进了映射,使 SQL Server 的“datetimeoffset”格式映射到 Redshift 的“timestamptz”格式。

数据验证 – SkipLobColumns 为 True

修复了当 SkipLobColumns 为 True、源上有 LOB、主键位于最后一列并且验证检测到数据存在差异时,DMS 任务崩溃的问题。

以 MySQL 为源时的数据验证

修复了 MySQL 作为数据源且启用了数据验证时,使用具有 null 值的复合唯一键的表会发生 DMS 任务崩溃的问题。

MySQL 作为源

修复了将 MySQL 作为源时,在更改列以增加精度时,表会因溢出错误而暂停的问题。

MySQL ODBC 驱动程序升级到 8.0.23

修复了 MySQL 作为源时,排序规则“utf8mb4_0900_bin”与 DMS 使用的 mysql 驱动程序不兼容的问题。

MySQL – 支持分区表的 DDL 更改

引入了新的 MySQL 端点设置 skipTableSuspensionForPartitionDdl,允许用户在 CDC 期间跳过分区 DDL 更改的表暂停,这样 DMS 现在就可以支持对分区 MySQL 表的 DDL 更改。

MongoDB 到 Redshift 的迁移

修复了从 MongoDB 迁移到 Redshift 时,如果 MongoDB 集合具有二进制数据类型,DMS 无法在 Redshift 上创建目标表的问题。

Redshift 目标 – 批量应用中的 Time Travel Segfault

修复了将 Redshift 作为目标,BatchApplyEnabled 设置为 true 时 DMS 任务会崩溃的问题。

Redshift 作为目标

修复了 Redshift 作为目标时的问题,在该问题中,当并行加载设置为 type=partitions-auto 时,并行分段会将批量 CSV 文件写入同一个表目录并相互干扰。

Redshift 作为目标

修复了将 Redshift 作为目标时的问题,在该问题中,CDC 期间目标列的类型为布尔值,但源的类型为可变字符。

Redshift 作为目标

改进了任务日志,以识别无法复制到 Redshift 目标的 DDL 更改。

使用 PostgreSQL 时的数据验证

修复了 PostgreSQL 的验证中,当存在布尔数据类型时验证会失败的问题。

将 PostgreSQL 作为源

修复了 PostgreSQL 作为源时的问题,使得完全加载使用额外连接属性中的 ExecuteTimeout 字段。

将 PostgreSQL 作为源

修复了 PostgreSQL 作为源时的问题,在该问题中,如果任务读取的 LSN 大于请求的任务,任务将失败,在超过 60 分钟之后恢复 LSN,以表明正在使用的复制时隙有问题。

PostgreSQL 作为源 – 1970-01-01 之前的 timestamptz

修复了在 PostgreSQL 作为源时,1970-01-01 之前的 timestamptz 在 CDC 期间无法正确迁移的问题。

将 PostgreSQL 作为源

修复了在 PostgreSQL 作为源时,CDC 期间 DMS 会截断可变字符数据类型值的问题。

PostgreSQL 作为源 – 恢复已停止的任务

修复了 PostgreSQL 作为源时,恢复之前停止的任务重放会在 CDC 期间错过一个或多个事务的问题。

Amazon S3 作为目标

修复了 S3 作为目标时,当 AddColumnName 为 true 且 TimestampColumnName 为 "" 时,生成的 CSV 文件标题偏离一列的问题。

Amazon S3 作为源 – 任务的完全加载阶段的内存使用行为

修复了 S3 作为源时,处于完全加载阶段的 DMS 任务仅在整个表加载到目标数据库后才释放所用内存的问题。

Amazon S3 作为目标 – 表重新加载操作

修复了使用 S3 作为目标时,表重新加载操作未生成 CDC 文件的问题。

Amazon Database Migration Service 3.4.5 发行说明

下表显示了 Amazon Database Migration Service (Amazon DMS) 版本 3.4.5 中引入的新功能和增强功能。

新功能或增强功能 描述
支持将 Redis 作为目标 Amazon DMS 现在支持将 Redis 作为目标。使用 Amazon DMS,您现在可以将实时数据从任何 Amazon DMS 支持的源迁移到 Redis 数据存储,且停机时间最短。有关 Amazon DMS 目标的信息,请参阅数据迁移的目标
支持将 MongoDB 4.2 和 4.4 作为源 Amazon DMS 现在支持将 MongoDB 4.2 和 4.4 作为源。使用 Amazon DMS,您现在可以将数据从 MongoDB 4.2 和 4.4 集群迁移到任何 Amazon DMS 支持的目标,包括 Amazon DocumentDB(与 MongoDB 兼容),且停机时间最短。有关 Amazon DMS 源的信息,请参阅数据迁移的源
使用 MongoDB 作为源时支持多个数据库 Amazon DMS 现在支持在一个任务中使用 MongoDB 作为源迁移多个数据库。使用 Amazon DMS,您现在可以将多个数据库分组到一个 MongoDB 集群,并使用一个数据库迁移任务进行迁移。您现在可迁移到任何 Amazon DMS 支持的目标,包括 Amazon DocumentDB(与 MongoDB 兼容),且停机时间最短。
支持使用 MongoDB 或 Amazon DocumentDB(与 MongoDB 兼容)作为源时的自动分段 Amazon DMS 现在支持使用 MongoDB 或 Amazon DocumentDB 作为源时的自动分段。使用 Amazon DMS,您可以配置数据库迁移任务,以自动分段 MongoDB 或 DocumentDB 集群的集合。然后,您可以将区段并行迁移到任何 Amazon DMS 支持的目标,包括 Amazon DocumentDB,且停机时间最短。
Amazon Redshift 完全加载性能改进 Amazon DMS 现在支持将 Amazon Redshift 作为目标时,在完全加载期间使用并行线程。通过利用多线程完全加载任务设置,您可以提高从任何 Amazon DMS 支持的源迁移到 Amazon Redshift 时的初始迁移性能。有关 Amazon DMS 目标的信息,请参阅数据迁移的目标

在 Amazon DMS 3.4.5 中解决了以下问题:

  • 修复了在使用 PostgreSQL 作为源且具有高事务并发度时,恢复操作后数据可能会丢失或重复的问题。

  • 修复了在使用 PostgreSQL 作为源且启用了 pglogical 插件时,数据库迁移任务失败并显示错误找不到关系 ID... 的问题。

  • 修复了使用 PostgreSQL 作为源并使用 Oracle 作为目标时,VARCHAR 列未正确复制的问题。

  • 修复了使用 PostgreSQL 作为源,当主键不是表定义中的第一列时无法正确捕获删除操作的问题。

  • 修复了在使用 MySQL 作为源时,在特殊元数据设置下数据库迁移任务会错过 LOB 更新的问题。

  • 修复了使用 MySQL 版本 8 作为源时,在完整 LOB 模式下 TIMESTAMP 列被视为 DATETIME 问题。

  • 修复了使用 MySQL 5.6.4 及更高版本作为源时,解析 NULL DATETIME 记录时数据库迁移任务失败的问题。

  • 修复了使用 Amazon Redshift 作为目标且使用并行应用时,遇到线程正在退出错误后数据库迁移任务卡住的问题。

  • 修复了在批量应用 CDC 期间,数据库迁移任务与 Amazon Redshift 目标端点断开连接时可能会丢失数据的问题。

  • 使用 Amazon Redshift 作为目标时,通过调用 ACCEPTINVCHARS 来提高完全加载的性能。

  • 修复了使用 Amazon Redshift 作为目标时,从逐个模式恢复到并行应用模式时复制了重复记录的问题。

  • 修复了在使用 Amazon S3 作为目标时,数据库迁移任务不会通过 cannedAclForObjects=bucket_owner_full_control 将 Amazon S3 对象所有权切换为存储桶所有者的问题。

  • 使用 Oracle 作为源时,通过使用 ECA additionalArchivedLogDestId 支持多个归档目标来改进 Amazon DMS。

  • 修复了在完整 LOB 模式下更新 LOB 列时,数据库迁移任务失败并出现错误 OCI_INVALID_HANDLE 的问题。

  • 修复了使用 Oracle 作为源时,CDC 期间无法正确迁移 NVARCHAR2 列的问题。

  • 使用 RDS for SQL Server 作为源时,通过启用 SafeguardPolicy 改进了 Amazon DMS。

  • 修复了使用非 RDS SQL Server 源时,数据库迁移任务报告有关 rdsadmin 的错误的问题。

  • 修复了使用 SQL Server 作为源时,在分区设置中将 UUID 作为主键时数据验证失败的问题。

  • 修复了使用 Db2 LUW 作为源时,如果在数据库日志中找不到所需的 LSN,则完全加载 + CDC 任务可能会失败的问题。

  • 使用 MongoDB 作为源时,通过支持自定义 CDC 时间戳来改进了 Amazon DMS。

  • 修复了使用 MongoDB 作为源,MongoDB 驱动程序出现错误 endSessions 而停止时,数据库迁移任务会卡住的问题。

  • 修复了使用 DynamoDB 作为目标时,Amazon DMS 无法更新非主要字段的问题

  • 修复了数据验证报告在 CLOBNCLOB 列上的误报不匹配的问题。

  • 修复了使用 Oracle 作为源时,只有空格的记录的数据验证失败的问题。

  • 修复了截断分区表时数据库迁移任务崩溃的问题。

  • 修复了创建 awsdms_apply_exceptions 控制表时数据库迁移任务失败的问题。

  • 扩展了使用 MySQL 版本 8 时,对 caching_sha2_password 身份验证插件的支持。

Amazon Database Migration Service 3.4.4 发行说明

下表显示了 Amazon DMS 版本 3.4.4 中引入的新功能和增强功能。

新功能或增强功能 描述
使用 Kafka 作为目标时,支持 TLS 加密以及 TLS 或 SASL 身份验证, Amazon DMS 现在支持在将 Amazon MSK 和本地 Kafka 集群作为目标时的 TLS 加密以及 TLS 或 SASL 身份验证。有关对 Kafka 端点使用加密和身份验证的更多信息,请参阅使用传输层安全性协议 (TLS) 连接到 Kafka

在 Amazon DMS 3.4.4 中解决了以下问题:

  • 改进了使用 Oracle 端点时任务失败时的 Amazon DMS 日志记录。

  • 在 Oracle Data Guard 失效转移后,当 Oracle 源端点切换角色时,改进了 Amazon DMS 任务执行以继续处理。

  • 在使用 Oracle 端点时,改进的错误处理将 ORA-12561 视为可恢复的错误。

  • 修复了使用 Oracle 作为源时,EMPTY_BLOB()EMPTY_CLOB() 列作为 null 迁移的问题。

  • 修复了使用 SQL Server 作为源时,添加列 DDL 更改后,Amazon DMS 任务无法更新记录的问题。

  • 通过支持 TIMESTAMP WITH TIME ZONE 数据类型改进了 PostgreSQL 作为源时的迁移功能。

  • 修复了使用 PostgreSQL 作为目标时,afterConnectScript 设置在完全加载期间不起作用的问题。

  • 引入了一个新 mapUnboundedNumericAsString 设置,以便在使用 PostgreSQL 端点时,更好地处理没有精度和小数位数的 NUMERIC 日期类型。

  • 修复了在使用 PostgreSQL 作为源时,停止并恢复任务后,Amazon DMS 任务失败并显示“0 行受到影响”的问题。

  • 修复了使用 PostgreSQL 作为源时,Amazon DMS 无法迁移带有 BC 后缀的 TIMESTAMP 数据类型的问题。

  • 修复了使用 PostgreSQL 作为源时,Amazon DMS 无法迁移 TIMESTAMP 值“±infinity”的问题。

  • 修复了使用 S3 作为源时,csvNullValue 设置被设置为其他值的情况下将空字符串作为 NULL 进行处理的问题。

  • 改进了使用 S3 作为目标时,完全加载和 CDC 中的 timestampColumnName 额外连接属性在 CDC 期间可进行排序。

  • 改进了使用 S3 作为源时,对十六进制格式的二进制数据类型(例如 BYTEBINARYBLOB)的处理。

  • 修复了使用 S3 作为目标时,已删除的记录会使用特殊字符迁移的问题。

  • 修复了使用 Amazon DocumentDB(与 MongoDB 兼容)作为目标时处理空键值的问题。

  • 修复了使用 MongoDB 或 Amazon DocumentDB(与 MongoDB 兼容)作为源时,Amazon DMS 无法复制 NumberDecimalDecimal128 列的问题。

  • 修复了在 MongoDB 或 Amazon DocumentDB(与 MongoDB 兼容)作为源时,其上出现失效转移时允许 CDC 任务重试的问题。

  • 添加了一个选项,用于在使用 Kinesis、Kafka 或 OpenSearch 作为目标时,删除 RAW 数据类型值的十六进制“0x”前缀。

  • 修复了使用 Db2 LUW 作为源时,对固定长度的字符列进行验证失败的问题。

  • 修复了只有源数据类型或目标数据类型为 FLOATDOUBLE 时验证失败的问题。

  • 修复了使用 Oracle 作为源时,NULL 字符的验证失败的问题。

  • 修复了使用 Oracle 作为源时,XML 列的验证失败的问题。

  • 修复了使用 MySQL 作为源时,复合键中存在可为 null 的列时 Amazon DMS 任务崩溃的问题。

  • 修复了 Amazon DMS 无法验证 SQL Server 源端点中的 UNIQUEIDENTIFIER 列和 PostgreSQL 目标端点的 UUID 列的问题。

  • 修复了在源表定义修改之后,CDC 任务不使用更新的源表定义的问题。

  • 改进了 Amazon DMS 失效转移功能,可将由无效的用户名或密码导致的任务失败视为可恢复的错误。

  • 修复了使用 RDS for SQL Server 作为源时,Amazon DMS 任务由于缺少 LSN 失败的问题。

Amazon Database Migration Service 3.4.3 发行说明

下表显示了 Amazon DMS 版本 3.4.3 中引入的新功能和增强功能。

新功能或增强功能 描述
新 Amazon DocumentDB 版本 现在支持将 Amazon DocumentDB 版本 4.0 作为源。
新 MariaDB 版本 现在支持将 MariaDB 版本 10.4 作为源和目标。
支持 Amazon Secrets Manager 集成 您可以将支持的端点的数据库连接详细信息(用户凭证)安全地存储在 Amazon Secrets Manager 中。然后,您可以在创建或修改端点时,向 Amazon DMS 提交相应的密钥而不是纯文本凭证。Amazon DMS 随后使用密钥连接到端点数据库。有关为 Amazon DMS 端点创建密钥的更多信息,请参阅使用密钥访问 Amazon Database Migration Service 端点
C5 和 R5 复制实例的更大选项 现在,您可以创建更大的复制实例大小,如下所示:C5 最大大小为 96 个 vCPU 和 192 GiB 内存,R5 最大大小为 96 个 vCPU 和 768 GiB 内存。
Amazon Redshift 性能改进 使用 Redshift 作为目标时,Amazon DMS 现在支持并行应用,以提高持续复制的性能。有关更多信息,请参阅Amazon Redshift 的多线程任务设置

在 Amazon DMS 3.4.3 中解决了以下问题:

  • 修复了使用 Db2 LUW 作为源时,延迟事件的提交时间戳变为“1970-01-01 00:00:00”的问题。

  • 修复了将 SQL Server 作为源并在完整 LOB 模式下,使用 NVARCHAR 列作为主键时 Amazon DMS 任务失败的问题。

  • 修复了使用 SQL Server 作为源时,在缓存更改阶段缺少记录的问题。

  • 修复了使用 RDS for SQL Server 作为源时,Amazon DMS 任务恢复后会跳过记录的问题。

  • 修复了 Amazon DMS ASSERTION 日志记录组件为 SQL Server 生成大日志的问题。

  • 修复了使用 MySQL 作为源时,由于列解析溢出而在 CDC 阶段数据验证失败的问题。

  • 修复了使用 PostgreSQL 作为目标时,由于数据验证期间的分段错误而导致 Amazon DMS 任务崩溃的问题。

  • 修复了使用 PostgreSQL 作为源和目标时,CDC 期间 DOUBLE 数据类型的数据验证失败的问题。

  • 修复了使用 PostgreSQL 作为源并使用 Redshift 作为目标时,复制命令插入的记录未正确复制的问题。

  • 修复了使用 PostgreSQL 作为源时,缓存更改阶段的数据丢失问题。

  • 修复了使用 PostgreSQL 作为源时可能导致数据丢失或记录重复的问题。

  • 修复了使用 PostgreSQL 作为源时,无法使用 pglogical 迁移混合大小写的架构的问题。

  • 修复了使用 Oracle 作为源时,最后一条失败消息不包含 ORA 错误的问题。

  • 修复了使用 Oracle 作为目标时,Amazon DMS 任务无法构建 UPDATE 语句的问题。

  • 修复了使用 Oracle 12.2 源且带有 ASM 和可插拔数据库配置时,Amazon DMS 任务不复制数据的问题。

  • 使用 S3 作为源时,通过保留限额以遵守 RFC 4180,改进了记录解析。

  • 改进了 timestampColumnName 的处理,使得完全加载中的列可以使用来自 CDC 的该值排序。

  • 通过引入新的端点设置 MessageMaxBytes,修复了有大于 1MB 的 LOB 元素时 Amazon DMS 任务失败的问题。

  • 修复了使用 Redshift 作为目标时,由于分段错误而导致 Amazon DMS 任务崩溃的问题。

  • 改进了 Redshift 测试连接的错误日志记录。

  • 修复了在完全加载期间,Amazon DMS 未将所有文档从 MongoDB 传输到 DocumentDB 的问题。

  • 修复了当表映射规则中没有包含表时,Amazon DMS 任务报告致命错误的问题。

  • 修复了使用 MySQL 作为源时,在重新启动 Amazon DMS 任务之前创建的架构和表无法复制到目标的问题。

  • 修复了使用 MySQL 作为源时,通配符转义 [_] 无法转义排除规则中的通配符“_”的问题。

  • 修复了使用 MySQL 作为源时,数据类型为 UNSIGNED BIGINT 的列无法正确复制的问题。

Amazon Database Migration Service 3.4.2 发行说明

下表显示了 Amazon DMS 版本 3.4.2 中引入的新功能和增强功能。

新功能或增强功能 描述
支持将您的 Amazon Virtual Private Cloud (Amazon VPC) 私密地连接到 Amazon Database Migration Service (DMS),而无需互联网网关、NAT 设备、VPN 连接或 Amazon Direct Connect 连接。 现在,您可以通过自己创建的 VPC 接口端点,从您的 Amazon VPC 连接和访问 Amazon DMS。此接口端点允许您在 Amazon 网络基础设施中隔离 Amazon DMS 复制实例的所有网络活动。通过在使用 Amazon CLI 或 SDK 对 Amazon DMS 的所有 API 调用中引用此接口端点,可以确保所有 Amazon DMS 活动对公共互联网不可见。有关更多信息,请参阅Amazon Database Migration Service 中的基础设施安全性
注意

此功能可用于所有支持的 Amazon DMS 引擎版本。

使用 Amazon S3 作为目标时的基于 CDC 日期的文件夹分区

使用 S3 作为目标来复制数据时,Amazon DMS 现在支持基于日期的文件夹分区。有关更多信息,请参阅使用基于日期的文件夹分区

在 Amazon DMS 3.4.2 中解决了以下问题:

  • 使用 Redshift 作为目标时,执行迁移时添加了一个 STATUPDATE 选项。

  • 通过引入新设置改进了验证任务。ValidQueryCdcDelaySecond 会延迟源端点和目标端点上的第一个验证查询,以帮助在迁移延迟较高时减少资源争用。

  • 修复了 Amazon DMS 启动验证任务需要很长时间的问题。

  • 修复了使用 S3 作为目标,在启动或停止复制任务时生成空记录的问题。

  • 修复了任务在完全加载完成后卡住的问题。

  • 修复了使用 S3 作为源,在源表出现数据错误时任务卡住的问题。

  • 修复了禁用了源端点的用户账户时,任务在启动时卡住的问题。

  • 修复了使用 PostgreSQL 作为源,在 REPLICA IDENTITY FULL 时任务崩溃的问题。

  • 修复了使用 PostgreSQL 作为源且带有 pglogical 插件时,任务会错过事务的问题。

  • 修复了使用 Redshift 作为目标时,Amazon DMS 不删除压缩源文件的问题。

  • 修复了使用 MySQL 作为源和目标且数据类型为 BIGINT UNSIGNED 时,验证任务会出现误报的问题。

  • 修复了使用 SQL Server 作为源且主键列为 CHAR 类型时,验证任务出现误报的问题。

  • 修复了将 S3 作为目标,使用 start-replication 启动复制任务时 Amazon DMS 未清除目标对象的问题。

  • 修复了使用 Db2 作为源时数据验证的几个问题。

  • 修复了使用 SQL Server 作为源且使用 VARCHAR 列作为主键时,验证任务卡住的问题。

  • 增加了使用 PostgreSQL 作为源时,对数据类型 TIMESTAMP WITH TIMEZONE 的支持。

Amazon Database Migration Service 3.4.1 测试版发行说明

下表显示了 Amazon DMS 版本 3.4.1 中引入的新功能和增强功能。

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

现在支持将 MongoDB 版本 4.0 作为源。

SQL Server 的 TLS 1.2 支持

Amazon DMS 现在支持 SQL Server 端点的 TLS 1.2。

在 Amazon DMS 3.4.1 测试版中解决了以下问题:

  • 改进了 Oracle 19c TDE 支持。

  • 改进了使用 Redshift 作为目标时,对 utf8mb4 字符集和身份数据类型的支持。

  • 改进了使用 MySQL 作为源且没有二进制日志时的复制任务失败处理。

  • 改进了对各种数据类型和字符集的数据验证支持。

  • 使用 Kinesis 和 Kafka 作为目标时,通过新的端点设置 IncludeNullAndEmpty 改进了 null 值处理。

  • 改进了使用 Kafka 作为目标时的错误日志记录和处理。

  • 改进了使用 SQL Server 作为源时的 DST 时间偏移。

  • 修复了将 Oracle 作为目标时,复制任务尝试创建现有表的问题。

  • 修复了使用 Oracle 作为源时,数据库连接终止后复制任务会卡住的问题。

  • 修复了使用 SQL Server 作为源并使用 AlwaysON 设置时,复制任务无法检测并重新连接到新主服务器的问题。

  • 修复了在 S3 作为目标时,特定条件下复制任务不会为 "OP" 列添加 "D" 的问题。

Amazon Database Migration Service 3.4.0 测试版发行说明

下表显示了 Amazon DMS 版本 3.4.0 中引入的新功能和增强功能。

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

Amazon DMS 现在支持将 MySQL 8.0 版本作为源,但使用压缩事务负载时除外。

MySQL 支持 TLS 1.2

Amazon DMS 现在支持 MySQL 端点的 TLS 1.2。

新 MariaDB 版本

Amazon DMS 现在支持将 MariaDB 版本 10.3.13 作为源。

非 SysAdmin 访问自管理 Microsoft SQL Server 源

Amazon DMS 现在支持非 SysAdmin 用户访问本地和 EC2 托管的 SQL Server 源端点。

注意

此功能目前为测试版。如果您想试用,请联系 Amazon Support 以获取更多信息。

使用 CREATE TABLE AS 创建的 CDC 任务和 Oracle 源表

Amazon DMS 现在支持对使用 CREATE TABLE AS 语句创建的 Oracle 源表,运行完全加载和 CDC 以及仅 CDC 任务。

在 Amazon DMS 3.4.0 中解决了以下问题:

  • 改进了迁移前任务评测。有关更多信息,请参阅为任务启用和使用迁移前评估

  • 改进了对浮点数、实数和双精度数据类型的数据验证。

  • 通过更好地处理以下错误,改进了将 Amazon Redshift 作为目标时的性能:“指定的密钥不存在”。

  • 对于以 Amazon OpenSearch Service(OpenSearch Service)为目标,支持多线程 CDC 加载任务设置,包括 ParallelApplyThreadsParallelApplyBufferSizeParallelApplyQueuesPerThread

  • 通过支持使用复合主键,改进了将 OpenSearch Service 作为目标时的性能。

  • 修复了使用 PostgreSQL 作为源且密码中包含特殊字符时,测试连接失败的问题。

  • 修复了使用 SQL Server 作为源时某些 VARCHAR 列被截断的问题。

  • 修复了使用 Amazon RDS SQL Server 作为源时 Amazon DMS 不关闭未完成事务的问题。如果轮询间隔参数设置不正确,这可能会导致数据丢失。有关如何设置建议的轮询间隔值的更多信息,请参阅将 Microsoft SQL Server 数据库作为 Amazon DMS 的源

  • 修复了使用 Oracle Standby 作为源,在使用 Binary Reader 时 CDC 任务会意外停止的问题。

  • 修复了 IBM DB2 for LUW 中,任务失败并显示消息“数字文本 0 无效,因为其值超出范围”的问题。

  • 修复了在以下情况中出现的问题:从 PostgreSQL 迁移到 PostgreSQL,当 PostgreSQL 源中添加了新列,并且创建该列使用的数据类型,与最初在源上创建该列的数据类型不同时。

  • 修复了 MySQL 源中,当迁移任务在无法获取二进制日志时意外停止的问题。

  • 修复了使用 BatchApply 时与 Oracle 目标相关的问题。

  • 修复了迁移 TIME 数据类型时 MySQL 和 MariaDB 中的问题。

  • 修复了将 IBM DB2 LUW 作为源,当表没有主键或唯一键时迁移带有 LOB 的表会失败的问题。

Amazon Database Migration Service 3.3.4 发行说明

在 Amazon DMS 3.3.4 中解决了以下问题:

  • 修复了使用 PostgreSQL 作为源时事务被丢弃或重复的问题。

  • 改进了对在架构名称中使用美元符号 ($) 的支持。

  • 修复了使用 RDS SQL Server 作为源时,复制实例不关闭未完成事务的问题。

  • 修复了使用 PostgreSQL 作为源且密码中包含特殊字符时,测试连接失败的问题。

  • 通过更好地处理以下错误,改进了将 Amazon Redshift 作为目标时的性能:“指定的密钥不存在”。

  • 改进了对各种数据类型和字符集的数据验证支持。

  • 修复了将 Oracle 作为目标时,复制任务尝试创建现有表的问题。

  • 修复了将 Amazon S3 作为目标时,在特定条件下复制任务不会为 "OP" 列添加 "D" 的问题。

Amazon Database Migration Service 3.3.3 发行说明

下表显示了 Amazon DMS 版本 3.3.3 中引入的新功能和增强功能。

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

现在支持将 PostgreSQL 版本 12 作为源和目标。

支持将 Amazon OpenSearch Service 作为目标时使用复合主键

从 Amazon DMS 3.3.3 开始,OpenSearch Service 目标支持使用复合主键。

支持 Oracle 扩展数据类型

现在支持 Oracle 源和目标采用 Oracle 扩展数据类型。

增加了每个账户的 Amazon DMS 资源数量

提高了您可以创建的 Amazon DMS 资源的数量上限。有关更多信息,请参阅Amazon Database Migration Service 的限额

在 Amazon DMS 3.3.3 中解决了以下问题:

  • 修复了在 Amazon Kinesis 中通过“并行应用”使用特定更新语句时任务崩溃的问题。

  • 修复了以 Amazon S3 为目标执行 ALTER TABLE 语句时任务崩溃的问题。

  • 修复了使用 Microsoft SQL Server 作为源时多边形列上的值被截断的问题。

  • 修复了使用 Oracle 作为源时 JA16SJISTILDE 和 JA16EUCTILDE 的 Unicode 转换器存在的问题。

  • 修复了 MEDIUMTEXT 列和 LONGTEXT 列无法从 MySQL 迁移到 S3 逗号分隔值 (CSV) 格式的问题。

  • 修复了 Apache Parquet 输出中布尔列被转换为不正确类型的问题。

  • 修复了 Oracle 中扩展 varchar 列的问题。

  • 修复了特定的时间戳组合导致数据验证任务失败的问题。

  • 修复了 Sybase 数据定义语言 (DDL) 复制的问题。

  • 修复了 Oracle Binary Reader 发生 Oracle Real Application Clusters (RAC) 源崩溃的问题。

  • 修复了 Oracle 目标验证中与架构名称大小写有关的问题。

  • 修复了 IBM Db2 版本 9.7 和 10 的验证问题。

  • 修复了启用 StopTaskCachedChangesNotAppliedStopTaskCachedChangesApplied 后任务不会停止两次的问题。