本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
错误处理任务设置
可以使用以下设置来设置复制任务的错误处理行为。有关如何使用任务配置文件来设置任务设置的信息,请参阅任务设置示例。
-
DataErrorPolicy
— 确定在记录级别出现与数据处理相关的错误时 AWS DMS采取的操作。数据处理错误的一些示例包括转换错误、变换中的错误和不正确的数据。默认为LOG_ERROR
。-
IGNORE_RECORD
– 任务继续,并且将忽略该记录的数据。DataErrorEscalationCount
属性的错误计数器将递增。因此,如果您为表设置错误数限制,则此错误将计入限制。 -
LOG_ERROR
– 任务继续,并且错误将写入任务日志。 -
SUSPEND_TABLE
– 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。 -
STOP_TASK
– 任务停止,并且需要手动干预。
-
-
DataTruncationErrorPolicy
— 确定数据被截断时 AWS DMS采取的操作。默认为LOG_ERROR
。-
IGNORE_RECORD
– 任务继续,并且将忽略该记录的数据。DataErrorEscalationCount
属性的错误计数器将递增。因此,如果您为表设置错误数限制,则此错误将计入限制。 -
LOG_ERROR
– 任务继续,并且错误将写入任务日志。 -
SUSPEND_TABLE
– 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。 -
STOP_TASK
– 任务停止,并且需要手动干预。
-
-
DataErrorEscalationPolicy
— 确定当达到最大错误数(在DataErrorEscalationCount
参数中设置)时采取的操作 AWS DMS。默认为SUSPEND_TABLE
。-
SUSPEND_TABLE
– 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。 -
STOP_TASK
– 任务停止,并且需要手动干预。
-
-
DataErrorEscalationCount
– 设置特定记录的数据可出现的错误的最大数目。当达到此数目时,将根据DataErrorEscalationPolicy
中设置的策略来处理包含错误记录的表的数据。默认值是 0。 -
EventErrorPolicy
— 确定在发送与任务相关的事件时 AWS DMS发生错误时采取的操作。可能的值包括-
IGNORE
– 任务继续,与该事件关联的所有数据都将被忽略。 -
STOP_TASK
– 任务停止,并且需要手动干预。
-
-
TableErrorPolicy
— 确定在处理特定表的数据或元数据时发生错误时采取的操作 AWS DMS。此错误仅适用于常规表数据,而不是与特定记录相关的错误。默认为SUSPEND_TABLE
。-
SUSPEND_TABLE
– 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。 -
STOP_TASK
– 任务停止,并且需要手动干预。
-
-
TableErrorEscalationPolicy
— 确定当出现最大错误数(使用TableErrorEscalationCount
参数设置)时采取的操作 AWS DMS。默认用户设置为STOP_TASK
,其中任务将停止,并且需要手动干预。 -
TableErrorEscalationCount
– 特定表的常规数据或元数据可出现的错误的最大数目。当达到此数目时,将根据TableErrorEscalationPolicy
中设置的策略处理表的数据。默认值是 0。 -
RecoverableErrorCount
– 在出现环境错误时,可尝试重新启动任务的最大次数。在系统尝试重新启动任务指定次数时,任务将停止,并且需要手动干预。默认值为 -1,表示 AWS DMS 尝试无限期地重新启动任务。当您将此值设置为 -1 时,尝试的重试DMS次数会根据返回的错误类型而有所不同,如下所示:运行状态,可恢复错误:如果出现可恢复的错误,例如连接中断或目标应用失败,则DMS重试任务九次。
启动状态,可恢复错误:DMS重试任务六次。
运行状态,致命错误处理者 DMS:DMS重试任务六次。
运行状态,致命错误未由DMS:处理:DMS不重试任务。
将此值设置为 0 将从不尝试重新启动任务。
我们建议您将
RecoverableErrorCount
和设置为值,RecoverableErrorInterval
以便在足够的时间间隔内有足够的重试次数,使DMS任务能够正常恢复。如果发生致命错误,则在大多数情况下会DMS停止尝试重启。 -
RecoverableErrorInterval
— 两次尝试重启任务之间 AWS DMS等待的秒数。默认值是 5。 -
RecoverableErrorThrottling
– 启用后,尝试重启任务的间隔将根据RecoverableErrorInterval
的值连续增加。例如,如果RecoverableErrorInterval
设置为 5 秒,则下一次重试将在 10 秒后进行,然后是 20 秒,然后是 40 秒,依此类推。默认为true
。 -
RecoverableErrorThrottlingMax
— 如果RecoverableErrorThrottling
启用,则在尝试重启任务之间 AWS DMS等待的最大秒数。默认值是 1800。 -
RecoverableErrorStopRetryAfterThrottlingMax
— 如果设置为true
,则在达到两次恢复尝试之间 AWS DMS 等待的最大秒数后停止重新启动任务。RecoverableErrorThrottlingMax
-
ApplyErrorDeletePolicy
— 确定在与操作发生冲突时采取的 AWS DMSDELETE操作。默认为IGNORE_RECORD
。可能的值包括:-
IGNORE_RECORD
– 任务继续,并且将忽略该记录的数据。ApplyErrorEscalationCount
属性的错误计数器将递增。因此,如果您为表设置错误数限制,则此错误将计入限制。 -
LOG_ERROR
– 任务继续,并且错误将写入任务日志。 -
SUSPEND_TABLE
– 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。 -
STOP_TASK
– 任务停止,并且需要手动干预。
-
-
ApplyErrorInsertPolicy
— 确定在与操作发生冲突时采取的 AWS DMSINSERT操作。默认为LOG_ERROR
。可能的值包括:-
IGNORE_RECORD
– 任务继续,并且将忽略该记录的数据。ApplyErrorEscalationCount
属性的错误计数器将递增。因此,如果您为表设置错误数限制,则此错误将计入限制。 -
LOG_ERROR
– 任务继续,并且错误将写入任务日志。 -
SUSPEND_TABLE
– 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。 -
STOP_TASK
– 任务停止,并且需要手动干预。 -
INSERT_RECORD
– 如果存在带与插入的源记录相同的主键的现有目标记录,则更新该目标记录。
-
-
ApplyErrorUpdatePolicy
— 确定当缺少数据与某项操作发生冲突时会采取 AWS DMS什么UPDATE操作。默认为LOG_ERROR
。可能的值包括:-
IGNORE_RECORD
– 任务继续,并且将忽略该记录的数据。ApplyErrorEscalationCount
属性的错误计数器将递增。因此,如果您为表设置错误数限制,则此错误将计入限制。 -
LOG_ERROR
– 任务继续,并且错误将写入任务日志。 -
SUSPEND_TABLE
– 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。 -
STOP_TASK
– 任务停止,并且需要手动干预。 -
UPDATE_RECORD
— 如果缺少目标记录,则会将缺失的目标记录插入到目标表中。 AWS DMS 完全禁用对任务的LOB列支持。选择该选项要求在 Oracle 作为源数据库时为所有源表列启用完整补充日志记录。
-
-
ApplyErrorEscalationPolicy
— 确定当达到最大错误数(使用ApplyErrorEscalationCount
参数设置)时采取的操作 AWS DMS。默认为 LOG _ERROR:-
LOG_ERROR
– 任务继续,并且错误将写入任务日志。 -
SUSPEND_TABLE
– 任务继续,但带错误记录的表中的数据将移至错误状态,并且不会复制数据。 -
STOP_TASK
– 任务停止,并且需要手动干预。
-
-
ApplyErrorEscalationCount
— 此选项设置更改处理操作期间特定表可能发生的最大APPLY冲突数。达到此数目时,将根据ApplyErrorEscalationPolicy
参数中设置的策略处理表数据。默认值是 0。 -
ApplyErrorFailOnTruncationDdl
— 将此选项设置为,true
以使在此期间对任何跟踪的表执行截断时任务失败。CDC默认为false
。这种方法不适用于 Postgre SQL 版本 11.x 或更低版本,也不适用于任何其他不复制DDL表截断的源端点。
-
FailOnNoTablesCaptured
– 如果将该选项设置为true
,则会导致在任务启动时为任务定义的表映射找不到表时任务失败。默认为false
。 -
FailOnTransactionConsistencyBreached
— 此选项适用于使用 Oracle 作为源的任务CDC。默认值为 false。如果将该选项设置为true
,则会导致当事务的打开时间超出指定超时并可能删除时任务失败。当CDC任务从 Oracle 开始时,需要 AWS DMS 等待一段时间以等待最早的未结交易关闭,然后再开始CDC。如果最早的未完成交易直到达到超时后才关闭,则在大多数情况下 AWS DMS CDC,会忽略该交易。如果将该选项设置为
true
,则任务将失败。 -
FullLoadIgnoreConflicts
— 将此选项设置为true
在应用缓存事件时 AWS DMS 忽略 “受影响的零行” 和 “重复” 错误。如果设置为false
,则 AWS DMS 报告所有错误而不是忽略错误。默认为true
。
请注意,STL_LOAD_ERRORS
中报告了 Redshift 作为目标的表加载错误。有关更多信息,请参阅 Amazon Redshift 数据库开发者指南ERRORS中的 STLLOAD_ _。