16.20 - 死锁重试 - Teradata Data Mover

Teradata® Data Mover 用户指南

Product
Teradata Data Mover
Release Number
16.20
Published
2021 年 11 月
Content Type
用户指南
Publication ID
B035-4101-107K-CHS
Language
中文 (简体)
Data Mover 在源系统和目标系统上运行 SQL 时,如果对象上存在死锁,则该 SQL 执行可能会失败。这种情况可能会导致以下 Teradata Database 错误:
[Error 2631] [SQLState 40001] Transaction ABORTed due to Deadlock.
2631 错误是一个可重试错误,如果在一段时间间隔后启动 SQL,则该错误可能不会发生。您可以在 configuration.xml 中配置三个配置属性来重试运行查询:
属性 说明
deadlock.retry.enabled 如果由于死锁而无法执行 SQL 查询并出现 Teradata Database 错误 2631,则在指定时间间隔后重试运行查询。

缺省为 false。指定 true 可启用。

如果将 deadlock.retry.enabled property 设置为 false,则会忽略下列两个属性。

deadlock.retry.interval 重试运行由于 Teradata Database 死锁错误 2631 而失败的 SQL 查询的时间间隔。Data Mover 会等到此时间间隔后再尝试运行失败的查询。
分别为两个元素指定值。缺省值为 1 分钟。
  • value:指定重试间隔的秒数或分钟数。必须为正整数。
  • unit:指定 SECONDSMINUTES
deadlock.retry.maxAttempts 重试运行由于 Teradata Database 死锁错误 2631 而失败的 SQL 查询的最大尝试次数。

如果重试了此属性指定的次数后 SQL 查询失败,则会向用户返回错误。

缺省值为 10。必须为正整数。

死锁重试属性不适用于解压缩和加载过程期间通过 JDBC、Teradata PT API、DSA 或 ARC 运算符运行的查询。这些属性仅适用于在作业创建期间或数据加载前后由 Data Mover 运行的 SQL。