以下の例では、twbcmdジョブ レベルのコマンドを使用して次のジョブ管理の目標を実現する方法を示します。
- チェックポイントを記録する。
- チェックポイントを記録してから、ジョブを終了する。
- ジョブを一時停止および再開する。
- ジョブのステータスを表示およびログに記録する。
ジョブに即時チェックポイントの記録
外部コマンド インターフェースを使用して、アクティブ ジョブにチェックポイントの記録を指示することができます。 チェックポイント リクエストを受信すると、各オペレータ インスタンスは、チェックポイント間隔の終了時刻が到達するのを待つのではなく、ただちにチェックポイントを記録します。 チェックポイント完了後、ジョブはデータの処理を続けます。
次のコマンドを使用して、ジョブにチェックポイント記録を強制実行させます。ここで、job IDはターゲットTeradata PTジョブの名前です(twbstatコマンドを使用して確認)。
twbcmd <job ID> job checkpoint
ジョブによる即時チェックポイントの記録および終了
twbkillコマンドを使用してジョブを終了させる場合、チェックポイントは自動的に記録されません。すなわち、終了させたジョブを再始動すると、最終チェックポイント後に実行されたすべての処理が再度行なわれます。 これは、行の再挿入などのエラーの原因となることがあります。
再処理に起因する問題を回避するためには、代わりにtwbcmdオプションを使用して、チェックポイントを記録してから、ジョブを終了します。
次を実行します。ここで、job IDはターゲットTeradata PTジョブの名前です(twbstatコマンドを使用して確認)。
twbcmd <job ID> job terminate
ジョブの一時停止と再開
リソースが使用できなくなったり、テーブルがロックされたり、ジョブが同期しなくなる場合があります。 外部コマンドを使用して、そのような状況でジョブが終了するのを回避できます。 次の手順を使用して、データ フローを一時的に中断し、ジョブのタイミングとシステム リソースを制御します。
- 次を実行してジョブを中断します。ここで、job IDはターゲットTeradata PTジョブの名前です(twbstatコマンドを使用して確認)。
twbcmd <job ID> job pause
- 次を実行してジョブを再開します。
twbcmd <job ID> job resume
すべてのアクティブ ジョブのステータスの確認
次のいずれかのコマンドを実行してすべてのアクティブ ジョブのステータスを確認します。ここで、job IDはターゲットのTeradata PTジョブの名前です。
- 次のコマンドを実行します。ここで、job IDはターゲットTeradata PTジョブの名前です(twbstatコマンドを使用して確認)。
twbcmd <job ID> job status
- 次の処理が行なわれます。
- すべてのアクティブ オペレータが、ステータス レコードをTWB_STATUSログに書き込みます。
- コンソールに、送受信された現在の行数が表示されます。