バッチ ジョブ テーブルのクリーンアップ
時間の経過と共に、新しいバッチ ジョブは特定のユーザー用に作成され、一度のみのジョブは実行されて、バッチ ジョブは再作成されます。 結果、多くのジョブは破棄され、使用されていないバッチ ジョブはシステムに蓄積されます。 蓄積されたバッチ ジョブは、徐々にバッチ ジョブ テーブルと関連テーブルの増加につながる可能性があります。 この増加は、他のジョブのパフォーマンスに悪影響を与える可能性もあります。
バージョン 10.0.39 (プラットフォーム更新 63) では、システム管理 モジュールに、バッチ ジョブテーブルをクリーンアップするプロセスを簡素化する バッチ ジョブ クリーンアップ ページが含まれています。 このページを開くには、システム管理>定期的なタスク>バッチ ジョブ クリーンアップ の順に移動します。
バッチ ジョブ クリーンアップとして実行
バッチ ジョブ テーブルのレコードをクリーンアップするには、次の手順に従います。
- システム管理>定期的なタスク>バッチ ジョブ クリーンアップ の順に移動します。
- ジョブの保持 (日数)フィールドで、バッチ ジョブのレコードを保存する日数を指定します。
- トランザクション内で削除するレコード フィールドに、1 つのデータベース・トランザクション内で削除するレコードの数を 1 ~ 200 の範囲で入力します。 関連付けられているジョブは、すべてのレコードが削除されるまで、そのサイズのバッチのデータを操作して削除します。 バッチ ジョブで大量のデータが処理される場合、特に、関連するジョブおよびタスクのパラメータおよび情報ログ フィールド内で、より少ないデータ数を入力する方が推奨されます。 この方法により、小さな区分を削除し、他のジョブの編集を回避できます。
- キャプション フィールドで、削除するバッチ ジョブのタイトルを指定します。 照合プロセスでは大文字と小文字が区別され、完全に一致する必要があります。
- クラス フィールドで、削除するバッチ ジョブのバッチ タスクのクラス名を指定します。
- どのバッチジョブを削除するかを決定するために、クリーンアップで最終実行の終了日/時間を考慮する必要がある場合、終了日時による削除 を有効にします。 既定では、クリーンアップで作成日時が考慮されます。
- 作成者 フィールドで、ジョブを作成した人のユーザー ID を指定します。
- 保留、エラー、完了、および キャンセル ターミナル状態フィールドで、少なくとも 1 つのオプションを選択してバッチ ジョブを削除します。
- OK を選択します。
ベスト プラクティス
- 定期的にバッチ ジョブ テーブルをクリーンアップすることと、この作業を業務時間外に行うことを推奨します。
- 複数のバッチ ジョブクリーンアップ ジョブを同時 に実行しないようにする方が 推奨されます。 同時実行を行った場合、データベースがデッドロックになる可能性があります。特に、一般的に発生するデータ量が多い点を考慮すると、この対策が必要となります。
- バッチ ジョブのクリーンアップ内で 複数のタスクを実行する必要がある場合は、それぞれのタスクに異なる基準を設定して、順に実行ベストです。 これらのタスクを同時に実行すると、クリーンアップ プロセスが重複する可能性があります (バッチ テーブルから大量のデータを削除する場合など) に、デッドロックが発生する場合があります。