Data Moverでは、テーブル レベルの再起動が可能です。テーブル レベルの再起動とは、ジョブが失敗する前にテーブルのすべての行が正常にコピーされたことを示します。ジョブが再起動されたときData Moverはそのテーブルの行を再度コピーしません。ただし、テーブルの行をコピーしている途中でジョブが失敗した場合は、ジョブが再起動されたときに、Data Moverはそのテーブルのすべての行を再度コピーします。
Data Moverジョブは、次の条件を満たす場合にのみ、restartコマンドで再起動できます。
- 実行中にジョブが失敗した場合。 statusコマンドまたはlist_jobsコマンドで表示すると、ジョブのステータスには失敗が表示されます。
- ジョブがstopコマンドを使用して停止された場合。statusコマンドまたはlist_jobsコマンドで表示すると、ジョブのステータスにはユーザー キャンセルが表示されます。
いずれの場合にも、ジョブを再起動する前にcleanupコマンドを実行しないでください。実行するとそのジョブで実行された作業がすべて失われます。また、ジョブを再起動する前に、ジョブの失敗の原因となった問題をすべて解決してください。
問題を解決した後で、datamove restart -job_name <job name>コマンドを使用してジョブを再起動できます。
アクションの再起動
Data Moverは、ジョブを再起動するとき、ジョブが失敗したステップに応じて異なるアクションを実行します。次のテーブルに、再起動アクションを示します。
ステップ | 説明 | 再起動中のData Moverアクション |
---|---|---|
CLEAN_UP | 再起動ジョブに追加されます。失敗したジョブの処理で残されたデータをクリーンアップするタスク。 | 再起動ジョブ全体を再度実行します。 |
MOVE_DEFINITION_BEFORE_LOAD または MOVE_DEF_AND_SRC_STG_DATA |
ステージング テーブルを設定するタスク。 | 完了しなかった設定タスクの実行を完了させてから、残りのジョブを実行します。 |
MOVE_TABLE_DATA | テーブルのコピーに使用されるTeradata PT APIまたはTeradata JDBCのタスク。 |
|
RESOLVE_TABLE_AFTER_LOAD | ターゲット テーブルに対するステージングからのINSERT文またはSELECT文の実行、インデックスやトリガーの追加などのタスク。 | 完了しなかったタスクを完了させてから、残りのジョブを実行します。 |
COPY_STATISTICS | 統計情報をコピーするタスク。 | 完了しなかったタスクを完了させてから、残りのジョブを実行します。 |
ROW_COUNT_VALIDATION | 各テーブルのコピーされる行数。ソース テーブルの行とターゲット テーブルの行が一致することを確認します。通常、これがジョブの最後のステップです。 | 完了しなかったタスクを完了させてから、残りのジョブを実行します。 |
追加情報
- 再起動機能には、ジョブを失敗させた根本の原因を解決するロジックは一切含まれません。ジョブを再起動する前に、これらの問題を解決してください。
- 失敗したDSAタスクを含むジョブの場合は、再起動しないで、cleanupを使用します。DSAは再起動をサポートしません。
- 再起動を実行する際、Data Moverはソースまたはターゲットに関する新規情報を収集することはありませんが、最初に意図されていたとおりに残りのジョブを実行します。Data Moverでは、最初にジョブが作成されてから発生した可能性のあるすべての変更は再起動ジョブに適用されません。状況によって、元のジョブ計画が古くなっている場合には、cleanupコマンドを実行して、新規ジョブを作成する必要があります。
- ジョブの再起動時、statusコマンドの出力には、再起動ジョブで実行されている作業のステータスのみが反映されます。