パージ・ポリシーを使用すると、指定した基準に基づいてスケジューリング・サービスで完了ジョブを削除できます。たとえば、特定のジョブ定義を使用して送信され、特定のアプリケーションによって実行されたすべてのJavaタイプのジョブ・リクエストを3日間保存することをパージ・ポリシーで指定できます。また、特定のタイプ(たとえば、すべてのSQLジョブ・リクエスト)の成功状態のジョブ・リクエストを1日のみ保存するパージ・ポリシーも考えられます。パージ・ポリシーの実行頻度も指定できます。
この項では、次の項目について説明します。
パージ・ポリシーは、どのジョブ・リクエストをパージし、どのジョブ・リクエストを保存するかを決定します。パージ・ポリシーの定義には次の作業が含まれます。
パージするジョブの選択: 選択基準には、関連付けられているアプリケーションまたは製品、特定のジョブ定義またはジョブ・タイプ、ジョブ送信者、最大リクエスト数などがあります。
保存基準の指定: ジョブ・リクエストの保存期間をステータスに基づいて決定します。
パージ頻度の指定: パージ・ポリシーの実行頻度を指定します。
注意:
パージ・ポリシーの実行後、パージしたジョブ・リクエストをデータベースから物理的に削除する必要があります。詳細は、「ジョブ・リクエストのデータベースからの物理的なパージ」を参照してください。
新規パージ・ポリシーを設定するには:
ジョブ・リクエスト・データは、Oracle Enterprise Schedulerランタイム・ストアのランタイム・ストア表にレコードとして保存されます。これらのジョブ・リクエスト・レコードは、データベース管理者がSQLパージ・スクリプトを使用してデータベースから物理的にパージするまで、ランタイム・ストアに保持されます。ジョブ・リクエストを物理的にパージする前に、論理的に削除する必要があります。
Oracle Enterprise Schedulerスキーマでesspurge.purge_requests
メソッドを使用して、削除されたジョブ・リクエストをデータベースからパージします。Oracle Fusion Applications環境で、このスキーマは通常FUSION_ORA_ESS
と呼ばれています。
ESSPURGE
パッケージには、完了したジョブ・リクエストをパージできるストアド・プロシージャが含まれています。通常、このパッケージはOracle Enterprise Schedulerスキーマが作成または更新されたときにロードされます。ストアド・プロシージャを例4-1に示します。
esspurge.purge_requests
の基本的な構文を例4-2に示します。FUSION_ORA_ESS
はOracle Enterprise Schedulerスキーマの名前で、password
はパスワードです。
さらに別の例を示します。
現在時間より前に完了したジョブ・リクエストを最大50000件パージするには、次のコマンドを実行します。
execute esspurge.purge_requests(systimestamp, 50000);
30日前に完了したジョブ・リクエストを最大50000件パージするには、次のコマンドを実行します。
execute esspurge.purge_requests(systimestamp - 30, 50000);
2010年6月1日15:00:00(UTC)より前に完了したジョブ・リクエストを最大50000件パージするには、次のコマンドを実行します。
execute esspurge.purge_requests(TIMESTAMP '2010-06-01 15:00:00 -00:00', 50000);
例4-1 完了したジョブ・リクエストをパージするESSPURGEストアド・プロシージャ
--- Purges job requests that have completed. --- --- p_older_than : Purge only job requests that have completed after this time. --- p_max_count : The maximum number of job requests to purge. --- p_max_runtime : The maximum time, in minutes, the purge should run. --- If null (default), this defaults to one day which effectively means --- there is no time limit. --- procedure purge_requests ( p_older_than in timestamp, p_max_count in number, p_max_runtime integer default null );
例4-2 データベースからのジョブ・リクエストのパージ
sqlplus FUSION_ORA_ESS/password set serveroutput on size unlimited set timing on execute esspurge.purge_requests(systimestamp, 1000000);
スケジューリング・サービスに定義されているすべてのパージ・ポリシーを表示できます。
スケジューリング・サービスのパージ・ポリシーを表示するには:
パージ・ポリシーが「Succeeded」または「Cancelled」状態でないかぎり、パージ・ポリシーのスケジュールと同様に、既存のパージ・ポリシーのリクエストまたは保存基準を編集できます。
パージ・ポリシーを更新するには: