数据验证任务设置 - Amazon Database Migration Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

数据验证任务设置

您可以确保准确地将您的数据从源迁移到目标。如果为任务启用验证,则在为表执行完全加载后,Amazon DMS 立即开始比较源和目标数据。有关任务数据验证、其要求、其数据库支持的范围以及它报告的指标的更多信息,请参阅AmazonDMS 数据验证。有关如何使用任务配置文件设置任务设置的信息,请参阅任务设置示例.

数据验证设置及其值包括:

  • EnableValidation— 在设置为 true 时,启用数据验证。否则,将为任务禁用验证。默认值为 False。

  • ValidationMode— 控制 DMS 如何验证目标表中的数据与源表的比较。Amazon DMS为未来的可扩展性提供了此设置。目前,默认和唯一有效的值是ROW_LEVEL.Amazon DMS将验证源表和目标表之间的所有行。

  • FailureMaxCount— 指定在暂停任务的验证之前可验证失败的记录的最大数目。默认值是 10,000。如果您希望验证继续而不管验证失败的记录数如何,请将此值设置为大于源中记录数的值。

  • HandleCollationDiff— 当此选项设置为true,则在识别要比较的源记录和目标记录时,验证会考虑 PostgreSQL 和 SQL Server 终端节点中的列排序规则差异。否则,将忽略列排序规则中的任何此类差异以进行验证。列归类可以规定行的顺序,这对于数据验证很重要。将 HandleCollationDiff 设置为 true 可自动解析这些排序规则差异并防止数据验证中出现误报。默认值为 false

  • RecordFailureDelayLimitInMinutes— 指定报告任何验证失败详细信息之前的延迟。通常,Amazon DMS 使用任务延迟来识别更改的实际延迟,以使其成为目标来防止误报。此设置会覆盖实际延迟值,并允许您在报告任何验证指标之前设置更高的延迟。默认值是 0。

  • SkipLobColumns— 当此选项设置为true、Amazon DMS跳过任务验证的表部分中所有 LOB 列的数据验证。默认值为 false

  • TableFailureMaxCount— 指定在暂停表的验证之前,一个表中可验证失败的行的最大数目。默认值是 1,000。

  • ThreadCount— 指定以下操作的执行线程数:Amazon DMS在验证过程中使用。每个线程从源和目标中选择尚未验证的数据来进行比较和验证。默认值是 5。如果您将 ThreadCount 设置为更大的数字,则 Amazon DMS 可以更快地完成验证。但是,Amazon DMS 随后将执行更多同步查询,这将消耗源和目标上的更多资源。

  • ValidationOnly— 当此选项设置为true,任务将预览数据验证,而不执行任何数据迁移或复制。默认值为 false。但是ValidationOnly设置设置true特别适用于以下使用案例:

    • 在未启用验证的情况下在单独的完全加载任务中迁移数据后,您可以验证数据,而无需执行其他完全加载。只需创建并运行另一个任务ValidationOnly设置设置true.

    • 在完整的加载任务中,只有在初始加载完成后,验证才开始。但是,通过创建一个单独的ValidationOnly任务中,您可以在实际移动之前查看早期验证结果并解决任何故障。全部的数据。在将所有源数据迁移到目标之后,此方式可以比等待解决故障更有效。

      若要设置此选项,请将任务迁移类型仅复制数据更改中的Amazon DMS控制台。或者,在Amazon DMSAPI 将迁移类型设置为cdc.

      您不能修改ValidationOnly设置创建相关任务之后。

  • ValidationPartialLobSize— 指定是否要对 LOB 列执行部分验证,而不是验证列中存储的所有数据。当您只迁移 LOB 数据的一部分而不是整个 LOB 数据集时,这是您可能会发现有用的东西。该值以 KB 单位为单位。默认值为 0,表示Amazon DMS验证所有 LOB 列数据。例如,"ValidationPartialLobSize": 32意味着Amazon DMS仅验证源和目标中列数据的前 32KB。

  • PartitionSize— 指定要从源和目标中读取以进行比较的记录的批处理大小。默认值为 10,000。

  • ValidationQueryCdcDelaySeconds— 每个 CDC 更新的源和目标上的第一个验证查询延迟的时间量。这可能有助于减少迁移延迟较高时的资源争用。仅验证任务会自动将此选项设置为 180 秒。默认值为 0。

例如,以下 JSON 将启用两倍于默认线程数的线程进行数据验证。它还解释了由 PostgreSQL 终端节点中的列排序规则差异导致的记录顺序差异。此外,它还提供验证报告延迟,以考虑处理任何验证失败所需的额外时间。

"ValidationSettings": { "EnableValidation": true, "ThreadCount": 10, "HandleCollationDiff": true, "RecordFailureDelayLimitInMinutes": 30 }
注意

对于 Oracle 终端节点,Amazon DMS 使用 DBMS_CRYPTO 验证 BLOB。如果您的 Oracle 终端节点使用 BLOB,请授予execute权限授予访问 Oracle 终端节点的用户帐户。为此,请运行以下语句。

grant execute on sys.dbms_crypto to dms_endpoint_user;