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 ARC、Teradata PT API、またはTeradata JDBCのタスク。 | Teradata ARCを使用している場合。
Teradata PT APIまたはTeradata JDBCを使用している場合。
|
RESOLVE_TABLE_AFTER_LOAD | ターゲット テーブルに対するステージングからのINSERT文またはSELECT文の実行、インデックスやトリガーの追加などのタスク。 | 完了しなかったタスクを完了させてから、残りのジョブを実行します。 |
COPY_STATISTICS | 統計情報をコピーするタスク。 | 完了しなかったタスクを完了させてから、残りのジョブを実行します。 |
MOVE_JOURNAL_DATA | ジャーナル データをコピーするTeradata ARCタスク。 |
|
ROW_COUNT_VALIDATION | 各テーブルのコピーされる行数。ソース テーブルの行とターゲット テーブルの行が一致することを確認します。通常、これがジョブの最後のステップです。 | 完了しなかったタスクを完了させてから、残りのジョブを実行します。 |
追加情報
- 再起動機能には、ジョブを失敗させた根本の原因を解決するロジックは一切含まれません。ジョブを再起動する前に、これらの問題を解決してください。
- Teradata ARCとそのオンライン アーカイブ機能を使用するジョブで、MOVE_DATA_STEP中にジョブが失敗した場合に、restartコマンドを実行すると、オンライン アーカイブが再起動されます。完了時には、ジョブが最初に開始された時点ではなく、再起動された時点のソース テーブルの状態がターゲット テーブルに反映されます。
- 失敗したDSAタスクを含むジョブの場合は、再起動しないで、cleanupを使用します。DSAは再起動をサポートしません。
- 再起動を実行する際、Data Moverはソースまたはターゲットに関する新規情報を収集することはありませんが、最初に意図されていたとおりに残りのジョブを実行します。Data Moverでは、最初にジョブが作成されてから発生した可能性のあるすべての変更は再起動ジョブに適用されません。状況によって、元のジョブ計画が古くなっている場合には、cleanupコマンドを実行して、新規ジョブを作成する必要があります。
- ジョブでTeradata ARCを使用し、MOVE_TABLE_DATAステップまたはMOVE_JOURNAL_DATAステップで失敗した場合は、元のTeradata ARCスクリプトが、不完全なオブジェクトのみをコピーするように再生成されます。 Teradata ARCスクリプトにユーザーが追加した変更が含まれる場合は、これらの変更は、Teradata ARCの再起動スクリプトに反映されません。
- ジョブの再起動時、statusコマンドの出力には、再起動ジョブで実行されている作業のステータスのみが反映されます。