ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Enterprise Schedulerの管理
12c (12.2.1)
E72705-01
  目次へ移動
目次

前
次
 

5 Oracle Enterprise Schedulerジョブの作業の管理

この章では、メタデータを追加してOracle Enterprise Schedulerジョブのロジックを調整する方法について説明します。作業詳細の追加、ジョブを有意義なセットにまとめるためのグループ化、作業の実行日時を指定するスケジュールの割当て、ジョブを同時に実行しないことを定める例外の作成などについて説明します。

この章の内容は次のとおりです。

5.1 Oracle Enterprise Schedulerジョブの作業の管理の概要

メタデータをジョブ・タイプに関連付け、作業にスケジュールを割り当てることで、有意義な作業を定義できます。Oracle Enterprise Schedulerジョブの作業の管理では、次のことが可能です。

  • リクエスト・インスタンス固有のデータを自身またはシステムのプロパティを介して関連付け、そのジョブが実行されるコンテキストにジョブを結び付けます。

  • ジョブによって実行される作業に関連するデータへのアクセス権を、ユーザーのグループにどのレベルで許可するかを決定します。

  • ジョブをジョブ・セットに編成し、1つの単位としてジョブを順にまたは並列に実行できるようにします。

  • 特定のジョブ定義を同時に実行できないことの指定、およびそれらを実行できない状況を指定します。

  • システム・リソースなどの要因に基づいて、ジョブの実行可否を決定する制約を定義します。

5.2 ジョブ・メタデータの管理

Oracle Enterprise Schedulerジョブのメタデータは、スケジュール済ジョブ・リクエストを構成するコンポーネントです。

次のようなものがあります:

  • ジョブ定義: ジョブ定義は、ジョブを実行するアプリケーションのコンテキストで実行される、最小単位の作業です。ジョブ定義は、JavaまたはSQLジョブ・タイプなどのジョブ・タイプによって定義されます。

  • ジョブ・セット: ジョブ・セットは、ジョブ・ステップの順次的または並行的なセットです。ジョブ・ステップは、それ自体が単体のジョブである場合と、さらに別のジョブ・セットである場合があります。ジョブ・セットとそのジョブ・セット・ステップのそれぞれにパラメータを追加できます。このパラメータの値は、ジョブまたはジョブ・セットがジョブ・リクエストとして送信されたときに指定されます。

  • 非互換性: 同時に実行できないジョブ定義またはジョブ・セットを指定できます。

注意:

メタデータの検索にOracle Enterprise Manager Fusion Middleware ControlまたはWLSTのコマンドを使用する場合は、表示名ではなく、必ず、ジョブ定義、ジョブ・セットまたは非互換性の実際の名前を検索してください。表示名は、検索では見つかりません。

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

5.2.1 ジョブ定義の管理

Fusion Middleware Controlの「ジョブ定義」ページでは、ジョブ定義の表示、作成、編集、削除および検索を実行できます。

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

注意:

Webサービス・ジョブのジョブ定義を作成するためのOracle JDeveloperおよびOracle Enterprise Manager Fusion Middleware Controlの使用方法の詳細は、『Oracle Fusion Middleware Oracle Enterprise Scheduler開発者ガイド』のOracle Enterprise Manager Fusion Middleware ControlまたはOracle JDeveloperを使用したジョブ定義の作成に関する項を参照してください。

5.2.1.1 ジョブ定義の表示

特定のアプリケーション用に作成されたジョブ定義を表示できます。ジョブ定義の表には、ジョブ定義名、ジョブ定義の保存先の完全パス、ジョブ・タイプなど、アプリケーションに関連するジョブの詳細が表示されます。

ジョブ定義を定義するには:

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

    「ジョブ定義」ページが表示されます。

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

    注意:

    アプリケーション名がカッコ内のバージョン番号とともに表示されます。バージョン番号は、実際には、アプリケーションの名前の一部ではありません。

  4. 「名前」および「パッケージ」フィールドに、検索する値を入力します。
  5. 実行」をクリックして、検索します。

    アプリケーションのジョブ定義が、アプリケーションのドロップダウン・リストの下の表に表示されます。


    列名 説明

    名前

    この列にはジョブ定義の名前が表示されます。

    表示名

    この列には、この定義用にユーザーに表示される値が表示されます。この値には空白を含めることができます。ユーザー・インタフェースでこの定義を表示または検索するユーザーにとって覚えやすい名前にしてください。

    パッケージ

    この列にはジョブ定義に関連付けられているJavaパッケージの名前が表示されます。

    ジョブ・タイプ

    この列には、アプリケーションに関連付けられているジョブ・タイプが表示されます。

    説明

    この列にはジョブ定義の説明が表示されます。


  6. 特定のジョブ定義の詳細を表示するには、該当するジョブ定義の名前をクリックします。

5.2.1.2 ジョブ定義の作成または編集

ジョブ定義を作成または編集することができます。作成したジョブ定義を使用して、特定のアプリケーションに対するジョブ・リクエストを作成できます。ジョブ定義には、実行するジョブのディレクトリ・パス、ジョブ定義を関連付けるアプリケーションの名前、ジョブ定義に使用するジョブ・タイプが含まれています。そのジョブがWebサービス・タイプの1つである場合、WSDL URLも指定できます。

ジョブ定義に次のような追加プロパティを定義できます。

  • パラメータ。編集可能または読取り専用のパラメータを構成し、ジョブ・リクエストに送信できます。

  • ユーザー・プロパティ。ブール値、数値、文字列など、エンド・ユーザーが実行時に入力するプロパティを構成できます。

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

ジョブ定義を作成または編集するには:

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

    「ジョブ定義」ページが表示されます。

  3. 「アプリケーション」ドロップダウン・リストで、ジョブ定義を作成するアプリケーション名を選択します。
  4. 「作成」をクリックして新規のジョブ定義を作成するか、または「編集」をクリックして既存のジョブ定義を変更します。
  5. ジョブ定義で、次のプロパティを構成します。
    • 名前(必須): この定義を一意に識別する名前を入力します。この値には空白を含めることはできません。

    • 表示名: この定義のユーザーに表示される値を入力します。この値には空白を含めることができます。ユーザー・インタフェースでこの定義を表示または検索するユーザーにとって覚えやすい名前にしてください。

      このプロパティは、異なるロケールに対応するために国際化をサポートしています。

    • パッケージ: 実行するジョブのパッケージを入力します。

    • 説明: ジョブの説明を入力します。

      このプロパティは、異なるロケールに対応するために国際化をサポートしています。

    • ジョブ・タイプ(必須): ドロップダウン・リストから、このジョブ定義で使用するジョブ・タイプを選択します。既存のジョブ定義を編集して、既存の値をオーバーライドするには、オーバーライドチェック・ボックスを選択します。

      選択したジョブ・タイプによって、「ジョブ・タイプ」の下に次のどのフィールドが表示されるかが決定されます。この定義のジョブ・タイプで値が読取り専用に指定されている場合、フィールドの値は編集できません。

      • クラス名(JavaJobType、SyncEjbJobType、AsyncEjbJobType用)

        ジョブ定義のジョブ・タイプに関連付けるクラス名。このフィールドを編集できる場合は、オーバーライドを選択し、クラスのパスおよび名前を入力するか、または「参照」をクリックしてJavaのクラスのパス名を指定します。

      • プロシージャ名(PlsqlJobTypeの場合)

        このジョブ定義のジョブ・タイプに関連付けるPL/SQLプロパティのプロシージャ名。このフィールドを編集できる場合は、「オーバーライド」を選択し、このジョブ定義で使用するプロシージャ名を入力します。「参照」ボタンをクリックして、すでに定義されているデータベース接続を使用してストアド・プロシージャを参照することもできます。

      • プロセス名(ProcessJobType)

        ジョブ・タイプに関連付けるコマンドの文字列。このフィールドを編集できる場合は、「オーバーライド」を選択し、このジョブ定義で使用するコマンドを入力します。

      • 「Webサービスの選択」ボタン(SyncWebserviceJobType、AsyncWebserviceJobType、OnewayWebserviceJobType用)

        「Webサービスの選択」ボタンは、「Webサービスの選択」ダイアログを表示します。このダイアログは、WSDLファイルの指定に使用します。有効なWSDLを選択した後にWSDLのタイプを選択し、サービス、ポートおよび操作を選択します。

        注意:

        既存のWebサービスのジョブ定義を編集している場合は、ボタンの名前が「Webサービスの変更」となり、これを使用してWSDLの仕様を変更できます。

  6. オプションで、アプリケーション定義のプロパティ、システム・プロパティおよびアクセス制御を構成します。詳細は、「アプリケーション定義のプロパティの構成」「システム・プロパティの構成」および「アクセス制御の構成」を参照してください。

    セキュアWebサービス・ジョブ・タイプのジョブ定義を作成する場合は、呼出しおよびコールバック用のセキュリティ・ポリシーを選択する必要があります。詳細は、「アクセス制御の構成」を参照してください。

  7. 「OK」をクリックします。
5.2.1.2.1 アプリケーション定義のプロパティの構成

ジョブ・リクエストにデータを渡すにはパラメータを使用します。ジョブ送信のユーザー・インタフェースでは、テキスト・ボックス、日付ピッカー、選択リスト、値のリストなど、様々な表示コントロールを使用して、パラメータを渡すことができます。

ジョブ定義のパラメータを構成するには:

  1. 「ジョブ定義の作成」ページで、アプリケーション定義のプロパティ・セクションを開きます。
  2. 「追加」ボタンをクリックします。

    アプリケーション定義のプロパティの追加ダイアログ・ボックスが表示されます。

  3. アプリケーション定義のプロパティの追加ダイアログで、次の情報を入力します。
    • タイプ: ドロップダウン・リストから、パラメータのデータ・タイプ(String、Long、Integer、DateTimeまたはBoolean)を選択します。これは必須です。

    • 名前: パラメータの名前を入力します。

    • 初期値: ユーザーによって値が変更される前のこのパラメータの値を入力します。

    • 読取り専用: このパラメータをユーザーに対して読取り専用にするには、このチェック・ボックスを選択します。

  4. 「OK」をクリックします。
5.2.1.2.2 システム・プロパティの構成

システム・プロパティは、システムが認識できるパラメータで、システムによって使用されます。特定のシステム・プロパティをメタデータで使用することを指定できます。

注意:

システム・プロパティの値を変更する場合は、変更後の値が正しいことを確認してください。間違ったシステム・プロパティの値により、ジョブ定義が予期したとおりに機能しないことがあります。

ジョブ定義のシステム・プロパティを構成するには:

  1. 「ジョブ定義の作成」ページで、「システム・プロパティ」セクションを展開します。

  2. 「追加」ボタンをクリックします。

    「システム・プロパティの追加」ダイアログ・ボックスが表示されます。

  3. 「名前」ドロップダウン・リストから、指定するシステム・プロパティを選択します。表5-1に、指定できるシステム・プロパティを示します。

  4. 「初期値」テキスト・フィールドに、システム・プロパティに割り当てる値を入力します。

  5. このプロパティをユーザーに対して読取り専用にするには、「読取り専用」チェック・ボックスを選択します。

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


表5-1 システム・プロパティ

システム・プロパティ 説明

SYS_EXT_cmdLine.Unix

プロセス・ジョブ・タイプ用です。UNIXのコマンドライン・コマンドを表す文字列を指定します。

SYS_cmdLineプロパティが定義されている場合、このプロパティは無視されます。

SYS_EXT_cmdLine.Windows

プロセス・ジョブ・タイプ用です。Windowsのコマンドライン・コマンドを表す文字列を指定します。

SYS_cmdLineプロパティが定義されている場合、このプロパティは無視されます。

SYS_EXT_ejbOperationName

[EJB_OPERATION_NAME]

EJBジョブではオプションです。適切なビジネス・メソッドに分岐するEJBの実装で使用されるパス・スルー・パラメータを指定します。

例: manageFileAdapter

SYS_EXT_executableDir.Unix

プロセス・ジョブ用です。プロセス実行可能ファイルがあるUNIX上のディレクトリを指定します。

SYS_EXT_executableDir.Windows

プロセス・ジョブ用です。プロセス実行可能ファイルがあるWindows上のディレクトリを指定します。

SYS_EXT_executableName

プロセス・ジョブ用です。プロセス実行可能ファイルの名前を指定します。

SYS_EXT_executableSuffix.Unix

Unix上のSYS_EXT_executableNameの接尾辞を指定します。デフォルトは".sh"です。

SYS_EXT_executableSuffix.Windows

Windows上のSYS_EXT_executableNameの接尾辞を指定します。デフォルトは".cmd"です。

SYS_EXT_executeAutoExport

プロセス・ジョブおよびJavaジョブ・タイプ用です。実行ステージの開始時に、以前にインポートされた出力ファイルを、リクエストの出力ディレクトリに自動的にエクスポートするようOracle Enterprise Schedulerに要求するための値を指定します。このプロパティを使用する場合は、リクエストのSYS_EXT_supportOutputFilesプロパティが"output"、SYS_EXT_executeAutoExportプロパティが"true"に設定されていることが前提です。

RequestFileDirectoryがローカル・ディレクトリにあり、実行ステージで、プリプロセッサまたは前の実行中に作成された出力ファイルにアクセスする必要がある場合(再試行時)に便利です。

SYS_EXT_fusionJob

現在のジョブがFusion Applications CPジョブ・タイプであることを示すには、これを"true"に設定します。

SYS_EXT_invokeMessage

Webサービスの呼出しに使用されるXMLの発行メッセージ

SYS_EXT_essAsyncRequestJndiMappedName

[ESS_ASYNC_REQUEST_JNDI_MAPPED_NAME]

EJBジョブでは、ホスティング・アプリケーションで定義され、Oracle Enterprise SchedulerサーバーのJNDIツリーにバインドされている、Oracle Enterprise SchedulerのAsyncRequest BeanのJNDIマップ済の名前を指定します。

このプロパティは、次の場合にのみ必須です。

  • EJB呼出しが非同期

  • EssNativeHostingApp以外のホスティング・アプリケーションを使用する

  • リモートBeanがOracle Enterprise SchedulerのBeanにコールバックする必要がある(たとえば、非同期コールバック)

SYS_EXT_essJndiCsfKey

[ESS_JNDI_CSF_KEY_NAME]

EJBジョブではオプションです。認証済Oracle Enterprise SchedulerサーバーのCSFキーの別名を指定します。このプロパティは、Oracle Enterprise SchedulerのJNDIツリーが認証済の場合にのみ必須です。

例: ess-jndi-csf-key

SYS_EXT_essMetadataJndiMappedName

[ESS_METADATA_JNDI_MAPPED_NAME]

EJBジョブでは、ホスティング・アプリケーションで定義され、Oracle Enterprise SchedulerサーバーのJNDIツリーにバインドされている、Oracle Enterprise SchedulerのMetadataService BeanのJNDIマップ済の名前を指定します。

このプロパティは、EssNativeHostingApp以外のホスティング・アプリケーションを使用し、そのリモートBeanがOracle Enterprise SchedulerのメタデータBeanへのアクセスを必要とする場合にのみ必須です。

SYS_EXT_essRuntimeJndiMappedName

[ESS_RUNTIME_JNDI_MAPPED_NAME]

EJBジョブでは、ホスティング・アプリケーションで定義され、Oracle Enterprise SchedulerサーバーのJNDIツリーにバインドされている、Oracle Enterprise SchedulerのRuntimeService BeanのJNDIマップ済の名前を指定します。

このプロパティは、EssNativeHostingApp以外のホスティング・アプリケーションを使用し、そのリモートBeanがOracle Enterprise SchedulerのランタイムBeanの呼出し(たとえば、出力の書込みまたは情報の記録、リクエストの発行またはリクエストの操作)を必要とする場合にのみ必須です。

SYS_EXT_jndiCSFKey

[JNDI_CSF_KEY]

EJBジョブで、EJBサーバーのJNDIツリーが保護されている場合にのみ必須です。キーストア内のユーザー名とパスワードにマップされ、CSFの別名を指します。この特定のユーザー名/パスワードのペアは、JndiMappedNameルックアップのための、保護されたJNDIへのアクセスに必要な資格証明です。

このプロパティは、RequestParametersオブジェクトのいずれか、またはホスティング・アプリケーションのOracle Enterprise Scheduler構成に追加できます。

SYS_EXT_jndiProviderUrl

[JNDI_PROVIDER_URL]

EJBジョブではオプションです。リモート・サーバーのURLを指定します。EJBがリモートに配置されている場合にのみ必須です。

SYS_EXT_jndiMappedName

[JNDI_MAPPED_NAME]

EJBジョブでは必須です。リモートEJB実装のJNDIルックアップ名を指定します。

例: ejb/fileAdapter

SYS_EXT_processArguments

プロセス・ジョブ用です。引数を指定します。

SYS_EXT_requestLogLevel

JavaおよびPL/SQLリクエストのログ出力のログ・レベルを指定します。デフォルトは"INFO"です。

SYS_EXT_resolvedCmdLine

プロセス・ジョブ・タイプ用です。このプロパティは、ジョブが正常に開始した後にOracle Enterprise Schedulerで実際のコマンドラインを保存する場所を提供します(置換が実行されます)。このプロパティは診断用にのみ使用されます。Oracle Enterprise Schedulerでのみ使用され、その他の値がこのサービスによって上書きされることがあります。

SYS_EXT_supportOutputFiles

ジョブがファイル・システムにファイルを作成するかどうかを示す文字列を指定します。サポートされている値は次のとおりです。

  • work: 出力ファイルのかわりに一時ファイルを作成します。

  • output: ファイル・システムを使用して出力ファイルを作成します。

  • none (または値なし): ファイル・システムにファイルを作成しません。

SYS_EXT_uploadContentToRepository

Oracle Enterprise Schedulerでコンテンツ・ストア内のリクエスト・ログと出力ファイルを別のリポジトリ(UCM)にアップロードする場合は、これを"copy"に設定します。リクエスト・ログおよび出力コンテンツはコンテンツ・ストアに残りますが、ログ/出力がUCMにあることが必要なユーザー・インタフェースやツールでも使用できるようになります。

SYS_EXT_useAlternateEnvironment

Fusion Applicationsスタイルのファイルから環境プロパティを取得するには、これを"true"に設定します。デフォルトは"false"です。

SYS_EXT_useExtendedSetup

Oracle Enterprise Schedulerで、ApplSessionなどの拡張機能が使用可能なときに、リクエストの各ステージでその機能を設定する場合は、これを"true"に設定します。

SYS_EXT_userFileDirShared

ファイル・システムにファイルを作成するプロセス・ジョブ・タイプおよびJavaジョブ・タイプ用です。Oracle Enterprise Schedulerに、ess-config.xmlファイルから構成されたRequestFileDirectoryおよびRequestFileDirectorySharedをリクエストに保存することを要求します。これらの値は、SYS_userFileDirおよびSYS_EXT_userFileDirSharedプロパティとしてそれぞれ保存されます。Oracle Enterprise Schedulerはこれらのプロパティを使用し、SYS_EXT_supportOutputFilesに応じてリクエストの作業ディレクトリと出力ディレクトリを作成します。

Oracle Enterprise Schedulerでのみ使用され、その他の値がこのサービスによって上書きされることがあります。

SYS_EXT_wsCancelMessage

オプション。Webサービスの取消操作のためのXMLメッセージ。

SYS_EXT_wsCancelOperationName

オプション。取消操作名。

SYS_EXT_wsWsdlBaseUrl

WSDL URLのベースURLの一部。

SYS_EXT_wsWsdlUrl

WebサービスのWSDL URLの相対的な部分(具体的なWSDL URLである必要があります)。SYS_EXT_wsEndpointUrlプロパティまたはSYS_EXT_wsWsdlUrlプロパティのいずれかを、完全に指定する必要があります。たとえば、wsWsdlBaseUrlおよびwsWsdlUrlの両方が構成されているか、またはwsEndpointBaseUrlおよびwsEndpointUrlの両方が構成されているか、のいずれかです。

SYS_EXT_wsEndpointBaseUrl

エンドポイントURLのベースURLの一部。

SYS_EXT_wsEndpointUrl

そのWebサービスのエンドポイントURL。また、SYS_EXT_wsEndpointUrlプロパティまたはSYS_EXT_wsWsdlUrlプロパティのいずれかを指定する必要があります。

SYS_EXT_wsOperationName

操作名。

SYS_EXT_wsPortName

ポート名。

SYS_EXT_wsServiceName

サービス名。

SYS_EXT_wsTargetNamespace

ターゲットのネームスペース。

SYS_allowMultPending

同じジョブ定義の複数のリクエストの保留を許可するかどうかを指定します。このプロパティはジョブ・セット・ステップには影響しません。TrueまたはFalse。

SYS_application

リクエスト処理に使用するJ2EEアプリケーションの論理名を指定します。このプロパティは、リクエスト送信時にOracle Enterprise Schedulerによって自動的に設定されます。

SYS_bizErrorExitCode

実行ビジネス・エラーを示すプロセス・ジョブ・リクエストのプロセス終了コードを指定します。このプロパティが指定されていない場合、プロセス終了コード4は実行ビジネス・エラーとして処理されます。

このプロパティはプロセス・ジョブ・タイプのオプションのプロパティです。他のジョブ・タイプでは使用されません。

ビジネス・エラーの詳細は、「拡張検索機能を使用したジョブ・リクエストの検索」を参照してください

SYS_className

Javaジョブ・リクエストのJava実行可能ファイルを指定します。これは、oracle.as.scheduler.Executableインタフェースを実装するJavaクラスの名前である必要があります。このプロパティはJavaジョブ・タイプで必須です。他のジョブ・タイプでは使用されません。

SYS_cmdLine

プロセス・ジョブ・リクエストに対して外部プログラムを起動するために使用されるコマンド行を指定します。

このプロパティはプロセス・ジョブ・タイプの必須プロパティです。他のジョブ・タイプでは使用されません。

SYS_effectiveApplication

リクエストを処理するときに有効なアプリケーションとなるJ2EEアプリケーションの論理名を指定します。EFFECTIVE_APPLICATIONシステム・プロパティを定義することで、ジョブ定義、ジョブ・タイプまたはジョブ・セット・ステップを他のアプリケーションに関連付けることができます。このプロパティはメタデータでのみ指定できます。送信パラメータでは指定できません。

SYS_environmentVariables

プロセス・ジョブ・リクエストの生成されたプロセスを設定するための環境変数を指定します。プロパティの値は、設定する環境変数を表す、カンマで区切られた名前と値のペア(名前=値)のリストである必要があります。

このプロパティはプロセス・ジョブ・タイプではオプションです。他のジョブ・タイプでは使用されません。

SYS_executePast

実行時間が過去である繰返しリクエストのインスタンスを生成するかどうかを指定します。インスタンスは、リクエストされた開始時間より前、またはリクエストされた終了時間より後には生成されません。過去のインスタンスが生成されるようにするには、このプロパティをTRUEに設定し、リクエスト開始時間をインスタンス生成を開始する最初の時間として指定する必要があります。リクエスト開始時間がnullである場合、現在の時間にデフォルト設定されます。

このプロパティの値は次のとおりです。

  • TRUE: 生成時間に関係なく、スケジュールで指定されるすべてのインスタンスが生成されます。

  • FALSE: スケジュールされた実行時間が過去の時間(つまり、生成時間より前)であるインスタンスは生成されません。

このプロパティが指定されていない場合、TRUEにデフォルト設定されます。

SYS_extensionListener

内部使用のみに対応しています。

SYS_external_id

非同期Javaジョブの外部部分の識別子を指定します。たとえば、非同期Javaジョブでは通常リモート・プロセスを起動してから、Oracle Enterprise Schedulerに制御を戻します。このプロパティはリモート・プロセスの識別に使用されます。このプロパティは、識別子の判明時に非同期Javaジョブのジョブ実装によって設定されます。Oracle Enterprise Schedulerによっては設定されません。

SYS_external_JobType

オプション。サポートされている値は、ADFBC、OSBまたはSOAです。その他の値は無効です。

SYS_groupName

このリクエストがバインドされるOracle Enterprise Scheduler分離グループの名前を指定します。このプロパティは、リクエスト送信時にOracle Enterprise Schedulerによって自動的に設定されます。

SYS_inputList

ジョブ・リクエストへの入力を指定します。シリアル・ジョブ・セットへの入力は、最初のステップのみへの入力として転送されます。パラレル・ジョブ・セットへの入力は、すべてのパラレル・ステップへの入力として転送されます。

Oracle Enterprise Schedulerによって、このプロパティの値に指定される形式はありません。

SYS_inputWorkDirectory

ジョブ・リクエストの処理中に入力ファイルに使用する作業ディレクトリを指定します。Oracle Enterprise Schedulerはジョブ・リクエストの処理中にこのプロパティの値を設定します。

SYS_listener

リクエストに関連付けられるイベント・リスナー・クラスを指定します。これは、oracle.as.scheduler.EventListenerインタフェースを実装するJavaクラスの名前である必要があります。

SYS_locale

ジョブに適用する言語コードを指定します。

SYS_logicalClusterName

Oracle Enterprise Schedulerでは、EJBおよびWebサービスのジョブに抽象的なジョブの場所を定義できる手段が提供されています。ジョブの場所は、Oracle Enterprise SchedulerのSYS_logicalClusterNameシステム・プロパティで指定し、論理クラスタ名(LCN)を指定します。EJBまたはWebサービス・ジョブのジョブ定義でLCNの値を指定した場合、Oracle Enterprise Manager Fusion Middleware Controlを使用して、ジョブ定義ではなく、ホスティング・アプリケーションのレベルで特定の環境固有のプロパティが指定されます。同じLCNを持つすべてのジョブ定義は、Oracle Enterprise Manager Fusion Middleware Controlを使用してホスティング・アプリケーションの構成プロパティに入力されたプロパティの値を共有します。

「ジョブ定義」→「ジョブ定義の詳細」ページで、SYS_logicalClusterNameシステム・プロパティに、「構成」→「アプリケーション・プロパティ」ページの場所関連プロパティのセットの定義に使用する名前(LCN)を設定します。詳細は、「ジョブの場所プロパティ」を参照してください。

「論理クラスタ」および「ジョブの場所」という用語は、同じ意味で使用できます。

SYS_logWorkDirectory

ロギング作業ディレクトリを指定します。Oracle Enterprise Schedulerでのみ使用され、その他の値がこのサービスによって上書きされることがあります。

SYS_outputList

リクエストからの出力を指定します。

シリアル・ジョブ・セットの出力は、最後のステップのOUTPUT_LISTです。パラレル・ジョブ・セットの出力は、すべてのステップのOUTPUT_LISTを連結したもので、順番は保証されず、セパレータとしてoracle.as.scheduler.SystemProperty.OUTPUT_LIST_DELIMITERが使用されます。

SYS_outputWorkDirectory

ジョブ・リクエストの処理中に出力ファイルに使用する作業ディレクトリを指定します。Oracle Enterprise Schedulerはジョブ・リクエストの処理中にこのプロパティの値を設定します。Oracle Enterprise Schedulerでのみ使用され、その他の値がこのサービスによって上書きされることがあります。

SYS_postProcess

後処理コールアウト・ハンドラ・クラスを指定します。これは、oracle.as.scheduler.PostProcessHandlerインタフェースを実装するJavaクラスの名前である必要があります。

SYS_preProcess

前処理コールアウト・ハンドラ・クラスを指定します。これは、oracle.as.scheduler.PreProcessHandlerインタフェースを実装するJavaクラスの名前である必要があります。

SYS_priority

リクエスト処理の優先度を指定します。優先度は[0...9]で指定し、最も低い優先度が0、最も高い優先度が9です。

デフォルト: このプロパティが指定されていない場合、システムのデフォルト値は4です。

SYS_procedureName

SQLジョブ・リクエストでコールされるPL/SQLストアド・プロシージャの名前を指定します。ストアド・プロシージャは、schema.nameの形式で指定する必要があります。

このプロパティはSQLジョブ・タイプの必須プロパティです。他のジョブ・タイプでは使用されません。

SYS_product

リクエストを送信したアプリケーション内の製品を指定します。

SYS_redirectedOutputFile

プロセス・ジョブ・リクエストに対して標準出力およびエラー・ストリームがリダイレクトされるファイルを指定します。リクエストの実行時に標準出力およびエラー・ストリームのリダイレクト先となるログ・ファイルの完全パスを示します。

Oracle Enterprise Schedulerでのみ使用され、その他の値がこのサービスによって上書きされることがあります。

SYS_reprocessDelay

コールアウト・ハンドラの処理遅延時間を指定します。コールバック・ハンドラによって遅延がリクエストされたときに、リクエスト処理を遅延させる時間を分単位で示します。

デフォルト: このプロパティが指定されていない場合、使用されるシステムのデフォルトは5です。整数型。

SYS_EXT_requestEffectiveEncoding

プロセス・ジョブ・リクエストに関連付けられた有効なエンコーディングを指定します。

SpawnLauncherにより、次の優先順位で、生成されたジョブ・リクエストのロケール設定が決定されます。

  1. リクエスト用の環境プロパティ(SystemProperty.ENVIRONMENT_VARIABLES)で指定されているLC_ALL/LANG

  2. ホスティング・アプリケーションのess-config.xmlファイルで指定されているLC_ALL/LANG

  3. WebLogicサーバーのLC_ALL/LANG

有効なエンコーディングは、プロセスが生成される前に計算され、このプロパティに格納されます。これは、後に、リクエストのログおよび出力のエンコーディングを決定するために使用されます。

SYS_request_timeout

ジョブ・リクエストをタイムアウトさせることを指定します。

SYS_requestCategory

リクエストのアプリケーション固有ラベルを指定します。アプリケーションまたはシステムの管理者が定義したラベルを指定することで、管理者は独自の要件に応じてジョブ・リクエストをグループ化できます。

SYS_requestedProcessor

リクエストを処理するリクエスト・プロセッサ・ノードを指定します。ジョブ・リクエストとプロセッサの親和性を指定できます。このプロパティが指定されていない場合、使用可能な任意のリクエスト・プロセッサ・ノードでリクエストを実行できます。通常、このプロパティは指定しません。

リクエストに対してこのプロパティが指定された場合、リクエスト・プロセッサの作業割当てoracle.as.scheduler.WorkAssignment(特殊化)でそのリクエストの実行を許可する必要があります。そうでない場合、リクエストは実行されません。指定されたノードが実行されていない場合、リクエストはREADY状態のままとなり、ノードが再起動されるまで実行されません。

SYS_requestExpiration

リクエストの有効期限を指定します。これは、リクエストの有効期限が切れる時間を、スケジュールされた実行時間からの分数で表します。有効期限値のゼロ(0)は、リクエストが期限切れにならないことを意味します。このプロパティが指定されていない場合、システムのデフォルト値は0です。

リクエストの有効期限は実行待機中のリクエストにのみ適用されます。指定された有効期限よりも待機時間が長いリクエストは実行されません。リクエストの実行が開始された後は、リクエストの有効期限は適用されません。

SYS_retries

失敗したリクエストの再試行上限を指定します。リクエストの実行が失敗した場合、リクエストが成功するまで、このプロパティにより指定された回数までリクエストが再試行されます。再試行制限がゼロ(0)の場合、失敗したリクエストは再試行されません。

このプロパティが指定されていない場合、使用されるシステムのデフォルトは0です。

SYS_runasApplicationID

このプロパティは、スケジュール済ジョブを完了するためアクセス権限の昇格を許可します。

通常、リクエストは発行元ユーザーとして実行されます。ただし、このプロパティがリクエストに関連付けられているジョブのメタデータで設定されている場合、リクエストはこのプロパティで指定されるユーザーとして実行されます。このプロパティはメタデータでのみ指定できます。送信パラメータでは指定できません。

SYS_selectState

ジョブ・セット・ステップの結果状態がその親ジョブ・セットの最終的な状態に影響するかどうかを指定します。ジョブ・セットの状態を決定するときに、ジョブ・セット・ステップの状態が考慮されるようにするには、SELECT_STATEtrueに設定する必要があります。ジョブ・セット・ステップにSELECT_STATEが指定されていない場合、ステップの状態はジョブ・セットの状態を決定するときに考慮されます。ブール型。

SYS_sqlJobClass

SQLジョブ・リクエストの実行に使用されるOracle Enterprise Schedulerジョブに割り当てる、Oracle Enterprise Schedulerジョブ・クラスを指定します。ジョブ・リクエストに使用されるジョブが特定のOracle Databaseリソース・コンシューマ・グループに関連付けられている、またはデータベース・サービスへの親和性があるという場合は、このプロパティは指定する必要がありません。

このプロパティが指定されていない場合、SQLリクエストを実行するジョブにデフォルトのOracle Enterprise Schedulerジョブ・クラスが使用されます。そのジョブ・クラスはデフォルトのリソース・コンシューマ・グループに関連付けられます。これはデフォルト・サービスに属し、サービス・アフィニティがなく、Oracle RAC環境内で、クラスタ内のデータベース・インスタンスのいずれかがジョブを実行します。Oracle Enterprise Scheduler SQLジョブ・リクエストがそのデフォルト・ジョブ・クラスを使用するのに、追加の権限は要求されません。

このプロパティはSQLジョブ・タイプのオプションのプロパティです。他のジョブ・タイプでは使用されません。

SYS_submittingApplication

送信された(絶対的な親)リクエストのJ2EEアプリケーションの論理名を指定します。このプロパティは、リクエスト送信時にOracle Enterprise Schedulerによって自動的に設定されます。

SYS_substitutionHandlers

このプロパティは非推奨です。

SYS_successExitCode

実行の成功を表す、プロセス・ジョブ・リクエストのプロセス終了コードを指定します。このプロパティが指定されていない場合、システムは、プロセス終了コード0を実行の成功と見なして処理します。

このプロパティはプロセス・ジョブ・タイプのオプションのプロパティです。他のジョブ・タイプでは使用されません。

SYS_userFileDir

入力ファイルや出力ファイルなどリクエストの実行可能ファイルで使用されるファイルが保存される、ファイル・システム上のベース・ディレクトリを指定します。

Oracle Enterprise Schedulerでは、リクエストによりファイルを保存できるファイル・ディレクトリを指定する構成パラメータがサポートされます。構成パラメータが現在設定されていて、USER_FILE_DIRがリクエストに指定されていなかった場合、リクエストの送信時にUSER_FILE_DIRプロパティがリクエストに自動的に追加されます。追加されたプロパティは、構成パラメータの値に初期化されます。リクエスト送信時に構成パラメータが設定されていなかった場合、このプロパティは追加されません。

Oracle Enterprise Schedulerでのみ使用され、その他の値がこのサービスによって上書きされることがあります。このプロパティが削除された場合、その値はデフォルトであるシステム定義値<server log path>/ess_request/に設定され、SYS_EXT_userFileDirSharedプロパティの値はfalseであると想定されます。

SYS_userName

リクエストを実行するために使用されるユーザーの名前を指定します。RUNAS_APPLICATIONIDプロパティがジョブ・メタデータに指定されていなければ、通常、これは送信ユーザーです。このプロパティは、リクエスト送信時にOracle Enterprise Schedulerによって自動的に設定されます。

SYS_warningExitCode

実行の警告を表す、プロセス・ジョブ・リクエストのプロセス終了コードを指定します。このプロパティが指定されていない場合、システムは、プロセス終了コード3を実行の警告と見なして処理します。

このプロパティはプロセス・ジョブ・タイプのオプションのプロパティです。他のジョブ・タイプでは使用されません。

SYS_workDirectoryRoot

プロセス・ジョブ・リクエストのプロセス用の作業ディレクトリを指定します。

Oracle Enterprise Schedulerでのみ使用され、その他の値がこのサービスによって上書きされることがあります。


5.2.1.2.3 アクセス制御の構成

ユーザー・グループに許可するこのメタデータに対するアクセス・レベルを指定できます。ここに表示されるロールは、アプリケーションによって使用されるjazn-data.xmlファイルで定義されます。

  1. 「ジョブ定義の作成」ページで、「アクセス制御」セクションを展開します。
  2. 「追加」ボタンをクリックします。

    「アクセス制御の追加」ダイアログ・ボックスが表示されます。

  3. 「ロール」ドロップダウン・リストから、ジョブ・セットに適用するロールの名前を選択します。そのロールによってグループ化されたユーザーに、ここで指定するアクセス・レベルが割り当てられます。
  4. ロール・メンバーに実行を許可するアクション(「読取り」「実行」「更新」および「削除」)を選択します。
  5. 「OK」をクリックします。
5.2.1.2.4 Enterprise Managerのジョブ・ロールへの権限付与

ここでは、Enterprise Managerのジョブ・ロールに権限を付与する方法について説明します

Enterprise Managerにジョブ定義を作成できます。ジョブ定義を作成する場合、ジョブに権限を付与し、それをロールに関連付けることができます。
ジョブに権限を付与する前に、アプリケーション・ロールをEnterprise Managerのessnativehostingappstripeに作成し、ユーザーまたはグループをEnterprise Manager内のこのロールに関連付けます。これを実行するには、Weblogic Enterprise Manager内のセキュリティ・リンクを使用します。

注意:

グループまたは個人ユーザーは、ESS Enterprise ManagerでなはくWeblogic Enterprise Manager内のセキュリティ・リンクを使用して関連付けることができます。

Enterprise Manager内のジョブに権限を付与して、ESS Enterprise Manager内にジョブを作成する場合、作成したロールはEnterprise Managerに表示されます。これらの権限を、このロールに関連付けることができます。

Enterprise Managerのジョブ・ロールへ権限を付与するには、次の手順を実行します。
  1. 「Enterprise Manager」ウィンドウで、ナビゲーション・ペインのcompact_domainに移動します。
  2. 「アプリケーション・ストライプ」ドロップダウンで、ESSNativeHostingAppを選択します。
  3. 「作成」をクリックして、ESSNativeHostingAppのロールを指定します。
  4. 「ロール名」フィールドに、ロール名としてESSJobRoleと入力します。
  5. 「追加」アイコンをクリックして、プリンシパルを追加します。
  6. プリンシパルを検索して、テストし、「OK」をクリックします。
  7. ロールを選択し、そのロールが実行できるアクションを指定するには、ナビゲーション・パネルに移動し、「スケジューリング・サービス」→「ESSAPP (AdminServer)」の順にクリックします。
  8. ジョブ定義を追加するアプリケーションを選択します。
  9. フィルタ基準を使用して、アプリケーションを検索できます。
  10. ジョブ・タイプを定義するには、「ジョブ定義」を開き、「Webサービスの選択」を選択します。
  11. アクセス制御を追加して、「OK」をクリックします。

5.2.1.3 ジョブ定義の削除

ジョブ定義を削除することができます。

ジョブ定義を削除するには:

  1. 「ジョブ定義の表示」の説明のとおり、対象のジョブ定義を検索します。
  2. 「結果」表で、削除するジョブ定義を選択し、「削除」ボタンをクリックします。

5.2.2 ジョブ・セットの管理

ジョブ・セットを表示、作成、編集、削除および検索できます。ジョブ・セットとは、ジョブ・リクエストを1つのユニットとして実行できるようにグループ化したジョブ・リクエストの集合です。ジョブ・セットをネスト構造にして、ジョブ・リクエストのコレクションまたは1つ以上の子ジョブ・セットを格納できます。ジョブ・セットに格納された各ジョブ・リクエストまたはジョブ・セットを、ジョブ・セット・ステップと呼びます。

注意:

循環依存が作成されるのを避けるため、ジョブ・セットをそれを含むジョブ・セットに追加しないでください。たとえば、JobSet2JobSet1が含まれている場合、JobSet2JobSet1に追加しないでください。.

ジョブ・セットはFusion Middleware Controlの「ジョブ・セット」ページで管理します。

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

5.2.2.1 ジョブ・セットの表示

特定のアプリケーション用に作成されたジョブ・セットを表示できます。

ジョブ・セットを表示するには:

  1. ナビゲーション・ペインで、「スケジューリング・サービス」フォルダを展開し、Oracle Enterprise Schedulerアプリケーションを選択します。
  2. 「スケジューリング・サービス」メニューから、「ジョブ・メタデータ」「ジョブ・セット」を選択します。

    「ジョブ・セット」ページが表示されます。

  3. 「アプリケーション」ドロップダウン・リストで、表示するジョブ・セットのアプリケーション名を選択します。
  4. 検索するジョブ・セットの名前とパッケージ名を入力し、「実行」をクリックします。

    選択したアプリケーションのジョブ・セットが、ページの「フィルタ基準」セクションの下の「結果」表に表示されます。


    列名 説明

    名前

    この列にはジョブ・セットの名前が表示されます。

    表示名

    このジョブ・セット用にユーザーに表示される名前。

    パッケージ

    この列にはジョブ・セットに関連付けられているJavaパッケージの名前が表示されます。

    実行モード

    この列にはジョブ・セットの実行モード(「シリアル」または「パラレル」)が表示されます。

    説明

    この列にはジョブ・セットの説明が表示されます。


  5. 特定のジョブ・セットの詳細を表示するには、目的のジョブ・セットの名前をクリックします。

図5-1に「ジョブ・セット」ページの「結果」表を示します。「結果」表には、ジョブ・セットが、名前、パッケージ、実行モード、説明などの属性とともに表示されます。

図5-1 「ジョブ・セット」ページと「結果」表

「図5-1 「ジョブ・セット」ページと「結果」表」の説明が続きます
「図5-1 「ジョブ・セット」ページと「結果」表」の説明

5.2.2.2 ジョブ・セットの作成または編集

ジョブ・セットはシリアルまたはパラレルのいずれかとして定義します。実行時、Oracle Enterprise Schedulerではパラレル・ジョブ・セット・ステップを並行して実行します。一方、シリアルのジョブ・セット・ステップは、1つずつ指定された順序で実行されます。シリアルのジョブ・セットの場合、前のステップの実行ステータスに基づく、ステップ間の条件分岐がサポートされます。

ジョブ・セット内の各ステップには、ステップの完了時にステップの状態に基づいて実行するアクションを構成できます。特定のジョブ・リクエストを完了するためのアクセス権限の昇格や、エラーが発生した場合に許可するジョブの再試行回数の指定など、ジョブ・セットにはパラメータとシステム・プロパティも構成できます。

ジョブ・セットを作成または編集するには:

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

  2. 「スケジューリング・サービス」メニューから、「ジョブ・メタデータ」「ジョブ・セット」を選択します。

    「ジョブ・セット」ページが表示されます。

  3. 「アプリケーション」ドロップダウン・リストで、ジョブ・セットを作成または編集するアプリケーション名を選択します。

  4. 「作成」をクリックして新規のジョブ・セットを定義するか、または「編集」をクリックして既存のジョブ・セットを変更します。

  5. 「名前」フィールドに、ジョブ・セットの名前を入力します。「表示名」フィールドに、ユーザーに表示される名前を入力します。オプションで、「説明」テキスト・フィールドに説明を入力し、「パッケージ」テキスト・フィールドに関連するジョブ・セットJavaパッケージの名前を入力します。

  6. 「ジョブ・セット・ステップ」セクションで、「シリアル」または「パラレル」を選択し、シリアルまたはパラレルのジョブ・セットを作成します。

  7. 必要に応じて、「追加」ボタンをクリックしてステップを追加します。各ステップを定義します。

    1. 「ステップ」タブの「ステップID」フィールドで、ステップに適したIDを入力します。ステップIDは、このジョブ・セット内のすべてのステップで一意である必要があります。

      「ジョブ」フィールドで検索ボタンをクリックします。表示されたウィンドウで、このステップに使用するジョブまたはジョブ・セットを選択し、「OK」をクリックします。

    2. 「メイン・ダイアグラムへの挿入」または「使用可能なステップのリストへの追加」を選択します。使用可能なステップのリストにステップを追加することを選択した場合は、表示されたドロップダウン・リストを使用して、ジョブの結果(「成功時」「エラー発生時」および「警告時」)に対するアクションを選択します。

    3. アプリケーション定義のプロパティ・タブで、「追加」ボタンをクリックして必要なパラメータを定義し、表示されるフィールドにその初期値を入力します。パラメータの定義の詳細は、「アプリケーション定義のプロパティの構成」を参照してください。

    4. 「システム・プロパティ」タブで、「追加」ボタンをクリックしてシステム・プロパティを選択し、表示されるフィールドにその初期値を入力します。システム・プロパティの選択の詳細は、「システム・プロパティの構成」を参照してください。

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

    6. シリアル・ステップとして構成する場合は、ステップがジョブ・セット・フロー・ダイアグラムに表示されます。エラーおよび警告状態になったときに実行するアクションをそれぞれ構成します。エラーおよび警告アイコンのドロップダウン・リストから、「停止」を選択するか、エラーまたは警告の状態になったときに実行するジョブ定義の名前を選択します。

  8. 引き続き、必要に応じてジョブ・セットのステップを定義します。

  9. ジョブ・セットに必要な場合、アプリケーション定義のプロパティおよびシステム・プロパティを、「ジョブ・セット」ウィンドウの下の方にあるセクションで定義します。

  10. ジョブ・セットのアクセス制御を構成します。アクセス制御の定義の詳細は、「アクセス制御の構成」を参照してください。

  11. 「ジョブ・セットの作成」ページで、「OK」をクリックしてジョブ・セットを保存します。

5.2.2.3 ジョブ・セットの削除

ジョブ・セットを削除できます。

ジョブ・セットを削除するには:

  1. 「ジョブ・セットの表示」の説明のとおり、対象のジョブ・セットを検索します。
  2. 「結果」表で、削除するジョブ・セットを選択し、「削除」ボタンをクリックします。

5.2.3 非互換性の管理

Oracle Enterprise Schedulerの非互換性では、同時実行できないジョブ定義を指定します。

グローバル非互換性、またはドメイン固有のプロパティベースの非互換性を定義します。

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

5.2.3.1 非互換性の表示

「非互換性」ページには、非互換性の名前、関連付けられているJavaパッケージおよび非互換性の説明が表示されます。

ジョブの非互換性を表示するには:

  1. ナビゲーション・ペインで、「スケジューリング・サービス」フォルダを展開し、Oracle Enterprise Schedulerアプリケーションを選択します。
  2. 「スケジューリング・サービス」メニューから、「ジョブ・メタデータ」「非互換性」を選択します。

    「非互換性」ページが表示されます。

  3. 「アプリケーション」ドロップダウン・リストで、非互換性を表示するアプリケーションの名前を選択します。
  4. 検索する非互換性の名前とパッケージ名を入力し、「実行」をクリックします。

    そのアプリケーションの非互換性が、アプリケーションのドロップダウン・リストの下の表に表示されます。


    列名 説明

    名前

    この列には非互換性の名前が表示されます。

    表示名

    この非互換性用にユーザーに表示される名前。

    パッケージ

    この列には非互換性に関連付けられているJavaパッケージの名前が表示されます。

    非互換性タイプ

    この列には非互換性のタイプ(グローバルまたはドメイン固有)が表示されます。

    説明

    この列には非互換性の説明が表示されます。


  5. 特定の非互換性の詳細を表示するには、非互換性の名前をクリックします。

5.2.3.2 非互換性の作成または編集

非互換性は、非互換として構成された1つ以上のジョブ定義と、非互換の対象とする必要があるオプションのリソースで構成されます。グローバルの非互換性にリソースは指定しません。

ドメインの非互換性では、リソースは非互換性を形成するプロパティ名によって表現されます。プロパティ名はジョブ定義によって異なることがあります。たとえば、2つのジョブ定義JobAとJobBが非互換として設定された場合に、非互換として識別されるプロパティの名前がJobAとJobBで違う場合があります。

ドメインの非互換性とグローバルの非互換性の違いについて、詳しく説明します。

  • ドメイン固有: ドメインの非互換性では、非互換のジョブまたはジョブ・セットで、同じプロパティ値を持つものは、同時に実行されません。

    2つ以上のジョブ定義をリソースの範囲内で非互換であるとして追加します。リソースはシステム・プロパティ名またはパラメータ名で特定されます。各エンティティに同じプロパティ名を使用することも、別のプロパティ名を使用することもできます。プロパティベースの非互換性では、ジョブ定義またはジョブ・セットと、各エンティティのプロパティ名を指定する必要があります。

  • グローバル: グローバルな非互換性では、Oracle Enterprise Schedulerによって、非互換なジョブまたはジョブ・セットに対するリクエストが同時に実行されないことが保証されます。

    2つ以上のジョブ定義は一緒に実行できません。グローバルの非互換性は、プロパティに関係なく非互換のエンティティを同時に実行しないようにする場合に使用します。グローバルの非互換性では、各エンティティにジョブ定義またはジョブ・セットのみを指定します。

非互換性は、通常、2つ以上のジョブまたはジョブ・セットのエンティティを使用して定義されます。エンティティが自己非互換としてマークされていれば、その1つのエンティティの非互換性を定義できます。自己非互換とは、そのジョブまたはジョブ・セットに関連付けられる複数のジョブ・リクエストを同時に実行できないことを意味します。

非互換性の定義には、次が含まれます。

  • パッケージおよび範囲: 非互換性に使用するJavaパッケージを選択し、非互換性の範囲を設定します(グローバルまたはドメインのみ)。

  • ジョブ: 非互換のジョブを選択します。

  • パラメータおよびプロパティ: 必要に応じてパラメータとプロパティを定義します。

  • アクセス制御: 必要に応じてアクセス制御を定義します。

非互換性を作成または編集するには:

  1. ナビゲーション・ペインで、「スケジューリング・サービス」フォルダを展開し、Oracle Enterprise Schedulerアプリケーションを選択します。
  2. 「スケジューリング・サービス」メニューから、「ジョブ・メタデータ」「非互換性」を選択します。

    「非互換性」ページが表示されます。

  3. 「アプリケーション」ドロップダウン・リストで、非互換性を作成または編集するアプリケーションの名前を選択します。
  4. 「作成」をクリックして新しい非互換性を定義するか、「編集」をクリックして既存の非互換性を変更します。

    「非互換性の作成(または編集)」ページが表示されます。

  5. 次の情報を入力します。
    • 名前: 非互換性の名前を入力します。

    • 表示名: このジョブ・セット用のユーザーに表示される名前。

    • パッケージ: 関連する非互換性Javaパッケージの名前を入力します。

    • 説明: オプションで、非互換性の説明テキストを追加します。

    • タイプ: 「グローバル」または「ドメイン」を選択して非互換性の範囲を構成します。

  6. 「エンティティ」セクションで、「追加」ボタンをクリックして非互換性にジョブを追加します。

    「エンティティの追加」ダイアログ・ボックスが表示されます。1つ以上のジョブを選択し、「OK」をクリックします。

  7. ドメインの非互換性である場合、「エンティティ」表にリストされている各エンティティを選択して「編集」ボタンをクリックし、リストの他のエンティティと非互換にする必要のある値を持つプロパティを選択します。
  8. リスト内のエンティティを自己非互換(同じエンティティの別のインスタンスで同時に実行できない)に設定する場合は、エンティティを編集して「自己非互換」チェック・ボックスを選択します。
  9. 「アクセス制御の構成」の説明のとおり、非互換性のアクセス制御を構成します。
  10. 「OK」をクリックして非互換性を保存します。

5.2.3.3 非互換性の削除

非互換性を削除すると、非互換だったジョブ・リクエストまたはジョブ・セットが再び互換性を持つようになります。

非互換性を削除するには:

  1. 「非互換性の表示」の説明のとおり、対象の非互換性を検索します。
  2. 「結果」表で、削除する非互換性を選択し「削除」ボタンをクリックします。

5.2.4 ジョブのメタデータの一括カスタマイズ

通常、既存のOracle Enterprise Schedulerジョブのカスタマイズには、Oracle Enterprise Manager Fusion Middleware ControlまたはOracle JDeveloperを使用する、ジョブ・プロパティの編集が含まれます。ジョブ・プロパティの一括更新を行いたい顧客には、このアプローチは制限があり、反復的です。システムMBeanブラウザおよび一括カスタマイズAPIにより、基本のメタデータを変更することなく、多数のジョブのメタデータの一部のプロパティを一括してカスタマイズできます。

表5-2に、一括して更新およびカスタマイズできるプロパティを示します。


表5-2 一括して更新およびカスタマイズできるプロパティ

プロパティ

oracle.as.scheduler.SystemProperty.PRIORITY

oracle.as.scheduler.SystemProperty.RETRIES

oracle.as.scheduler.SystemProperty.REQUEST_CATEGORY

oracle.as.scheduler.SystemProperty.ASYNC_REQUEST_TIMEOUT

oracle.as.scheduler.SystemProperty.LOGICAL_CLUSTER_NAME

enableTrace

enableTimeStatistics


5.2.4.1 システムMBeanブラウザを使用した一括カスタマイズ

APIの一括カスタマイズは、Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザから簡単に起動できます。このプロセスには2つの手順があります。

  1. XMLファイルにカスタマイズできるジョブ定義プロパティのリストをエクスポートします。このステップでは、Oracle Enterprise Schedulerのホスティング・アプリケーションのMDSリポジトリ内の指定されたフィルタ基準に一致するジョブ定義を問い合せます。生成されるXML出力ファイルを編集できます。このXMLファイルは、カスタマイズ・ステップの入力となります。
  2. 以前にエクスポートされたXMLファイルに含まれているジョブ定義プロパティのメタデータ定義をカスタマイズします。このステップでは、基本メタデータを変更せずに、エクスポートのステップで生成された入力XMLファイルに定義されているジョブ定義プロパティのメタデータ定義をカスタマイズします。この処理はMDSのメタデータ・カスタマイズ機能を利用し、プロパティがMetadataService.CustomizableProperty列挙のメンバーの1つでない場合は、例外がスローされます。このステップでは、adf-config.xmlファイルの<cust-config>要素で指定されたカスタム・ネームスペースに属するジョブ定義のプロパティの基本メタデータを変更します。

    注意:

    この機能を正常に動作させるためには、アプリケーションで、そのadf-config.xmlファイルにカスタマイズ・クラスを定義する必要があります。詳細は、MDSのドキュメントを参照してください。

5.2.4.1.1

次の例は、システムMBeanブラウザを使用してジョブ定義のプロパティをエクスポートおよびカスタマイズする方法を示します。

  1. 図5-2に示すように、「WebLogicドメイン」メニューから選択し、Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザを起動します。

    図5-2 Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザの起動

    「図5-2 Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザの起動」の説明が続きます
    「図5-2 Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザの起動」の説明
  2. システムMBeanブラウザで、アプリケーションのMetadataServiceエントリに移動します。図5-3に例を示します。サーバーとアプリケーションの名前が異なる場合があることに注意してください。

    図5-3 MetadataServiceへのナビゲーション・パス

    「図5-3 MetadataServiceへのナビゲーション・パス」の説明が続きます
    「図5-3 MetadataServiceへのナビゲーション・パス」の説明
  3. 図5-4に示すように、「操作」タブをクリックします。

    図5-4 exportESSJobMetadataBulkアイテムの選択

    「図5-4 exportESSJobMetadataBulkアイテムの選択」の説明が続きます
    「図5-4 exportESSJobMetadataBulkアイテムの選択」の説明
  4. exportESSJobMetadataBulkアイテム(図5-4)をクリックして「操作: exportESSJobMetadatBulk」ページを表示します。

  5. 「操作: exportESSJobMetadatBulk」ページで、表5-3にリストするパラメータを「値」列のフィールドに入力し、「呼出し」をクリックします。図5-5に例を示します。

    図5-5 「操作: exportESSJobMetadataBulk」ページ

    img/GUID-E78F6438-DADA-4DF8-A096-70FEE26F5721-default.jpg

    次の表に、「操作: exportESSJobMetadataBulk」ページで使用されるパラメータと値の追加の例を示します。

    パラメータ

    filterQueryField

    package

    filterComparator

    CONTAINS

    filterValue

    oracle/as/ess/customer-pkg

    パラメータ

    filterQueryField

    job-type

    filterComparator

    ENDS_WITH

    filterValue

    PlsqlJobType

    パラメータ

    filterQueryField

    name

    filterComparator

    EQUALS

    filterValue

    some_env_value

  6. 「戻る」をクリックして「MetadataService」ページに戻り、customizeJobDefinitionBulkアイテムをクリックして「操作: customizeJobDefinitionBulk」ページを表示します。

    図5-6 customizeJobDefinitionBulkアイテムの選択

    「図5-6 customizeJobDefinitionBulkアイテムの選択」の説明が続きます
    「図5-6 customizeJobDefinitionBulkアイテムの選択」の説明
  7. 図5-7に示すように、「値」列のフィールドに入力します。xmlInputFileエントリは、以前にパラメータをエクスポートしたファイルの名前です。「呼出し」ボタンをクリックしてカスタマイズを完了します。

    図5-7 「操作: customizeJobDefinition」ページ

    img/GUID-694D6EE3-405F-43B4-9A01-0227E761402E-default.jpg

5.2.4.2 一括カスタマイズMBean API

一括カスタマイズのAPIには、2つのメソッド、exportESSJobMetadataBulkおよびcustomizeJobDefinitionBulkがあります。

5.2.4.2.1 exportESSJobMetadataBulkメソッド

このメソッドは、カスタマイズできるジョブ定義のプロパティのリストをエクスポートします。このメソッドは、Oracle Enterprise Schedulerのホスティング・アプリケーションのMDSリポジトリ内の指定されたフィルタ基準に一致するジョブ定義を問い合せます。

管理者は、生成されるXML出力ファイルを編集できます。「customizeJobDefinitionBulkメソッド」の説明のとおり、このファイルはcustomizeJobDefinitionBulkメソッドの入力となります。

5.2.4.2.1.1 構文

void exportESSJobMetadataBulk (java.lang.String xmlOutputFile,
                               java.lang.String filterQueryField,
                               java.lang.String filterComparator,
                               java.lang.String filterValue,
                               java.lang.String application)
                                throws java.io.IOException,
                                       javax.management.RuntimeOperationsException

表5-3 exportESSJobMetadataBulkのパラメータ

パラメータ 説明

xmlOutputFile

ジョブ定義のカスタマイズ可能なプロパティのリストがエクスポートされる出力XMLファイルの絶対パス。

filterQueryField

フィルタする問合せフィールドの名前。サポートされる問合せフィールドを次に示します。

  • Package

  • Name

  • JobType

  • ExecutionType

これらの問合せフィールドは、パッケージoracle/as/scheduler/metadata/query/MetadataQueryFieldに定義されています。

filterQueryComparator

フィルタの比較演算子の名前。サポートされるコンパレータを次に示します。

  • EQUALS

  • NOT_EQUALS

  • CONTAINS

  • NOT_CONTAINS

  • STARTS_WITH

  • ENDS_WITH

これらのコンパレータは、パッケージ/oracle/as/scheduler/Filter.Comparatorに定義されています。

filterValue

フィルタの問合せフィールドと比較する値。

application

メタデータ・リポジトリが使用される、Oracle Enterprise Schedulerのホスティング・アプリケーションの名前。



表5-4 exportESSJobMetadataBulkの例外

例外 説明

java.io.IOException

プロトコル・エラーが発生した場合にスローされます。

javax.management.RuntimeOperationsException

メタデータ・サブシステムにより障害が検出された場合にスローされます。


5.2.4.2.2 customizeJobDefinitionBulkメソッド

このメソッドでは、基本メタデータを変更せずに、exportESSJobMetadataBulkメソッドで生成された入力XMLファイルに定義されているジョブ定義プロパティのメタデータ定義をカスタマイズします。MDSのメタデータ・カスタマイズ機能が使用され、プロパティがMetadataService.CustomizableProperty列挙のメンバーの1つでない場合は、例外がスローされます。

このメソッドでは、カスタム・ネームスペース/oracle/apps/ess/customに属するジョブ定義のプロパティの基本メタデータが変更されます。

注意:

この機能を正常に動作させるためには、アプリケーションで、そのadf-config.xmlファイルにカスタマイズ・クラスを定義する必要があります。詳細は、MDSのドキュメントを参照してください。

5.2.4.2.2.1 構文

void customizeJobDefinitionBulk (java.lang.String xmlInputFile,
                                 java.lang.String application)
                           throws java.io.IOException, 
                                  javax.management.InstanceNotFoundException,
                                  javax.management.OperationsException,
                                  javax.management.InvalidAttributeValueException,
                                  javax.management.RuntimeOperationsException

表5-5 customizeJobDefinitionBulkのパラメータ

パラメータ 説明

xmlInputFile

エクスポートされたジョブ定義のリストを含む入力XMLファイルのパス。ファイルの形式は、exportESSJobMetadatBulkメソッドの出力によって決定されます。

application

メタデータ・リポジトリが使用されるアプリケーションの名前。



表5-6 customizeJobDefinitionBulkの例外

例外 説明

java.io.IOException

プロトコル・エラーが発生した場合にスローされます。

javax.management.InvalidAttributeValueException

定義の検証に失敗した場合にスローされます。

javax.management.RuntimeOperationsException

メタデータ・サブシステムにより障害が検出された場合にスローされます。

javax.management.InstanceNotFoundException

指定されたMBeanがリポジトリに存在しない場合にスローされます。

javax.management.OperationsException

MBeanのオペレーションの実行時に、MBeanサーバー内でスローされる例外を表します。


5.3 作業割当てと稼働シフトの管理

作業割当てでは、ジョブを実行する場所と日時についての制約や、ジョブの実行に使用できるリソース量を定義できます。このプロセスには、作業割当ての作成と、作業割当てとリクエスト・プロセッサのバインディングが含まれます。

作業割当ては、特殊化ルールと1つ以上の稼働シフトで構成されます。特殊化ルールは、ジョブの処理に関する制約を定義します。稼働シフトは、ジョブを実行できる時間枠とその期間に使用できるリソースを定義します。稼働シフトで定義されるリソースには、リクエスト・プロセッサのローカル・リソースであるスレッドと、グローバル・リソースである非同期ワーカーがあります。非同期ワーカーの数を指定し、データベース・ジョブなどの共有グローバル・リソースの使用を制限できます。

バインディングにより作業割当てがサーバー上のリクエスト・プロセッサに関連付けられ、ジョブの実行可能場所が決まります。排他的バインディング・モードがサポートされているため、ジョブの実行日時の決定だけでなく、ジョブが他の場所で実行されないようにすることもできます。

デフォルトで、作業割当てはバインドされていません。バインドされている、またはアクティブな作業割当てがない場合、仮想的なデフォルトの作業割当てが開始され、使用可能なすべてのリソースを使用してすべてのジョブが処理されます。このデフォルトの作業割当ては、プロセッサに対して構成されているスレッド数に制限されていますが、非同期ワーカー数に対するデフォルトの制限はありません。非同期ワーカー数を制限するには、1つ以上の作業割当てを作成してバインドする必要があります。

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

5.3.1 作業割当ての管理

作業割当てでは、ジョブ・リクエストの処理について次のような制御が可能です。

  • 実行時に作業割当てをリクエスト・プロセッサにバインドし、特定のタイプのジョブ・リクエストを実行できる期間を制限できます。

  • 実行時にリクエスト・プロセッサを構成し、すべてのジョブ・リクエストの処理に使用できるスレッドを制限できます。

5.3.1.1 アクティブな作業割当ての決定

バインドされた作業割当ては、有効化されていて、アクティブな稼働シフトがあり、作業割当て定義に有効化フラグが設定されている場合にアクティブになります。稼働シフトがアクティブになるのは、割当てが0より大きく現在のスケジュールが含まれている(現在時間がスケジュールと期間で定義される時間枠内である)か、稼働シフトが常時の稼働シフトである場合です。バインドされた作業割当てがサーバーにない場合、デフォルトの作業割当てがアクティブになり、すべてのスレッドが使用され非同期ワーカーの制限は適用されません。

5.3.1.2 作業割当てのスレッド割当ての決定

すべてのアクティブな作業割当ての割当てを満足させるために必要なスレッドの合計数が構成済のスレッド数を超えていなければ、アクティブな作業割当てには、アクティブな稼働シフトによって指定されたスレッド割当てが割り当てられます。この場合、Oracle Enterprise Schedulerは、全作業割当てのスレッド割当て総数に占める稼働シフトの割当てスレッドの割合に基づいて、スレッド割当てを評価します。

たとえば、作業割当て1のスレッド割当てが70、作業割当て2のスレッド割当てが30で、構成されているプロセッサ・スレッドが20あるとします。要求される割当ての合計は100であるため、作業割当て1の重みは70パーセント、作業割当て2の割当ては30パーセントになります。Oracle Enterprise Schedulerによって、作業割当て1に14スレッド、作業割当て2に6スレッドが割り当てられます。

デフォルトの作業割当てがアクティブの場合、作業割当てに割り当てられるスレッド数は、構成されているスレッド数と同じになります。

注意:

アクティブな作業割当てには、少なくとも1つのスレッドが割り当てられます。

5.3.1.3 アクティブな作業割当ての処理

作業割当てとスレッド割当てが決定された後、Oracle Enterprise Schedulerによって各アクティブ作業割当てのスレッド・プールが開始されます。スレッドは、その作業割当てに特殊化されたジョブ・リクエストの処理を担当します。ただし、排他的作業割当てに特殊化されているジョブ・リクエストは除外されます。除外は、デフォルトの作業割当てを含むすべての作業割当てに対して有効です。排他的作業割当てがグループ内のいずれかのサーバーにバインドされた場合、排他的作業割当てに特殊化されているジョブ・リクエストを他の作業割当てが処理することはできません。

注意:

無効の作業割当てを含め、排他的モードでバインドされている作業割当てはすべて除外されます。排他的バインドは、バインド先のサーバーが使用できない状態である場合も適用されます。除外されないようにするには、排他的作業割当てのバインドを解除する必要があります。

5.3.1.4 作業割当ての作成または編集

作業割当てには、リクエスト・プロセッサの制約を定義する2つの主要コンポーネントがあります。

  • 特殊化ルール: リクエスト・プロセッサでのジョブ・リクエスト処理に対する制約を定義します。

  • 稼働シフト: ジョブ・リクエストを処理する時間枠を指定します。つまり、リクエスト・プロセッサでジョブ・リクエストを処理できるスケジュールを指定します。

特殊化ルールや稼働シフトを含めたこれらの作業割当て制御の組合せにより、処理するジョブ・リクエストを選択し、リクエスト・プロセッサのリソースの割当て方法を決定できます。たとえば、日中シフトと夜間シフトという2つの稼働シフトを定義し、これらの期間に処理を割り当てるとします。日中シフトのピーク使用時期間にはより多くのリソースを割り当て、夜間シフトのリソース割当てには別の組合せを指定することが考えられます。

デフォルトでリクエスト・プロセッサに作業割当てはバインドされておらず、リクエスト・プロセッサは準備完了のジョブ・リクエストをすべて処理します。デフォルトの動作は、特殊化ルールのない、常時の稼働シフトを持つリクエスト・プロセッサを使用している場合と同じであり、構成されているスレッドはすべて使用され、非同期ジョブの数に制限はありません。

表5-7に、特殊化ルールに定義できるプロパティを示します。


表5-7 特殊化ルールに使用できる特殊化プロパティ

特殊化プロパティ 説明

アプリケーション

ジョブ・リクエストに関連付けられたアプリケーションの名前を指定します。

製品

アプリケーション内の製品名を指定します。

送信者

ジョブ・リクエストを送信したユーザーを指定します。

ジョブ定義

特定のジョブ・リクエスト名を指定します。

リクエスト・カテゴリ

システム管理者が定義したラベルを指定し、管理者が独自の要件に応じてジョブ・リクエストをグループ化できるようにします。デリミタ文字で区切って複数のラベルを含めることができます。

論理クラスタ名

論理クラスタの名前を指定します。


次の演算子は条件を作成するために使用されます: equalsnot equalscontainsstarts withends withおよびNOT(単項)。

次の演算子は、ルールの条件を結合するために使用できます: ANDおよびOR(両方とも二項タイプ)

例5-1に、作業割当てで使用できるサンプルの特殊化ルールを示します。

ジョブ・リクエストが2つの異なる作業割当てに特殊化されている場合、ジョブ・リクエストはリソースの使用可能状況に応じて、いずれかの作業割当てによって処理されます。同様に、同じ作業割当てが2つの異なるサーバーに割り当てられている場合、ジョブ・リクエストはいずれか一方のサーバーによって処理されます。実際、前処理とジョブの実行が別のサーバーで行われるなど、同じリクエストの異なるステージが異なるサーバーで処理されることがあります。

requestCategoryの値には、カンマで区切って複数のラベル用語を指定できます。このようにして、ラベルの組合せに基づいた特殊化によって、タグの動作を模倣するラベルを指定できます。

たとえば、次のようなラベルを定義できます。

これらのラベルの場合、次の例のようなrequestCategory式を記述することが考えられます。

カンマを使用して用語を区切る場合は、例5-2に示されているように、各ラベル用語の前後にカンマを付ける必要があります。requestCategory式では、例5-3に示されているように、カンマを付けた完全なラベルを指定する必要があります。そうすることで、指定した用語を含む別の用語が選択されることを回避できます。

作業割当てを作成または編集するには:

  1. ナビゲーション・ペインで、「スケジューリング・サービス」フォルダを展開し、Oracle Enterprise Schedulerアプリケーションを選択します。
  2. 「スケジューリング・サービス」メニューから、「作業割当て」を選択し、次に「作業割当て」を選択します。

    「作業割当て」ページが表示されます。

  3. 「作成」または「編集」ボタンをクリックして、作業割当てを作成または編集します。

    「作業割当ての作成(または編集)」ページが表示されます。

  4. 作業割当ての名前と説明を、それぞれ対応するテキスト・フィールドに入力します。
  5. 「有効」チェック・ボックスを選択して作業割当てを有効にします。
  6. 「特殊化の作成」をクリックして、作業割当てを実行する条件を追加します。
  7. 「稼働シフト」セクションで、「追加」ボタンをクリックし、作業割当てに1つ以上の稼働シフトを追加します。
  8. 「OK」をクリックし、作業割当てを保存します。

例5-1 サンプルの特殊化ルール

application = 'EssDemoApp' AND (definition = 'JobDefinition://mypackage/Job_essdemo1' OR definition = 'JobDefinition://mypackage/LongRunningJob')

requestCategory ='Priority'

user = 'sam'
(requestCategory ='LongRunning') AND NOT (definition = 'JobDefinition://mypackage/LongRunningJob')

例5-2 複数の用語を組み合せたリクエスト・カテゴリ・ラベル

",NODE1,CRITICAL,"
",NODE1,STANDARD,"
",NODE1,IMPORTANT,"

例5-3 複数のラベルを組み合せて使用するrequestCategory式

(requestCategory contains ',NODE1,') AND (requestCategory contains ',CRITICAL,')

(requestCategory contains ',STANDARD,') OR (requestCategory contains ',IMPORTANT,') OR (requestCategory contains ',CRITICAL,')

5.3.1.5 作業割当ての削除

作業割当てのリストから作業割当てを削除できます。作業割当てを削除する前に、その作業割当てがリクエスト・プロセッサにバインドされていないことを確認します。

作業割当てを削除するには:

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

    「作業割当て」ページが表示されます。

  3. 削除する作業割当てを選択し、「削除」をクリックします。

5.3.2 稼働シフトの管理

稼働シフトは、リクエスト・プロセッサが動作するアクティブな時間を示すものです。つまり、稼働シフトでは、ジョブ・リクエストの処理でリソースまたはスレッドを使用できる一連の時間枠を定義します。作業割当てがリクエスト・プロセッサにバインドされるとき、その作業割当てに1つ以上の稼働シフトが関連付けられます。実行時にOracle Enterprise Schedulerは、その作業割当て内の稼働シフトのリソース割当てを判別します。

それぞれ異なる時間枠およびリソースの制限を持つ複数の稼働シフトを使用することで、様々なタイミングで異なる量のリソースを使用できます。たとえば、午前8時からの日中の稼働シフトを作成し、日中のスレッド割当てと非同期ジョブの制限を設定したり、午後6時からの夜間の稼働シフトを作成し、夜間のスレッド割当てと非同期ジョブの制限を設定したりすることが可能です。

稼働シフトはオーバーラップする可能性がありますが、Oracle Enterprise Schedulerでは、現在の稼働シフトとして1つの稼働シフトが選択されることに注意してください。

特定の作業割当てに対して現在アクティブな稼働シフトは1つのみですが、すでにアクティブでない稼働シフトに対するアクティブなリクエストが存在する可能性があります。実行が開始された稼働シフトで定義済の動作時間枠を超えてリクエストが実行されると、このような状況が発生する場合があります。たとえば、日中の稼働シフトがアクティブなときにリクエストの実行が開始され、夜間の稼働シフトが開始されたときにそのリクエストがまだ実行されているような場合です。Oracle Enterprise Schedulerは、現在のアクティブな稼働シフトの制限を使用し、作業割当ての稼働シフト内に開始されたすべてのアクティブなリクエストの数を制御します。アクティブなリクエストの数が現在の制限を超えた場合、アクティブなリクエストの数がその制限を下回るまで、それ以上のリクエストは実行されません。

稼働シフトは次のリソースを定義します。

  • スレッド割当て

  • 非同期JavaジョブおよびPL/SQLジョブの非同期ジョブ制限

スレッド割当てでは、リクエスト・プロセッサで使用できるスレッドの数を指定します。これらのスレッドは、同期ジョブの処理、非同期ジョブの開始と終了、ジョブ・リクエストの前後処理、イベントの更新など、ローカル・タスクの実行に使用されます。作業割当て内の稼働シフトがアクティブのとき、その作業割当ての各リクエスト・プロセッサは指定されたスレッド数を使用できます。たとえば、スレッド割当てが15の常時の稼働シフトが作業割当てに含まれているとします。その作業割当てが3つのリクエスト・プロセッサにバインドされている場合、各リクエスト・プロセッサが15スレッドを使用できるため、3サーバーの合計は45スレッドになります。

非同期ジョブ、PL/SQLジョブおよび非同期Javaジョブは、システム全体で共有する必要があるグローバル・リソースです。稼働シフトを使用して、作業割当てに対してアクティブにするPL/SQLジョブおよび非同期Javaジョブの数を制限できます。この制限はシステム内でその作業割当てを使用するすべてのリクエスト・プロセッサにわたって適用されます。たとえば、PL/SQLジョブ制限が10の常時の稼働シフトが作業割当てに含まれているとします。その作業割当てが3つのリクエスト・プロセッサにバインドされている場合、10個のPL/SQL非同期ワーカーが3つのリクエスト・プロセッサによって共有され、最大で10個のPL/SQLジョブがその作業割当てでアクティブになります。

非同期ジョブは、前処理の開始からファイナライズの前に、非同期ワーカーを予約および保持します。前処理が遅延した場合、非同期ワーカーは、遅延中はリリースされ、遅延が終了したときに予約されます。サブリクエストを発行して一時停止したリクエストでは、非同期ワーカーがリリースされ、リクエストが再開されたときに非同期ワーカーが予約されます。BLOCKEDのリクエストでは、非同期ワーカーは保持されません。

稼働シフトのスレッド割当てと非同期ジョブ制限を決める際は、その稼働シフトを使用する作業割当てに特殊化されるジョブのタイプに注意してください。

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

5.3.2.1 稼働シフトの作成または編集

稼働シフトの作成には、次が含まれます。

  • スケジュール: スケジュールを稼働シフトに関連付けます。

  • 期間: 稼働シフトの期間を入力します。

  • スレッド割当て: 稼働シフトに割り当てるスレッド数を指定します。

  • 非同期ジョブ制限: 作業割当てのためにアクティブにできる非同期のJavaジョブおよびPL/SQLジョブの数の制限を指定します。

稼働シフトを作成または編集するには:

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

  2. 「スケジューリング・サービス」メニューから、「作業割当て」「稼働シフト」を選択します。

    「稼働シフト」ページが表示されます。

  3. 「作成」または「編集」ボタンをクリックして、稼働シフトを作成または編集します。

    「稼働シフトの作成(または編集)」ページが表示されます。

  4. 稼働シフトの次の情報を入力します。

    • スケジュール名: 稼働シフトの名前を入力します。

    • スケジュールの説明: 稼働シフトの説明を入力します。

  5. 「アクティブな期間」セクションで、稼働シフトのアクティブな期間として次のいずれかを選択します。

    • 常時アクティブ: 稼働シフトを常に有効にする場合に選択します。このオプションを選択すると、「期間」テキスト・フィールドが無効になります。

    • 既存のスケジュールの使用: 以前に作成したスケジュールを使用して稼働シフトを有効化する場合に選択します。「参照」ボタンをクリックして「スケジュールの選択」ウィンドウを表示し、「名前」および「パッケージ」フィールドを使用してスケジュールを検索します。

      「期間」テキスト・フィールドに稼働シフトの期間を分単位で入力します。

    • スケジュールの指定: 稼働シフトのスケジュールを作成する場合に選択します。表示されたテキスト・フィールドにスケジュールの名前と説明を入力します。

      「頻度」ドロップダウン・リストから頻度を選択します。選択した頻度のアイテムに基づいて、異なるオプションが表示されます。

      「タイムゾーン」ドロップダウン・リストからスケジュールのタイムゾーンを選択します。

      「開始日」フィールドで、「カレンダ」ボタンをクリックして日時を選択します。

      「期間」テキスト・フィールドに稼働シフトの期間を分単位で入力します。

  6. 「拡張」リージョンを展開します。スレッド割当てと非同期ジョブ制限を指定します。

    1. 「スレッド割当て」フィールドに、稼働シフトがアクティブのときにプロセッサに割り当てるスレッド数を入力します。アクティブな稼働シフトのスレッド割当ての合計が、使用可能なスレッド数を超える場合、スレッドは比例配分でこの稼働シフトに割り当てられます。

    2. 「非同期ジョブ制限」リージョンに、作業割当てに対してアクティブにすることができる非同期JavaジョブおよびPL/SQLジョブの数を入力します。この制限は、この作業割当てがバインドされているすべてのプロセッサにわたって適用されます。

  7. 「OK」をクリックして、稼働シフトを保存します。

5.3.2.2 稼働シフトの削除

稼働シフトのリストから稼働シフトを削除できます。作業割当てを削除する前に、それが作業割当てにバインドされていないことを確認してください。

稼働シフトを削除するには:

  1. ナビゲーション・ペインで、「スケジューリング・サービス」フォルダを展開し、Oracle Enterprise Schedulerアプリケーションを選択します。
  2. 「スケジューリング・サービス」メニューから、「作業割当て」「稼働シフト」を選択します。

    「稼働シフト」ページが表示されます。

  3. 削除する稼働シフトを選択し、「削除」をクリックします。

5.3.3 スケジュールの管理

スケジュールを使用して、開始時間および終了時間に加え、作業割当て、パージ・ポリシーの頻度を構成します。

注意:

スケジューリングされたジョブ・リクエスト実行の詳細は、「事前定義ジョブ・スケジュールの作成​​または編集」を参照してください。

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

5.3.3.1 スケジュールの作成

ジョブ・スケジュールは、実行の事前定義済の時間または繰返しを指定します。作業割当ておよびパージ・ポリシーのスケジュールは、ジョブ・スケジュールとは別に定義されます。ジョブ・スケジュールは、1つまたは複数のジョブに関連付けることができます。

スケジュールを作成する手順は、次のとおりです。

  1. ナビゲーション・ペインで、「スケジューリング・サービス」フォルダを展開し、Oracle Enterprise Schedulerアプリケーションを選択します。
  2. スケジュールを作成する2つの方法:
    • ジョブ・リクエストのスケジュールを作成するには、「ジョブ・リクエスト」を選択して、「スケジューリング・サービス」から「スケジュールの定義」を選択します。

    • 作業割当ておよびパージ・ポリシーのスケジュールを作成するには、「作業割当て」を選択して、「スケジューリング・サービス」から「スケジュール」を選択します。

  3. 「作成」をクリックして新規スケジュールを定義します。

    「スケジュールの作成」ページが表示されます。

  4. 次の情報を入力します。
    • 名前: スケジュールの名前を入力します。

    • 説明: オプションで、スケジュールの説明テキストを追加します。

    • 「頻度」ドロップダウン・リストから頻度を選択します。選択した頻度のアイテムに基づいて、異なるオプションが表示されます。

    • 「タイムゾーン」ドロップダウン・リストからスケジュールのタイムゾーンを選択します。

    • 「開始日」フィールドで、「カレンダ」ボタンを使用して日時を選択します。

  5. 「OK」をクリックしてスケジュールを保存します。

5.3.3.2 スケジュールの編集

既存のスケジュールを変更する手順は、次のとおりです。

  1. ナビゲーション・ペインで、「スケジューリング・サービス」フォルダを展開し、Oracle Enterprise Schedulerアプリケーションを選択します。
  2. 「スケジューリング・サービス」メニューから、「作業割当て」を選択し、次に「スケジュール」を選択します。

    「スケジュール」ページが表示されます。

  3. 表からスケジュールを選択して「編集」をクリックします。

    「スケジュールの編集」ページが表示されます。

  4. 次の情報を編集します。
    • 説明: オプションで、スケジュールの説明テキストを変更します。

    • 頻度の変更ボタンをクリックします。選択した頻度のアイテムに基づいて、異なるオプションが表示されます。

    • 「タイムゾーン」ドロップダウン・リストからスケジュールのタイムゾーンを選択します。

    • 「開始日」フィールドで、「カレンダ」ボタンを使用して日時を選択します。

  5. 「OK」をクリックしてスケジュールを保存します。

5.3.3.3 スケジュールの削除

スケジュールのリストからスケジュールを削除できます。

スケジュールを削除するには:

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

    「スケジュール」ページが表示されます。

  3. 削除するスケジュールを選択し、「削除」ボタンをクリックします。

    注意:

    作業割当てまたはパージ・ポリシーのスケジュールを削除するには、「スケジューリング・サービス」メニューから、「作業割当て」を選択し、次に「スケジュール」を選択します。

5.4 ジョブのメタデータ・セキュリティの管理

ジョブ・メタデータの作業に対して割り当てるアクセス・レベルを管理できます。Fusion Middleware Controlを使用して、アプリケーションのリソースに対する権限を付与するポリシーを作成できます。

5.4.1 メタデータ・セキュリティ・アクション

特定のアクションをリソースに関連付け、それらの権限(または権限/リソースの組合せ)を特定のユーザー、グループまたはロールに付与することで、権限を付与します。

権限を付与するときには、指定したリソースに対してユーザーが実行できるアクションを指定します。表5-8に使用できるアクションを示します。


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

アクション 結果

READ

ジョブ・メタデータを読み取ります。

EXECUTE

ジョブ・リクエストを送信します。

CREATE

メタデータを追加します。

UPDATE

メタデータを変更します。

DELETE

メタデータを削除します。


権限を関連付けるリソースは、アプリケーションが認識できるエンティティ(エンティティに含まれているパッケージなど)として表現されます。そのリストには、Oracle Enterprise Schedulerで定義された項目に加え、自分またはアプリケーション開発者が定義した項目が含まれています。表5-9に、特定のリソースに特定のアクションの権限を付与したときの効果を例示します。


表5-9 セキュリティのためのサンプル権限付与

リソース アクション 結果

mypackage.JobDefinition.MyJavaSucJobDef

EXECUTE

単一のメタデータ項目に対してリクエストを送信する権限を付与します。

mypackage.subpackage.*

CREATEEXECUTE

/mypackage/subpackageに新規のメタデータ・アイテムを作成して実行する権限を付与します。

JobDefinition.SYS_AdHocRequest

CREATEEXECUTE

非定型発行権限を付与します。

mypackage.*

CREATEEXECUTEDELETE

制限のない権限を付与します


5.4.2 Oracle Enterprise Schedulerリソースのメタデータ・ポリシーの作成方法

Enterprise Managerを使用して関数を作成できます。メタデータ権限を管理するには:

  1. ナビゲーション・ペインで、「WebLogicドメイン」フォルダを展開し、ポリシーを作成するドメインを選択します。
  2. 「WebLogicドメイン」メニューから、「セキュリティ」→「アプリケーション・ポリシー」を選択します。

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

  3. 「検索」セクションの「アプリケーション・ストライプ」ドロップダウンから、作業するアプリケーション・ストライプを選択します。
  4. 「作成」をクリックして、ユーザー、グループまたはアプリケーション・ロールへの権限の付与を開始します。

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

  5. 「アプリケーション権限の作成」ページの「権限受領者」セクションで、「追加」をクリックします。
  6. 「プリンシパルの追加」ウィンドウの「タイプ」ドロップダウンでプリンシパルのタイプを選択し、プリンシパル名または表示名を入力し、検索ボタンをクリックして追加するプリンシパルを検索します。
  7. プリンシパルの検索の下で、使用するプリンシパルをクリックし、「OK」をクリックします。
  8. 「権限」セクションで「追加」をクリックします。
  9. 「検索」セクションで「権限」をクリックします。
  10. 「権限クラス」ドロップダウンから、「oracle.as.scheduler.security.MetadataPermission」を選択します。
  11. 「検索」ボタンをクリックします。
  12. 「検索結果」の下で、権限を割り当てるリソースを選択します。

    「検索結果」表に、アプリケーションよって認識されるエンティティを表すリソースが表示されます。表5-9にいくつか例を示します。

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

    表5-8に使用できるアクションを示します。

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