クライアント システムの障害または再始動の後にTeradata MultiLoadジョブが中止または停止された場合、これを再始動する方法は、Teradata MultiLoadジョブが停止したのがアプリケーション フェーズの途中かどうかによって異なります。
- Teradata MultiLoadジョブがアプリケーション フェーズの前後に終了した場合、そのジョブ スクリプトに変更を加えずにMultiLoadジョブをそのまま再始動します。Teradata MultiLoadは再始動ログ テーブルの項目から停止時点を判断し、そこから処理を再開します。
BEGIN MLOADコマンドは、複数の手順からなるジョブの最初の手順です。Teradata MultiLoadジョブに関連するテーブルまたはデータベースを修正するコマンドを再実行すると、そのテーブルやデータベースが破壊される可能性があります。
Teradata MultiLoadジョブを再始動する前に、Teradata MultiLoadの再始動ログ表、作業表、またはエラー表を修正したり削除したりしないでください。 - MultiLoadジョブがアプリケーション フェーズ中に停止した場合、そのジョブを再始動して、最後まで実行します。まず、Teradata MultiLoadジョブの中止に関係する問題を解決し、それからTeradata MultiLoadジョブを再始動します。ただし、再始動手順はジョブが停止した状況の重大度によって異なります。
- 再始動ログ表が削除されている場合は、CREATE TABLE文を使用して新しい再始動ログ表を作成し、以下のz/OSの例にあるように、OVERRIDEパラメータを使用してTeradata MultiLoadジョブを再実行します。
// EXEC MLOAD, PARM='OVERRIDE'
- ターゲット表、作業表、またはエラー表のいずれかが損失したり破壊されたりしている場合は、データベースからターゲット表を削除し、バックアップ ファイルからターゲット表を復元します。この場合は、残りの作業表、エラー表、および再始動ログ表も削除し、Teradata MultiLoadジョブを新規ジョブとして再実行します。
- Teradata MultiLoadジョブ スクリプトが失なわれた場合は、以下の短縮スクリプトを使用してジョブを再始動します。
.LOGON tdpid/userid/password; .LOGTABLE logtablename; .BEGIN MLOAD . . . ; .END MLOAD; .LOGOFFs
BEGIN MLOADコマンドは、元のジョブのターゲット表、作業表、およびエラー表をすべて識別する必要があります。また、これらの表は、すべてが元のままで破壊されていないことが必要です。短縮スクリプトを実行すると、Teradata MultiLoadは作業表内のチェックポイント マーカーを使用してアプリケーション フェーズの停止地点からタスクを再始動します。
- 再始動ログ表が削除されている場合は、CREATE TABLE文を使用して新しい再始動ログ表を作成し、以下のz/OSの例にあるように、OVERRIDEパラメータを使用してTeradata MultiLoadジョブを再実行します。