ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Enterprise Scheduler管理者ガイド
11g リリース1 (11.1.1.7)
B66432-04
  目次へ移動
目次

前
 
次
 

4 Oracle Enterprise Schedulerリクエストの管理

この章では、Oracle Enterprise Schedulerのジョブ・リクエストの管理方法、リクエストの作成および送信方法、リクエストの保留および取消し方法について説明します。

ジョブはアプリケーションにかわって作業の実行をリクエストします。ジョブ・リクエストは、ジョブ実行タイプ(JavaジョブやPL/SQLジョブなど)、ジョブ定義(リクエストの詳細を指定するメタデータを関連付ける)およびスケジュール(ジョブの実行日時を指定する)で構成されます。ジョブ・リクエストの管理には、ジョブを作成して送信することだけでなく、ジョブの保留と取消しや、データベースからリクエストをパージしてクリーン・アップする作業も含まれます。


注意:

Oracle Weblogic Scripting Toolを使用してリクエスト管理タスクを実行することもできます。詳細は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』のEnterprise SchedulerのカスタムWLSTコマンドに関する項を参照してください。


この章では、次の項目について説明します。

4.1 Oracle Enterprise Schedulerジョブ・リクエストの管理の概要

Fusion Middleware Controlコンソールを使用してジョブ・リクエストを管理できます。ジョブ・リクエストは、Oracle Enterprise Schedulerのサービス提供先であるアプリケーションにかわって、作業を実行します。ジョブ・リクエストの管理に関連するタスクには、ジョブ・リクエストの作成とジョブを実行するスケジュールの指定が含まれます。リクエストの送信や、保留および取り消すことができます。

必要となるジョブ・リクエストの管理タスクには、次のようなものがあります。

4.2 Oracle Enterprise Schedulerリクエストの管理

Oracle Enterprise Schedulerを使用して、アプリケーションのかわりにジョブを実行できます。ジョブの実行が必要になると、アプリケーションはOracle Enterprise Schedulerにジョブ・リクエストを送信します。ジョブのパラメータを指定するジョブ定義を使用してジョブを構成し、これをアプリケーションに関連付けます。複数のジョブ・リクエストをグループ化する場合は、ジョブ・セットを作成します。

ジョブ・リクエストの管理作業には、リクエストの送信、既存リクエストの検索とそれらの情報の閲覧、リクエストの一時休止および取消しが含まれます。これらのタスクはFusion Middleware Controlコンソールで実行できます。

この項には次のトピックが含まれます:

4.2.1 Oracle Enterprise Schedulerジョブ・リクエストの送信

ジョブ・リクエストを送信するには、必要なメタデータを定義したジョブ定義を選択し、ジョブの実行日時を指定するスケジュールを定義します。

この項には次のトピックが含まれます:

4.2.1.1 ジョブ・リクエストの作成

ジョブ・リクエストのジョブ定義を選択し、スケジュールを選択または作成して、ジョブ・リクエストを作成します。

実行エラー時の再試行回数やジョブのタイムアウト値など、ジョブ・リクエストのシステム・プロパティも必要に応じて構成できます。

ジョブ・リクエストを送信するには:

  1. 既存のジョブ定義を使用します。第5.2.1.2項の説明のとおり、最初に新規のジョブ定義を作成することも可能です。

  2. 「スケジューリング・サービス」メニューをクリックし、「ジョブ・リクエスト」「ジョブ・リクエストの送信」を選択して、「ジョブ・リクエストの送信」ページにナビゲートします。

  3. ジョブ・リクエストの送信先のアプリケーションを選択します。

    アプリケーションのドロップダウン・リストで、アプリケーションのデプロイメント名を選択します。

  4. 「ジョブ・リクエストの詳細」の下の「説明」テキスト・フィールドに、ジョブ・リクエストの説明を入力します。

  5. ジョブ定義を選択します。

    1. 「ジョブ定義」の下の「ジョブ定義」テキスト・フィールドの横にある検索ボタンをクリックします。

    2. 使用するジョブ定義を検索します。

      「名前」テキスト・フィールドで、検索するジョブ定義の名前を入力します。ジョブ定義のパッケージを「パッケージ」フィールドに入力することもできます。

      「実行」をクリックしてジョブ定義を検索します。

    3. 検索結果表から、ジョブ定義名を選択します。

    4. 「OK」をクリックします。

  6. オプションで、「パラメータ」リージョンで、スケジュールするジョブ・リクエストで使用するパラメータを定義します。

    1. 「パラメータ」リージョンで、「追加」をクリックしてパラメータを追加します。

      パラメータの名前と値を入力します。

    2. 使用可能なシステム・プロパティの値を設定できます。表5-1に、システム・プロパティの名前と説明を示します。

      たとえば、許可するジョブの再試行回数(SYS_retries)やタイムアウト値(SYS_request_timeout)を構成できます。

  7. ジョブを実行するスケジュールを選択します。

    • 1回: カレンダのアイコンをクリックして日時を1つ選択します。

    • 既存のスケジュールの使用: 検索ボタンをクリックして、既存スケジュールを検索して選択します。保存するスケジュールの定義の詳細は、第4.2.3項を参照してください。

    • スケジュールの指定: ここで直接スケジュールを作成します。第4.2.1.2項の手順に従います。

  8. 「OK」をクリックします。

4.2.1.2 ジョブ・リクエストのスケジュールの指定

「ジョブ・リクエストの送信」ページで、「スケジュールの指定」を選択すると、ジョブ・リクエストのスケジュールを構成できます。ジョブ・リクエスト・スケジュールを使用して、再帰ジョブ・リクエストを構成できます。また、すぐに実行するジョブ・リクエストや、指定した終了日より前に実行するジョブ・リクエストを構成できます。既存のジョブ定義を使用するか、第5.2.1.2項の説明のとおり新しいジョブ定義を作成します。

スケジュールを指定するには:

  1. 「スケジュール」リージョンで、「スケジュールの指定」を選択します。

  2. 「頻度」ドロップダウンで、このスケジュールを使用するジョブ・リクエストの実行頻度を選択します。頻度オプションの詳細の指定方法は、各オプションによって異なります。詳細を指定するときに、「日付および時間の選択」アイコンをクリックするとタイムゾーンも指定できます。

  3. このジョブまたは他のジョブ・リクエストで使用できるようするため、「スケジュールの保存」チェック・ボックスを選択してこのスケジュールを保存し、次を入力します。

    • 名前: スケジュールの名前を入力します。これはスケジュールをジョブ・リクエストに割り当てるときに表示される名前です。

    • パッケージ: オプションで、このスケジュールに関連するJavaパッケージの名前を入力し、スケジュールの検索やグループ化で使用できるようにします。

    • 説明: オプションで説明を入力します。

4.2.2 Oracle Enterprise Schedulerジョブ・リクエストの検索

「リクエスト検索」ページでジョブ・リクエストを検索できます。「リクエスト検索」ページでは、次を実行できます。

  • ジョブ・リクエストID、実行アプリケーション、ジョブ・リクエストのステータスなど、ジョブ・リクエストの詳細のリストを返す、基本的な検索を実行します。

  • 簡易検索と同じ情報を、実行日時、ジョブ・リクエストの実行時間または待機時間、再試行の回数、実行中に発生したエラーのタイプとともに返す、拡張検索を実行します。

  • 検索結果表の列の表示を変更します。

この項には次のトピックが含まれます:

4.2.2.1 簡易検索を使用したジョブ・リクエストの検索

簡易検索では、ジョブ・リクエストID、関連付けられているアプリケーション、ジョブ・リクエストのステータスなど特定の基準に基づいてジョブ・リクエストを検索したり、多数用意されている事前構成済クイック検索の1つを使用してジョブ・リクエストを検索できます。

ジョブ・リクエストを検索するには:

  1. 「スケジューリング・サービス」メニューをクリックし、「ジョブ・リクエスト」「ジョブ・リクエストの検索」を選択して、「リクエスト検索」ページにナビゲートします。

  2. 次のいずれかのオプションを選択し、ジョブ・リクエストの検索範囲を選択します。

    • 現在のスケジューリング・サービス: 現在作業しているスケジューリング・サービスに対してのみ送信されたジョブ・リクエストを検索する場合は、このオプションを選択します。

    • ESSリポジトリを共有するすべてのスケジューリング・サービス: リポジトリを共有するすべてのスケジューリング・サービス(たとえば、スケジューリング・サービスのクラスタ内のすべてのスケジューリング・サービス)に対して送信されたジョブ・リクエストを検索する場合は、このオプションを選択します。

      リポジトリ(ジョブ・リクエストが格納されるOracle Enterprise Schedulerランタイム・データベース)は、Oracle Enterprise Schedulerを含む複数のドメインで共有できます。複数のドメインにわたって実行され、データベースなどの共有リソースに高い負荷を与えているジョブを確認する場合に便利です。

  3. 手早く検索を実行するには、「クイック検索」ドロップダウン・リストから、次のような事前構成済検索オプションを選択します。

    • 過去1時間に送信されたリクエスト

    • 過去24時間に送信された保留リクエスト

    • 過去24時間に送信されエラーとなったリクエスト

    • すべての実行中のリクエスト

    • すべての保留中のリクエスト

    • 現在再試行中のリクエスト

    • 過去24時間に再試行されたリクエスト

    • 過去24時間にシステム・エラーを発生したリクエスト

    • 過去24時間にビジネス・エラーを発生したリクエスト

    • 選択した作業割当ての準備完了リクエスト

    • 手動リカバリが必要な非同期リクエスト

    通常のジョブ・リクエスト検索を実行する場合は、この手順は省略します。

  4. ジョブ・リクエストの検索基準を入力または選択します。

    • リクエストID: 検索するジョブ・リクエストのIDを入力します。

    • アプリケーション: 「アプリケーション」ドロップダウン・リストから、検索するジョブ・リクエストに関連付けられているアプリケーションの名前を選択します。または、「すべて」を選択して、すべてのアプリケーションのジョブ・リクエストを検索します。

    • ステータス: 検索するジョブ・リクエストのステータスを選択します。または、「すべて」を選択して、すべてのステータスのジョブ・リクエストを検索します。次の表にステータスを示します。

      ステータス

      BLOCKED

      EXPIRED

      SCHEDULE_ENDED

      CANCELLED

      FINISHED

      SUCCEEDED

      CANCELLING

      HOLD

      UNKNOWN

      COMPLETED

      PAUSED

      VALIDATION_FAILED

      ERROR

      PENDING_VALIDATION

      WAIT

      ERROR AUTO RETRY

      READY

      WARNING

      ERROR MANUAL RECOVERY

      RUNNING



    • 実行タイプ: 「Javaタイプ」「SQLタイプ」および「プロセス・タイプ」のオプションがあります。

    • 送信済: ドロップダウン・リストから、検索するジョブ・リクエストが送信された期間を選択します。「過去1時間」「過去24時間」「過去7日間」「過去31日間」のオプションがあります。

    • 送信者: テキスト・フィールドで、検索するジョブ・リクエストを送信したユーザー名を入力します。

    • ジョブ定義: テキスト・フィールドの横にある検索ボタンをクリックし、関連するジョブ定義名を選択します。

    • 作業割当て: テキスト・フィールドの横にある検索ボタンをクリックし、リストから作業割当てを選択します。

    • 製品: テキスト・フィールドで、ジョブ・リクエストを使用している製品名を入力します。

  5. オプションで、「拡張」ボタンをクリックして、拡張検索を実行します。拡張検索の詳細は、第4.2.2.2項を参照してください。

  6. 「検索」をクリックし、ジョブ・リクエスト検索を発行します。

4.2.2.2 拡張検索機能を使用したジョブ・リクエストの検索

拡張検索を実行するには、「リクエスト検索」ページで「拡張」ボタンをクリックします。

ジョブ・リクエストを検索するには:

  1. ジョブ・リクエストの基本検索を入力します。「スケジューリング・サービス」メニューをクリックし、「ジョブ・リクエスト」「ジョブ・リクエストの検索」を選択して、「リクエスト検索」ページにナビゲートします。

  2. 次のいずれかのオプションを選択し、ジョブ・リクエストの検索範囲を選択します。

    • 現在のスケジューリング・サービス: 現在作業しているスケジューリング・サービスに対してのみ送信されたジョブ・リクエストを検索する場合は、このオプションを選択します。

    • ESSリポジトリを共有するすべてのスケジューリング・サービス: リポジトリを共有するすべてのスケジューリング・サービス(たとえば、スケジューリング・サービスのクラスタ内のすべてのスケジューリング・サービス)に対して送信されたジョブ・リクエストを検索する場合は、このオプションを選択します。

      リポジトリ(ジョブ・リクエストが格納されるOracle Enterprise Schedulerランタイム・データベース)は、Oracle Enterprise Schedulerを含む複数のドメインで共有できます。複数のドメインにわたって実行され、データベースなどの共有リソースに高い負荷を与えているジョブを確認する場合に便利です。

  3. 基本的な検索基準を選択します。詳細は、第4.2.2.1項を参照してください。

  4. 「拡張」をクリックして、拡張検索のフィールドを表示します。

  5. 「日付範囲」セクションで、ジョブ・リクエストを検索する日付範囲を構成します。左側の日付は開始日、右側の日付は終了日です。各日付のテキスト・フィールドの右側にあるカレンダ・アイコンをクリックし、日時を選択します。

    • 送信間隔: ジョブ・リクエストが送信された期間の開始日と終了日を入力します。

    • スケジュール間隔: ジョブ・リクエストの実行がスケジュールされた期間の開始日と終了日を入力します。

    • 完了間隔: ジョブ・リクエストの実行が終了した期間の開始日と終了日を入力します。

  6. 「実行時間/待機時間」セクションで、実行時間の長いまたは短いリクエストなど、検索するジョブ・リクエストの実行時間または待機時間を選択します。

    • なし: 実行時間または待機時間を指定しない場合に選択します。

    • 長時間実行中のリクエスト: 指定した秒、分、時間または日数より長く実行しているリクエストを検索する場合に選択します。

      「最小実行時間」テキスト・フィールドに、ジョブ・リクエストの実行時間の下限を入力します。ドロップダウン・リストから、使用する時間単位を選択します。

    • 待機していた短時間実行中のリクエスト: 指定した時間よりも実行時間が長く、指定した時間よりも待機時間が短いジョブ・リクエストを検索する場合に選択します。

      「最大実行時間」テキスト・フィールドに、ジョブ・リクエストの実行時間の上限を入力します。ドロップダウン・リストから、「秒」「分」「時間」または「日」を選択します。

      「最小待機時間」テキスト・フィールドに、ジョブ・リクエストの実行待機時間の下限を入力します。ドロップダウン・リストから、「秒」「分」「時間」または「日」を選択します。

    • 時間別の待機中リクエスト: 実行待機時間が指定した時間内であるジョブ・リクエストを検索する場合に選択します。

      「最小待機時間」テキスト・フィールドに、ジョブ・リクエストの実行待機時間の下限を入力します。ドロップダウン・リストから、「秒」「分」「時間」または「日」を選択します。

      「最大待機時間」テキスト・フィールドに、ジョブ・リクエストの実行待機時間の上限を入力します。ドロップダウン・リストから、「秒」「分」「時間」または「日」を選択します。

  7. 「失敗した実行の再試行」セクションで「再試行回数」ドロップダウン・リストを使用し、「次と等しい」、「次より大きい」、「次以上」などの演算子を選択します。

    テキスト・フィールドに、再試行回数を入力します。

  8. 「エラー・タイプ」セクションでドロップダウン・リストを使用して、エラーのタイプを選択します。

    • ビジネス: 予期しない状態の発生によりジョブの早期終了が必要になったが、そのような状況でなければデータの整合性を保ったままジョブを終了できる場合、ジョブはビジネス・エラーで終了します。アプリケーションの設定または構成の状態、早期終了を要する機能面の衝突、あるいは破損または不整合データの結果、ジョブ・リクエストがビジネス・エラーで終了することがあります。ビジネス・エラーで終了したジョブ・リクエストは再試行できません。

    • システム: 回復できない技術的問題が発生したが、そのような状況でなければジョブ自身でジョブを終了できる場合、ジョブはシステム・エラーで終了します。または、ジョブを実行しているコンピュータがクラッシュします。表領域の問題や処理不能な実行時例外が該当します。システム・エラーで終了したジョブ・リクエストは再試行できます。

  9. 「検索」をクリックし、ジョブ・リクエスト検索を発行します。

4.2.2.3 検索結果表の列表示の構成

ジョブ・リクエストの検索を実行後、検索結果表での列の表示を構成できます。

ジョブ・リクエスト検索結果表の表示列を構成するには:

  1. メインのOracle Enterprise Schedulerリクエスト検索ページを表示し、検索インタフェースを表示します。

  2. 列を表示または非表示にします。

    「表示」ドロップダウン・リストをクリックし、「列」を選択します。列名をクリックし、必要な列のチェック・ボックスを選択し、不要な列のチェック・ボックスの選択を解除します。

    列の管理をクリックすると、「列の管理」ダイアログ・ボックスが表示され、ここから列の表示と非表示を選択できます。列の間の矢印を使用して、列名を表示から「非表示」列に移動します(または逆方向に移動します)。

  3. オプションで、対象の列名を選択し、右側の上下移動用の垂直方向矢印を使用して、列を並べ替えます。

  4. または、「表示」ドロップダウン・リストをクリックし、「列」「すべて表示」を選択して、すべての列を表示します。

4.2.3 事前定義ジョブ・スケジュールの作成または編集

スケジュールを定義および保存し、将来のジョブ・リクエスト送信で使用できます。

  1. 「スケジューリング・サービス」メニューをクリックし、「ジョブ・リクエスト」「スケジュールの定義」を選択し、「スケジュール」ページにナビゲートします。

  2. 「スケジュール」ページで、次のアクションのいずれかを選択できます。

    • 新規スケジュールを作成するには、次のようにします。

      1. 「アプリケーション」ドロップダウン・リストで、スケジュールを作成するアプリケーションの名前を選択します。

      2. 「作成」をクリックします。

      3. 次の情報を入力します。

        • 名前: スケジュールの名前を入力します。これはスケジュールをジョブ・リクエストに割り当てるときに表示される名前です。

        • パッケージ: オプションで、このスケジュールに関連するJavaパッケージの名前を入力し、スケジュールの検索やグループ化で使用できるようにします。

        • 説明: オプションで説明を入力します。

      4. 「頻度」ドロップダウンで、このスケジュールを使用するジョブ・リクエストの実行頻度を選択します。頻度オプションの詳細の指定方法は、各オプションによって異なります。詳細を指定するときに、「日付および時間の選択」アイコンをクリックするとタイムゾーンも指定できます。

      5. 「OK」をクリックします。

    • 既存のスケジュールの詳細を表示するには:

      1. 「結果」領域で、詳細を表示するスケジュールを探します。

      2. 「アプリケーション」ドロップダウン・リストで、スケジュールを表示するアプリケーションの名前を選択します。

      3. 「名前」列で、スケジュールの名前をクリックします。

      4. 「スケジュール詳細」ページでは、スケジュールの時間を削除したり、Editボタンをクリックしてスケジュールの詳細を編集したりすることができます。

    • 既存スケジュールを編集するには:

      1. 「名前」および「パッケージ」フィールドに、検索する値を入力します。

      2. 実行」をクリックして、検索します。

      3. 「結果」領域で、編集するスケジュールを探します。

      4. 編集するスケジュールを選択して「編集」をクリックします。

      5. 「スケジュールの編集」ページで、スケジュールの詳細を編集します。

      6. 「OK」をクリックします。

4.2.4 ジョブ・リクエストの詳細の表示

ジョブ・リクエストの検索結果でジョブ・リクエストIDまたはリクエストの親IDをクリックすると、各ジョブ・リクエストに関する詳細情報を表示できます。ジョブがエラー状態にある場合、発生したエラーに関する詳細が情報ボックスに表示されます。ジョブ・リクエストの検索の詳細は、第4.2.2項を参照してください。

個別のジョブ・リクエストに関して次のアクションを実行できます:

  • ジョブ・リクエストのログ情報を表示します。

  • ジョブ・セットおよびすべての子ジョブ・リクエストを表示します。

  • 特定のジョブ・リクエストと同様のパラメータを指定して、ジョブまたはジョブ・セット・リクエストを発行します。

  • 不完全なジョブ・リクエストを復元します。

ジョブ・リクエストの詳細を表示するには:

  1. 第4.2.2.1項の説明のとおり、対象のジョブ・リクエストを検索します。

  2. ジョブ・リクエストの検索結果が表示された表内で、詳細を表示するジョブ・リクエストを選択します。

  3. ジョブ・リクエストの詳細を表示するには、ジョブ・リクエストIDをクリックします。または、ジョブ・リクエストに関連する親IDをクリックして、ジョブが関連するジョブ・セットの詳細を表示します。

    「ジョブ・リクエストの詳細」ページでは、次の操作を実行できます。

    • リクエスト・ログ: 「アクション」→「リクエスト・ログ」を選択し、ジョブ・リクエストのログ情報を表示します。

    • 「SOAコンポジット・フロー・トレース」: 「アクション」→「SOAコンポジット・フロー・トレース」を選択して、コンポジットおよびコンポーネント・インスタンス内のメッセージ・フローのユーザー・インタフェースを表示します。SOAコンポジットからリクエストの状態が更新されていない場合は、このコマンドを使用します。リクエストのフローのトレースでは、コンポジット内のアクティビティに関連する情報が提供されます。

      このアクションは、非同期Javaジョブで使用できます。ジョブがSOAコンポジットWebサービスの起動ではない場合、フローのトレースのユーザー・インタフェースには「トレースが見つかりません」というメッセージが表示されます。

    • リクエスト・ツリー: 「アクション」→「リクエスト・ツリー」を選択し、親のジョブ・セットを関連するすべての子ジョブとともに表示します。

    • 取消: 「アクション」→「取消」を選択し、ジョブ・リクエストを取り消します。

    • 保持: 「アクション」→「保持」を選択し、ジョブ・リクエストを一時停止します。

    • 再開: 「アクション」→「再開」を選択し、一時停止していたジョブ・リクエストを再開します。

    • スタック・リクエストのリカバリ: 「アクション」→「スタック・リクエストのリカバリ」を選択し、続行できない不完全なジョブ・リクエストをリカバリします。

    • 優先度の変更: 「アクション」→「優先度の変更」を選択して、ジョブ・リクエストの優先度を引き上げまたは引き下げます。優先度の高いジョブ・リクエストは、優先度の低いジョブ・リクエストよりも先にディスパッチされます。

    • スケジュールの変更: 「アクション」→「スケジュールの変更」を選択し、ジョブ・リクエストに別のスケジュールを割り当てます。

    • 次のように送信: 「アクション」→「次のように送信」を選択し、これと同じパラメータでジョブまたはジョブ・セットを送信します。

4.2.5 Oracle Enterprise Schedulerジョブ・リクエストの保留と再開

送信したジョブ・リクエストを保留または再開できます。

ジョブ・リクエストを保留して再開するには:

  1. ジョブ・リクエストを検索します。詳細は、第4.2.2.1項を参照してください。

  2. ジョブ・リクエスト検索結果の表内で、保留するジョブ・リクエストを選択します。

  3. 「保持」ボタンをクリックします。

  4. 一時停止したジョブ・リクエストを再開するには、ジョブ・リクエストを選択して「再開」をクリックします。

4.2.6 Oracle Enterprise Schedulerジョブ・リクエストの取消し

送信済の実行可能ジョブ・リクエストを取り消すことができます。実行可能ジョブ・リクエストには、スケジュールなしで送信されたジョブ・セットとジョブ・リクエストが含まれます。ジョブ・リクエストは実行以外の状態であれば取り消すことができます。

ジョブ・リクエストの取消し操作を実行したとき、取消しの状態がどのようになるかはジョブ・リクエストの現在の状態によって決まります。実行中でないジョブ・リクエストはすぐにCANCELLED状態に設定されます。RUNNINGPAUSEDまたはCOMPLETED状態のジョブ・リクエストは、リクエストの取消し操作の実行後、CANCELLING状態になります。

リクエストの状態が最終的にどのようになるかは、取消し操作を実行したときのジョブ・リクエストの処理ステージによって決まります。

表4-1は、取消し操作を実行したときの状態に応じて、各実行可能リクエストにどのような取消し状態が適用されるかを示しています。

表4-1 実行可能リクエストと取消し状態

取消し操作実行時のジョブの状態 新しい取消し状態

WAIT

CANCELLED

READY

CANCELLED

HOLD

CANCELLED

BLOCKED

CANCELLED

PENDING_VALIDATION

CANCELLED

ERROR_AUTO_RETRY

CANCELLED

PAUSED

CANCELLING

RUNNING

CANCELLING

COMPLETED

CANCELLING

すべての終了状態

状態変更なし

CANCELLING

状態変更なし

ERROR_MANUAL_RECOVERY

状態変更なし


実行可能リクエストは、プリプロセッサ、実行、ポストプロセッサという3つの主要ステージで処理されます。これらのステージにあるリクエストはすべて取り消すことができます。これらの3つのステージを完了できなかったジョブ・リクエストは、CANCELLEDになります。

この項には次のトピックが含まれます:

4.2.6.1 前処理ハンドラ実行中の取消し操作

プリプロセッサ・ステージ中に取消し操作を実行した場合、ジョブ・リクエストに設定される新しい状態は、プリプロセッサから返されるステータスによって異なります。

表4-2に、取消し操作実行後のジョブの状態を示します。

表4-2 プリプロセッサの状態と取消し操作実行後の状態

プリプロセッサから返された状態 取消し操作実行後の状態

PROCEED

CANCELLED

DELAY

CANCELLED

WARN

CANCELLED

SYSTEM_ERROR

ERROR

BIZ_ERROR

ERROR


4.2.6.2 同期Javaジョブ実行中の取消し操作

ジョブ実行ステージ中に取消し操作を実行した場合、ジョブ・リクエストに設定される新しい状態は、ジョブがどのように完了したかによって異なります。

表4-3に、取消し操作実行後のジョブの状態を示します。

表4-3 返された同期Javaジョブの状態と取消し操作実行後の状態

ジョブから返された状態 取消し操作実行後の状態

通常の戻り値(成功)

CANCELLED

ExecutionWarningException

CANCELLED

ExecutionPausedException

CANCELLED

ExecutionBizErrorException

ERROR

ExecutionErrorException

ERROR


4.2.6.3 非同期Javaジョブ実行中の取消し操作

ジョブ実行ステージ中に取消し操作を実行した場合、ジョブ・リクエストに設定される新しい状態は、ジョブがどのように完了したかによって異なります。

表4-4に、取消し操作実行後のジョブの状態を示します。

表4-4 返された非同期Javaジョブの状態と取消し操作実行後の状態

ジョブから返された状態 取消し操作実行後の状態

SUCCESS

CANCELLED

PAUSE

CANCELLED

WARNING

CANCELLED

ERROR

ERROR

CANCEL

CANCELLED

UPDATE

状態変更なし。更新を待機します。

BIZ_ERROR

ERROR

ERROR_MANUAL_RECOVERY

ERROR_MANUAL_RECOVERY


4.2.6.4 PL/SQLジョブ実行中の取消し操作

実行可能ジョブが実行中である場合、Oracle Enterprise Schedulerは実行中のRDBMSスケジューラ・ジョブの強制終了を試みます。ジョブが正常に強制終了された場合、リクエストはCANCELLED状態になります。強制終了が実行される前にRDBMSスケジューラ・ジョブが終了した場合、ジョブ・リクエストに新しく設定される状態は、ジョブの実行結果によって異なります。

表4-5に、取消し操作実行後のジョブの状態を示します。

表4-5 返されたPL/SQLジョブの状態と取消し操作実行後の状態

ジョブから返された状態 取消し操作実行後の状態

SUCCESS

CANCELLED

WARNING

CANCELLED

PAUSE

CANCELLED

BIZ_ERROR

ERROR

SYSTEM_ERROR

ERROR


4.2.6.5 生成されたジョブの実行中の取消し操作

生成されたジョブが実行中である場合、Oracle Enterprise Schedulerは実行中のプロセスの強制終了を試みます。プロセスが正常に強制終了された場合、リクエストはCANCELLED状態になります。強制終了が実行される前にプロセスが終了した場合、リクエストに新しく設定される状態は、プロセスの実行結果によって異なります。

表4-6に、取消し操作実行後のジョブの状態を示します。

表4-6 返された生成されたジョブの状態と取消し操作実行後の状態

ジョブから返された状態 取消し後の状態

SUCCESS

CANCELLED

WARNING

CANCELLED

PAUSE

CANCELLED

BIZ_ERROR

CANCELLED

SYSTEM_ERROR

CANCELLED


4.2.6.6 親ジョブ・リクエストの取消し

実行可能でない親ジョブ・リクエストを取り消すには、その状態がWAITである必要があります。その後、状態はCANCELLINGに進みます。取消し操作は対象のすべての子ジョブ・リクエストに伝播されます。たとえば、ジョブ・セットが取り消されるとジョブ・セット・ステップが取り消され、親リクエストが取り消されるとサブ・リクエストが取り消され、再帰の親が取り消されると再帰の実行可能ジョブ・リクエストが取り消されます。子ジョブ・リクエストが実行可能な場合、前述の項で説明したルールが適用されます。すべての子リクエストが完了したときに、親リクエストがCANCELLEDの状態になります。

4.2.6.7 子ジョブ・リクエストの取消し

子ジョブ・リクエストは実行可能ジョブ・リクエストまたは親ジョブ・リクエストである場合があります。CANCELLEDまたはその他の終了状態で終了するサブリクエストを取り消しているとき、その親ジョブ・リクエストは取り消されていないかぎり通常どおり再開されます。サブリクエストの状態は親リクエストの状態に影響しません。

ジョブ・セット内のステップを取り消したとき、ジョブ・セットの状態がCANCELLED状態になるのは、ジョブ・セット・ステップがCANCELLED状態になったときです。ただし、別のジョブ・セット・ステップの結果がエラーの場合は、ジョブ・セットの状態がCANCELLEDに戻らないことがあります。

ジョブ・リクエストを取り消すには:

  1. ジョブ・リクエストを検索します。

  2. ジョブ・リクエスト検索結果の表内で、取り消すジョブ・リクエストを選択します。

  3. 「取消」ボタンをクリックします。

4.3 パージ・ポリシーの管理

パージ・ポリシーを使用すると、指定した基準に基づいて、スケジュール済ジョブをスケジューリング・サービスで削除できます。たとえば、特定のジョブ定義を使用して送信され、特定のアプリケーションによって実行されたすべてのJavaタイプのジョブ・リクエストを3日間保存することをパージ・ポリシーで指定できます。また、特定のタイプ(たとえば、すべてのSQLジョブ・リクエスト)の成功状態のジョブ・リクエストを1日のみ保存するパージ・ポリシーも考えられます。パージ・ポリシーの実行頻度も指定できます。

この項には次のトピックが含まれます:

4.3.1 新規パージ・ポリシーの設定

パージ・ポリシーは、どのジョブ・リクエストをパージし、どのジョブ・リクエストを保存するかを決定します。パージ・ポリシーの定義には次の作業が含まれます。

  • パージするジョブの選択: 選択基準には、関連付けられているアプリケーションまたは製品、特定のジョブ定義またはジョブ・タイプ、ジョブ送信者、最大リクエスト数などがあります。

  • 保存基準の指定: ジョブ・リクエストの保存期間をステータスに基づいて決定します。

  • パージ頻度の指定: パージ・ポリシーの実行頻度を指定します。


注意:

パージ・ポリシーの実行後、パージしたジョブ・リクエストをデータベースから物理的に削除する必要があります。詳細は、第4.3.2項を参照してください。


新規パージ・ポリシーを設定するには:

  1. ナビゲーション・ペインで、「スケジューリング・サービス」フォルダを展開し、Oracle Enterprise Schedulerアプリケーションを選択します。

  2. 「スケジューリング・サービス」メニューから、パージ・ポリシーを選択します。

  3. 新規ポリシーを構成するには、「新規の設定」をクリックします。

    「パージ・ポリシーの設定」ページで、パージ・ポリシーを構成します。

  4. 「説明」テキスト・フィールドに、パージ・ポリシーの説明を入力します。

  5. 「パージのリクエスト基準」セクションで、パージするジョブ・リクエストの特性を構成します。

    • アプリケーション: ドロップダウン・リストから、パージ・ポリシーを作成するアプリケーションを選択します。

    • 製品: 製品名を入力します。

    • ジョブ定義: 「ジョブ定義」テキスト・フィールドの横にある参照ボタンをクリックします。

      「ジョブ定義の選択」ウィンドウの「名前」テキスト・フィールドに、ジョブ定義の名前を入力します。

      「実行」をクリックして検索し、表示されたものの中から対象のジョブ定義を選択します。「OK」をクリックします。

    • 実行タイプ: ドロップダウン・リストから適切なジョブ・タイプを選択します(「すべて」、「Javaタイプ」、「SQLタイプ」、「プロセス・タイプ」)。

    • 送信者: ジョブ送信者の名前を入力します。

  6. 「パージの保存基準」セクションで、保存するジョブ・リクエストの特性を構成します。

    • デフォルト保存期間(日数): リクエストを保存するデフォルト期間(日数)を入力します。

    • 保存期間 - 成功(日数): 成功したジョブ・リクエストを保存する期間(日数)を入力します。

    • 保存期間 - エラー(日数): エラーが発生したジョブ・リクエストを保存する期間(日数)を入力します。

    • 保存期間 - 警告(日数): 警告状態で終了したジョブ・リクエストを保存する期間(日数)を入力します。

    • 保存期間 - 取消済(日数): 取消し済ジョブ・リクエストを保存する期間(日数)を入力します。

  7. 「スケジュール」セクションで、ジョブ・リクエスト・パージ・ポリシーのスケジュールを設定します。

    • パージ・ポリシーを1回だけ実行する場合は、「1回」を選択します。カレンダ・アイコンをクリックして、パージ・ポリシーを実行する日時を選択します。

    • パージ・ポリシーのスケジュールを設定するには、「既存のスケジュールの使用」を選択します。参照ボタンをクリックして、スケジュールを検索します。

      「スケジュールの選択」ウィンドウで、スケジュールを選択して「OK」をクリックします。

  8. 「拡張」セクションの「最大処理対象リクエスト数」テキスト・フィールドに、処理する最大ジョブ・リクエスト数を入力します。

  9. 「OK」をクリックし、パージ・ポリシーを保存します。

4.3.2 ジョブ・リクエストのデータベースからの物理的なパージ

ジョブ・リクエスト・データは、Oracle Enterprise Schedulerランタイム・ストアのランタイム・ストア表にレコードとして保存されます。これらのジョブ・リクエスト・レコードは、データベース管理者がSQLパージ・スクリプトを使用してデータベースから物理的にパージするまで、ランタイム・ストアに保持されます。ジョブ・リクエストを物理的にパージする前に、論理的に削除する必要があります。

Oracle Enterprise Schedulerスキーマでesspurge.purge_requestsメソッドを使用して、削除されたジョブ・リクエストをデータベースからパージします。Oracle Fusion Applications環境で、このスキーマは通常FUSION_ORA_ESSと呼ばれています。

ESSPURGEパッケージには、完了したジョブ・リクエストをパージできるストアド・プロシージャが含まれています。通常、このパッケージはOracle Enterprise Schedulerスキーマが作成または更新されたときにロードされます。ストアド・プロシージャを例4-1に示します。

例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 );

esspurge.purge_requestsの基本的な構文を例4-2に示します。FUSION_ORA_ESSはOracle Enterprise Schedulerスキーマの名前で、passwordはパスワードです。

例4-2 データベースからのジョブ・リクエストのパージ

sqlplus FUSION_ORA_ESS/password
set serveroutput on size unlimited
set timing on
execute esspurge.purge_requests(systimestamp, 1000000);

さらに別の例を示します。

  • 現在時間より前に完了したジョブ・リクエストを最大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.3.3 パージ・ポリシーの表示

スケジューリング・サービスに定義されているすべてのパージ・ポリシーを表示できます。

スケジューリング・サービスのパージ・ポリシーを表示するには:

  1. ナビゲーション・ペインで、「スケジューリング・サービス」フォルダを展開し、Oracle Enterprise Schedulerアプリケーションを選択します。

  2. 「スケジューリング・サービス」メニューから、パージ・ポリシーを選択します。

4.3.4 パージ・ポリシーの更新

既存のパージ・ポリシーのリクエストまたは保存基準と、パージ・ポリシーのスケジュールを編集できます。

パージ・ポリシーを更新するには:

  1. ナビゲーション・ペインで、「スケジューリング・サービス」フォルダを展開し、Oracle Enterprise Schedulerアプリケーションを選択します。

  2. 「スケジューリング・サービス」メニューから、パージ・ポリシーを選択します。

  3. 「パージ・ポリシー」表で、更新するポリシーを選択し、「更新」をクリックします。

  4. パージ・ポリシーを編集し、「OK」をクリックします。

4.3.5 パージ・ポリシーの削除

特定のパージ・ポリシーを削除できます。

パージ・ポリシーを削除するには:

  1. ナビゲーション・ペインで、「スケジューリング・サービス」フォルダを展開し、Oracle Enterprise Schedulerアプリケーションを選択します。

  2. 「スケジューリング・サービス」メニューから、パージ・ポリシーを選択します。

  3. 「パージ・ポリシー」表で、削除するポリシーを選択し、「削除」をクリックします。

4.4 ジョブ・リクエストのためのシンプル・データ・セキュリティの構成

Oracle Simple Data Securityによって特定のデータ・レコードへのアクセスや変更に対するセキュリティ認可が強制されます。Oracle Simple Data Securityは、OPSSプリンシパルにアクションを付与することによってOracle Platform Security Services (OPSS)に統合されます。権限は、特定のリソースに対してだれ(プリンシパル)が何(アクション)を実行できるのかを定義します。Oracle Simple Data Securityの権限では、エンタープライズ・ユーザーまたはエンタープライズ・グループをプリンシパルとして使用できます。

Oracle Enterprise Schedulerのコンテキストでジョブ・リクエスト・アクセス制御セキュリティ・ポリシーは、権限、権限受領者、および次のようなジョブ・リクエスト・セットに対するoracle.as.scheduler.security.RuntimeDataPermission権限のセットで構成されます。

Oracle Enterprise Managerを使用して、ジョブ・リクエスト・アクセス制御データ・セキュリティ・ポリシーを管理できます。

デフォルトの動作は次のとおりです。

4.4.1 Oracle Simple Data Securityのアクション

Enterprise Managerを使用して、Oracle Enterprise Schedulerの機能およびデータのセキュリティ・ポリシーを作成できます。ここで、アクセスとロールを関連付けてポリシーを作成できます。

表4-7に、使用可能なシンプル・データ・セキュリティのアクションを示します。

表4-7 データ・セキュリティのためのアクションの付与

アクション 効果

ESS_REQUEST_READ

リクエストの読取り、およびリクエスト状態と詳細の取得を行います。

ESS_REQUEST_UPDATE

リクエストを更新します。

ESS_REQUEST_HOLD

リクエスト実行を保留します。

ESS_REQUEST_CANCEL

リクエスト実行を取り消します。

ESS_REQUEST_LOCK

リクエストをロックします。

ESS_REQUEST_RELEASE

リクエストのロックを解除します。

ESS_REQUEST_DELETE

リクエストを削除します。

ESS_REQUEST_PURGE

リクエストをパージします。

ESS_REQUEST_OUTPUT_READ

リクエストの出力を表示します。

ESS_REQUEST_OUTPUT_DELETE

リクエストの出力を削除します。

ESS_REQUEST_OUTPUT_UPDATE

リクエストの出力を更新します。


4.4.2Oracle Enterprise Schedulerコンポーネントのためのデータ・セキュリティ・ポリシーの作成方法

Enterprise Managerを使用して、Oracle Enterprise Schedulerの機能およびデータのセキュリティ・ポリシーを作成できます。

  1. ナビゲーション・ペインで、「WebLogicドメイン」フォルダを展開し、ポリシーを作成するドメインを選択します。

  2. 「WebLogicドメイン」メニューから、「セキュリティ」→「アプリケーション・ポリシー」を選択します。

    「アプリケーション・ポリシー」ページが表示されます。

  3. 「検索」セクションの「アプリケーション・ストライプ」ドロップダウンから、作業するアプリケーション・ストライプを選択します。

  4. 「作成」をクリックして、ユーザー、グループまたはアプリケーション・ロールへの権限の付与を開始します。

    「アプリケーション権限の作成」ページが表示されます。

  5. 「アプリケーション権限の作成」ページの「権限受領者」セクションで、「追加」をクリックします。

  6. 「プリンシパルの追加」ウィンドウの「タイプ」ドロップダウンでプリンシパルのタイプを選択し、プリンシパル名または表示名を入力し、検索ボタンをクリックして追加するプリンシパルを検索します。

  7. プリンシパルの検索の下で、使用するプリンシパルをクリックし、「OK」をクリックします。

  8. 「権限」セクションで「追加」をクリックします。

  9. 「検索」セクションで「権限」をクリックします。

  10. 「権限クラス」ドロップダウンでoracle.as.scheduler.security.RuntimeDataPermissionを選択します。

  11. 「検索」ボタンをクリックします。

  12. 「検索結果」で、Scope=APPLICATIONを選択し、「続行」をクリックします。

  13. 「権限の追加」ダイアログの「権限アクション」フィールドで、カンマ区切りの権限リストを、付与する権限のリストになるように編集します。

  14. 「OK」をクリックします。