次の方法で共有


バッチジョブ履歴のクリーンアップ

バッチ ジョブを実行すると、実行履歴が記録されます。 この履歴によって、ジョブが正しく実行されているか管理することができます。 しかし、複数のバッチジョブ、特に再現性の高いバッチ ジョブが作成されると、多くのバッチ ジョブ履歴エントリが生成されます。 履歴テーブルにエントリが多すぎる場合は、将来的にジョブのパフォーマンス低下につながる可能性があります。

システム管理モジュールには 2 つのページが追加されており、バッチ ジョブ履歴のクリーンアップが容易になっています。

  • システム管理 > 定期的なタスク > バッチ ジョブ履歴のクリーンアップ
  • システム管理 > 定期的なタスク > バッチ ジョブ履歴のクリーンアップ (カスタム)

バッチ ジョブ履歴のクリーンアップ

この手順では、指定した日数よりも古い履歴の全エントリを手早くクリーンアップします。

  1. システム管理の定期処理タスク モジュールで、 バッチ ジョブ履歴クリーンアップ を選択します。
  2. 履歴の範囲 (日数)フィールドで、バッチ ジョブの履歴を保存する日数を指定します。
  3. OK を選択します。

バッチ ジョブ履歴のクリーンアップ (カスタマイズ)。

カスタムのバッチ ジョブでは追加フィルターが適用され、ステータス、ジョブの概要、会社、またはユーザー名などのキーワードに基づいて抽出できます。 フィルター条件を追加するには、フィルタボタンを選択します。

  1. システム管理の定期処理タスク モジュールで、 バッチ ジョブ履歴クリーンアップ (カスマイズ) を選択します。
  2. 履歴の範囲 (日数)フィールドで、バッチ ジョブの履歴を保存する日数を指定します。
  3. トランザクション内で削除するレコード フィールドに、1 つのデータベース・トランザクション内で削除するレコードの数を 10100 の範囲で入力します。 関連付けられているジョブは、すべてのレコードが削除されるまで、そのサイズのバッチのデータを操作して削除します。 バッチ ジョブで大量のデータが処理される場合、特に、関連するジョブおよびタスクのパラメータおよび情報ログ フィールド内で、より少ないデータ数を入力する方が推奨されます。 この方法により、小さな区分を削除し、他のジョブの編集を回避できます。
  4. レポートに含めるレコード クイック タブで、必要なフィルタ条件を指定し OK を選択します。
  5. OK を選択します。

ベスト プラクティス

  • 定期的にバッチ ジョブ履歴をクリーンアップすることと、この作業を業務時間外に行うことを推奨します。
  • 複数のバッチ履歴クリーンアップ ジョブを同時に実行しないようにする方が便利です。 同時実行を行った場合、データベースがデッドロックになる可能性があります。特に、一般的に発生するデータ量が多い点を考慮すると、この対策が必要となります。
  • バッチ ジョブ履歴クリーンアップ (カスタム) 内で複数のタスクを実行する必要がある場合、それぞれ異なる基準を持つタスクを順序に合って実行ベストです。 これらのタスクを同時に実行すると、クリーンアップ プロセスが重複する可能性があります (履歴テーブルから大量のデータを削除する場合など) に、デッドロックが発生する可能性があります。