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

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

错误处理任务设置

您可以使用以下设置来设置更改数据捕获 (CDC) 期间的复制任务错误处理行为。有关如何使用任务配置文件设置任务设置的信息,请参阅任务设置示例.

  • DataErrorPolicy— 确定操作AmazonDMS 在出现与记录级别的数据处理相关的错误时,执行。数据处理错误的一些示例包括转换错误、变换中的错误和不正确的数据。默认为 LOG_ERROR

    • IGNORE_RECORD— 任务继续,并且将忽略该记录的数据。DataErrorEscalationCount 属性的错误计数器将递增。因此,如果您为表设置错误数限制,则此错误将计入限制。

    • LOG_ERROR— 任务继续,并且错误将写入任务日志。

    • SUSPEND_TABLE— 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。

    • STOP_TASK— 任务停止,并且需要手动干预。

  • DataTruncationErrorPolicy— 确定操作AmazonDMS 将在数据被截断时使用。默认为 LOG_ERROR

    • IGNORE_RECORD— 任务继续,并且将忽略该记录的数据。DataErrorEscalationCount 属性的错误计数器将递增。因此,如果您为表设置错误数限制,则此错误将计入限制。

    • LOG_ERROR— 任务继续,并且错误将写入任务日志。

    • SUSPEND_TABLE— 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。

    • STOP_TASK— 任务停止,并且需要手动干预。

  • DataErrorEscalationPolicy— 确定操作AmazonDMS 在达到最大错误数(在DataErrorEscalationCount参数)。默认为 SUSPEND_TABLE

    • SUSPEND_TABLE— 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。

    • STOP_TASK— 任务停止,并且需要手动干预。

  • DataErrorEscalationCount— 设置特定记录的数据可出现的错误的最大数目。当达到此数目时,将根据 DataErrorEscalationPolicy 中设置的策略来处理包含错误记录的表的数据。默认值为 0。

  • TableErrorPolicy— 确定操作AmazonDMS 在处理特定表的数据或元数据时出错的情况下,执行。此错误仅适用于常规表数据,而不是与特定记录相关的错误。默认为 SUSPEND_TABLE

    • SUSPEND_TABLE— 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。

    • STOP_TASK— 任务停止,并且需要手动干预。

  • TableErrorEscalationPolicy— 确定操作AmazonDMS 在达到最大错误数(使用TableErrorEscalationCount参数)。默认用户设置为 STOP_TASK,其中任务将停止,并且需要手动干预。

  • TableErrorEscalationCount— 特定表的常规数据或元数据可出现的错误的最大数目。当达到此数目时,将根据 TableErrorEscalationPolicy 中设置的策略处理表的数据。默认值为 0。

  • RecoverableErrorCount— 在出现环境错误时,可尝试重新启动任务的最大次数。在系统尝试重新启动任务指定次数时,任务将停止,并且需要手动干预。默认值为 -1,这指示 Amazon DMS 无限期地尝试重新启动该任务。将此值设置为 0 将从不尝试重新启动任务。如果出现致命错误,Amazon DMS 将在 6 次尝试后停止尝试重新启动任务。

  • RecoverableErrorInterval— 该值的秒数AmazonDMS 在重新启动任务的尝试之间等待。默认值为 5。

  • RecoverableErrorThrottling— 如果启用此设置,则重新启动任务的尝试之间的间隔将按照RecoverableErrorInterval. 例如,假设RecoverableErrorInterval设置为 5 秒。下一次重试发生在 10 秒之后,然后是 20 秒,然后 40 秒,依此类推。默认为 true

  • RecoverableErrorThrottlingMax— 最大秒数。AmazonDMS 在尝试重新启动任务的尝试之间等待RecoverableErrorThrottling处于启用状态。默认值为 1800。

  • RecoverableErrorStopRetryAfterThrottlingMax— 当设置为true,则停止重新启动任务的最大秒数Amazon DMS达到恢复尝试之间的等待时间,每RecoverableErrorThrottlingMax. 默认为 false。

  • ApplyErrorDeletePolicy— 确定什么操作AmazonDMS 在与 DELETE 操作发生冲突时,执行 DMS。默认为 IGNORE_RECORD。可能的值包括:

    • IGNORE_RECORD— 任务继续,并且将忽略该记录的数据。ApplyErrorEscalationCount 属性的错误计数器将递增。因此,如果您为表设置错误数限制,则此错误将计入限制。

    • LOG_ERROR— 任务继续,并且错误将写入任务日志。

    • SUSPEND_TABLE— 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。

    • STOP_TASK— 任务停止,并且需要手动干预。

  • ApplyErrorInsertPolicy— 确定什么操作AmazonDMS 在与 INSERT 操作发生冲突时,执行 DMS。默认为 LOG_ERROR。可能的值包括:

    • IGNORE_RECORD— 任务继续,并且将忽略该记录的数据。ApplyErrorEscalationCount 属性的错误计数器将递增。因此,如果您为表设置错误数限制,则此错误将计入限制。

    • LOG_ERROR— 任务继续,并且错误将写入任务日志。

    • SUSPEND_TABLE— 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。

    • STOP_TASK— 任务停止,并且需要手动干预。

    • INSERT_RECORD— 如果存在带与插入的源记录相同的主键的现有目标记录,则更新该目标记录。

  • ApplyErrorUpdatePolicy— 确定什么操作AmazonDMS 在与 UPDATE 操作发生冲突时,执行的操作。默认为 LOG_ERROR。可能的值包括:

    • IGNORE_RECORD— 任务继续,并且将忽略该记录的数据。ApplyErrorEscalationCount 属性的错误计数器将递增。因此,如果您为表设置错误数限制,则此错误将计入限制。

    • LOG_ERROR— 任务继续,并且错误将写入任务日志。

    • SUSPEND_TABLE— 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。

    • STOP_TASK— 任务停止,并且需要手动干预。

    • UPDATE_RECORD— 如果目标记录缺失,则缺失的目标记录将插入目标表。选择该选项要求在 Oracle 作为源数据库时为所有源表列启用完整补充日志记录。

  • ApplyErrorEscalationPolicy— 确定什么操作AmazonDMS 在达到最大错误数(使用ApplyErrorEscalationCount参数)。默认值为 LOG_错误:

    • LOG_ERROR— 任务继续,并且错误将写入任务日志。

    • SUSPEND_TABLE— 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。

    • STOP_TASK— 任务停止,并且需要手动干预。

  • ApplyErrorEscalationCount— 此选项设置更改处理操作期间,特定表可出现的 APPLY 冲突的最大次数。达到此数目时,将根据 ApplyErrorEscalationPolicy 参数中设置的策略处理表数据。默认值为 0。

  • ApplyErrorFailOnTruncationDdl— 将此选项设置为true,以导致在 CDC 期间对任何跟踪的表执行截断时任务失败。默认为 false

    此方式不适用于 PostgreSQL 11.x 或更低版本,或不复制 DDL 表截断的任何其他源终端节点。

  • FailOnNoTablesCaptured— 将此选项设置为true,以导致在任务启动时为其定义的表映射找不到表时任务失败。默认为 false

  • FailOnTransactionConsistencyBreached— 该选项适用于将 Oracle 作为 CDC 源的任务。默认为 false。如果将该选项设置为 true,则会导致当事务的打开时间超出指定超时并可能删除时任务失败。

    在使用 Oracle 启动 CDC 任务时,Amazon DMS 将等待有限的时间以关闭最早打开的事务,然后再启动 CDC。如果在达到超时之前未关闭最早打开的事务,那么大多数情况下 Amazon DMS 会启动 CDC 而忽略该事务。如果将该选项设置为 true,则任务将失败。

  • FullLoadIgnoreConflicts— 将此选项设置为true有Amazon DMS在应用缓存的事件时,忽略 “零行受到影响” 和 “重复项” 错误。如果设置为 false,则 Amazon DMS 将报告所有错误,而不忽略这些错误。默认为 true