Oracle Enterprise Schedulerを使用して、アプリケーションのかわりにジョブを実行できます。ジョブの実行が必要になると、アプリケーションはOracle Enterprise Schedulerにジョブ・リクエストを送信します。ジョブのパラメータを指定するジョブ定義を使用してジョブを構成し、これをアプリケーションに関連付けます。複数のジョブ・リクエストをグループ化する場合は、ジョブ・セットを作成します。
ジョブ・リクエストの管理作業には、リクエストの送信、既存リクエストの検索とそれらの情報の閲覧、リクエストの一時停止および取消しが含まれます。これらのタスクはFusion Middleware Controlコンソールで実行できます。
この項では、次の項目について説明します。
ジョブ・リクエストを送信するには、必要なメタデータを定義したジョブ定義を選択し、ジョブの実行日時を指定するスケジュールを定義します。
この項では、次の項目について説明します。
ジョブ・リクエストのジョブ定義を選択し、スケジュールを選択または作成して、ジョブ・リクエストを作成します。
実行エラー時の再試行回数やジョブのタイムアウト値など、ジョブ・リクエストのシステム・プロパティも必要に応じて構成できます。
ジョブ・リクエストを送信するには:
既存のジョブ定義を使用します。「ジョブ定義の作成または編集」の説明に従って、まず新しいジョブ定義を作成することもできます。
「スケジューリング・サービス」メニューをクリックし、「ジョブ・リクエスト」→「ジョブ・リクエストの送信」を選択して、「ジョブ・リクエストの送信」ページにナビゲートします。
ジョブ・リクエストの送信先のアプリケーションを選択します。
アプリケーションドロップダウン・リストで、アプリケーションのデプロイメント名を選択します。
「ジョブ・リクエストの詳細」の下の「送信ノート」テキスト・フィールドに、ジョブ・リクエストの説明を入力します。
ジョブ定義を選択します。
「ジョブ定義」の下の「ジョブ定義」テキスト・フィールドの横にある検索ボタンをクリックします。
使用するジョブ定義を検索します。
「名前」テキスト・フィールドで、検索するジョブ定義の名前を入力します。ジョブ定義のパッケージを「パッケージ」フィールドに入力することもできます。
「実行」をクリックしてジョブ定義を検索します。
検索結果表から、ジョブ定義名を選択します。
「OK」をクリックします。
オプションで、「パラメータ」リージョンで、スケジュールするジョブ・リクエストで使用するパラメータを定義します。
「ジョブ・パラメータ」リージョンで、「追加」をクリックしてパラメータを追加します。
パラメータの名前と値を入力します。
使用可能なシステム・プロパティの値を設定できます。
たとえば、許可するジョブの再試行回数(SYS_retries
)やタイムアウト値(SYS_request_timeout
)を構成できます。
ジョブを実行するスケジュールを選択します。
1回: 「カレンダ」ボタンをクリックして日時を1つ選択します。
既存のスケジュールの使用: 検索ボタンをクリックして、既存スケジュールを検索して選択します。保存済スケジュールの定義の詳細は、「事前定義ジョブ・スケジュールの作成または編集」を参照してください。
スケジュールの指定: ここで直接スケジュールを作成します。「ジョブ・リクエストのスケジュールの指定」の手順に従います
「OK」をクリックします。
「ジョブ・リクエストの送信」ページで、「スケジュールの指定」を選択すると、ジョブ・リクエストのスケジュールを構成できます。ジョブ・リクエスト・スケジュールを使用して、再帰ジョブ・リクエストを構成できます。また、すぐに実行するジョブ・リクエストや、指定した終了日より前に実行するジョブ・リクエストを構成できます。既存のジョブ定義を使用するか、「ジョブ定義の作成または編集」の説明のとおり新しいジョブ定義を作成します。
スケジュールを指定するには:
「リクエスト検索」ページでジョブ・リクエストを検索できます。「リクエスト検索」ページでは、次を実行できます。
「クイック検索」ドロップダウン・メニューから事前構成済の検索オプションを選択することで、クイック検索を実行します。
ジョブ・リクエストID、実行アプリケーション、ジョブ・リクエストのステータスなど、ジョブ・リクエストの詳細のリストを返す、基本的な検索を実行します。
基本検索の一部として使用可能なフィールドとともに、「実行時間/待機時間」、「失敗した実行の再試行」、「日付範囲」、「エラー・タイプ」および「リクエストECID/相関フローID」に基づく拡張検索を実行します。
検索結果表の列の表示を変更します。
この項では、次の項目について説明します。
簡易検索では、ジョブ・リクエストID、関連付けられているアプリケーション、ジョブ・リクエストのステータスなど特定の基準に基づいてジョブ・リクエストを検索したり、多数用意されている事前構成済クイック検索の1つを使用してジョブ・リクエストを検索できます。
ジョブ・リクエストを検索するには:
スケジュールを定義および保存し、将来のジョブ・リクエスト送信で使用できます。
「スケジューリング・サービス」メニューをクリックし、「ジョブ・リクエスト」→「スケジュールの定義」を選択し、「スケジュール」ページにナビゲートします。
「スケジュール」ページで、次のアクションのいずれかを選択できます。
新規スケジュールを作成するには、次のようにします。
「アプリケーション」ドロップダウン・リストで、スケジュールを作成するアプリケーションの名前を選択します。
「作成」をクリックします。
次の情報を入力します。
名前: スケジュールの名前を入力します。これは、ジョブ・リクエストにスケジュールを割り当てる際に表示される名前です。
パッケージ: スケジュールの検索またはグループ化に役立つ場合は、オプションで、このスケジュールに関連するJavaパッケージの名前を入力します。
説明: オプションで説明を入力します。
「頻度」ドロップダウンで、このスケジュールを使用するジョブ・リクエストの実行頻度を選択します。頻度オプションの詳細の指定方法は、各オプションによって異なります。詳細を指定するときに、「日付および時間の選択」アイコンをクリックするとタイムゾーンも指定できます。
「OK」をクリックします。
既存のスケジュールの詳細を表示するには:
「結果」領域で、詳細を表示するスケジュールを探します。
「アプリケーション」ドロップダウン・リストで、スケジュールを表示するアプリケーションの名前を選択します。
「名前」列で、スケジュールの名前をクリックします。
「スケジュール詳細」ページでは、スケジュールの時間を削除したり、Editボタンをクリックしてスケジュールの詳細を編集したりすることができます。
既存スケジュールを編集するには:
「名前」および「パッケージ」フィールドに、検索する値を入力します。
「実行」をクリックして、検索します。
「結果」領域で、編集するスケジュールを探します。
編集するスケジュールを選択して「編集」をクリックします。
「スケジュールの編集」ページで、スケジュールの詳細を編集します。
「OK」をクリックします。
ジョブ・リクエストの検索結果でジョブ・リクエストIDまたはリクエストの親IDをクリックすると、各ジョブ・リクエストに関する詳細情報を表示できます。ジョブがエラー状態にある場合、発生したエラーに関する詳細が情報ボックスに表示されます。ジョブ・リクエストを検索する方法の詳細は、「Oracle Enterprise Schedulerのジョブ・リクエストの検索」を参照してください。
個別のジョブ・リクエストに関して次のアクションを実行できます:
ジョブ・リクエストのログ情報を表示します。
ジョブ・セットおよびすべての子ジョブ・リクエストを表示します。
特定のジョブ・リクエストと同様のパラメータを指定して、ジョブまたはジョブ・セット・リクエストを発行します。
不完全なジョブ・リクエストを復元します。
ジョブ・リクエストの詳細を表示するには:
送信済の実行可能ジョブ・リクエストを取り消すことができます。実行可能ジョブ・リクエストには、スケジュールなしで送信されたジョブ・セットとジョブ・リクエストが含まれます。ジョブ・リクエストは実行以外の状態であれば取り消すことができます。
ジョブ・リクエストの取消し操作を実行したとき、取消しの状態がどのようになるかはジョブ・リクエストの現在の状態によって決まります。実行中でないジョブ・リクエストはすぐにCANCELLED
状態に設定されます。RUNNING
、PAUSED
またはCOMPLETED
状態のジョブ・リクエストは、リクエストの取消し操作の実行後、CANCELLING
状態になります。
リクエストの状態が最終的にどのようになるかは、取消し操作を実行したときのジョブ・リクエストの処理ステージによって決まります。
表4-1は、取消し操作を実行したときの状態に応じて、各実行可能リクエストにどのような取消し状態が適用されるかを示しています。
表4-1 実行可能リクエストと取消し状態
取消し操作実行時のジョブの状態 | 新しい取消し状態 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
すべての終了状態 |
状態変更なし |
|
状態変更なし |
|
状態変更なし |
実行可能リクエストは、プリプロセッサ、実行、ポストプロセッサという3つの主要ステージで処理されます。これらのステージにあるリクエストはすべて取り消すことができます。これらの3つのステージを完了できなかったジョブ・リクエストは、CANCELLED
になります。
この項では、次の項目について説明します。
プリプロセッサ・ステージ中に取消し操作を実行した場合、ジョブ・リクエストに設定される新しい状態は、プリプロセッサから返されるステータスによって異なります。
表4-2に、取消し操作実行後のジョブの状態を示します。
表4-2 プリプロセッサの状態と取消し操作実行後の状態
プリプロセッサから返された状態 | 取消し操作実行後の状態 |
---|---|
|
|
|
|
|
|
|
|
|
|
ジョブ実行ステージ中に取消し操作を実行した場合、ジョブ・リクエストに設定される新しい状態は、ジョブがどのように完了したかによって異なります。
表4-3に、取消し操作実行後のジョブの状態を示します。
表4-3 返された同期Javaジョブの状態と取消し操作実行後の状態
ジョブから返された状態 | 取消し操作実行後の状態 |
---|---|
通常の戻り値(成功) |
|
|
|
|
|
|
|
|
|
ジョブ実行ステージ中に取消し操作を実行した場合、ジョブ・リクエストに設定される新しい状態は、ジョブがどのように完了したかによって異なります。
表4-4に、取消し操作実行後のジョブの状態を示します。
表4-4 返された非同期Javaジョブの状態と取消し操作実行後の状態
ジョブから返された状態 | 取消し操作実行後の状態 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
状態変更なし。更新を待機します。 |
|
|
|
|
実行可能ジョブが実行中である場合、Oracle Enterprise Schedulerは実行中のRDBMSスケジューラ・ジョブの強制終了を試みます。ジョブが正常に強制終了された場合、リクエストはCANCELLED
状態になります。強制終了が実行される前にRDBMSスケジューラ・ジョブが終了した場合、ジョブ・リクエストに新しく設定される状態は、ジョブの実行結果によって異なります。
表4-5に、取消し操作実行後のジョブの状態を示します。
表4-5 返されたPL/SQLジョブの状態と取消し操作実行後の状態
ジョブから返された状態 | 取消し操作実行後の状態 |
---|---|
|
|
|
|
|
|
|
|
|
|
生成されたジョブが実行中である場合、Oracle Enterprise Schedulerは実行中のプロセスの強制終了を試みます。プロセスが正常に強制終了された場合、リクエストはCANCELLED
状態になります。強制終了が実行される前にプロセスが終了した場合、リクエストに新しく設定される状態は、プロセスの実行結果によって異なります。
表4-6に、取消し操作実行後のジョブの状態を示します。
表4-6 返された生成されたジョブの状態と取消し操作実行後の状態
ジョブから返された状態 | 取消し後の状態 |
---|---|
|
|
|
|
|
|
|
|
|
|
取り消された親ジョブ・リクエストは、すべての子ジョブ・リクエストが完了または取り消されるまでCANCELLING
状態に遷移します。取消し操作は対象のすべての子ジョブ・リクエストに伝播されます。たとえば、ジョブ・セットが取り消されるとジョブ・セット・ステップが取り消され、親リクエストが取り消されるとサブ・リクエストが取り消され、再帰の親が取り消されると再帰の実行可能ジョブ・リクエストが取り消されます。子ジョブ・リクエストが実行可能な場合、前述の項で説明したルールが適用されます。すべての子リクエストが完了したときに、親リクエストがCANCELLED
の状態になります。
子ジョブ・リクエストは実行可能ジョブ・リクエストまたは親ジョブ・リクエストである場合があります。CANCELLED
またはその他の終了状態にあるサブリクエストを取り消す場合、その親ジョブ・リクエストは、それ自身が取り消されていないかぎり通常どおり再開されます。サブリクエストの状態は親リクエストの状態に影響しません。
ジョブ・セット内のステップを取り消したとき、ジョブ・セットの状態がCANCELLED
状態になるのは、ジョブ・セット・ステップがCANCELLED
状態になったときです。ただし、別のジョブ・セット・ステップの結果がエラーの場合は、ジョブ・セットの状態がCANCELLED
に戻らないことがあります。
ジョブ・リクエストを取り消すには: