Data Moverがソース システムとターゲット システムに対してSQLを実行したときにオブジェクトでデッドロックが発生していると、SQLの実行が失敗する場合があります。この場合は、次のTeradata Databaseエラーが発生することがあります。
[Error 2631] [SQLState 40001] Transaction ABORTed due to Deadlock.
2631エラーは、一定時間経過後にSQLが開始された場合は発生しない可能性がある再試行可能なエラーです。configuration.xmlには、クエリーの実行を再試行するように構成できる3つの構成プロパティがあります。
プロパティ | 説明 |
---|---|
deadlock.retry.enabled | デッドロックによりTeradata Databaseエラー2631が発生し、SQLクエリーの実行が失敗した場合、指定されている時間が経過した後にクエリーを再試行します。 デフォルトはfalseです。有効にするにはtrueを指定します。 deadlock.retry.enabled propertyをfalseに設定すると、以下の2つのプロパティは無視されます。 |
deadlock.retry.interval | Teradata Databaseデッドロック エラー2631により失敗したSQLクエリーを再試行する間隔。Data Moverは、この時間が経過すると、失敗したクエリーの実行を試みます。 2つの要素のそれぞれに値を指定します。デフォルトは1分です。
|
deadlock.retry.maxAttempts | Teradata Databaseデッドロック エラー2631により失敗したSQLクエリーを再試行する最大回数。 このプロパティで指定した回数分、再試行してもSQLクエリーが失敗する場合は、ユーザーにエラーが返されます。 デフォルトは10です。 正の整数で指定する必要があります。 |
デッドロックの再試行プロパティは、抽出およびロード プロセス中にJDBC、Teradata PT APIまたはDSAオペレータによって実行されたクエリーには適用されません。このプロパティは、ジョブ作成時またはデータ ロードの前後にData Moverによって実行されたSQLにのみ適用されます。