ヘッダーをスキップ

Oracle Process Manager and Notification Server 管理者ガイド
10gリリース3(10.1.3.1.0)

B31837-01
目次
目次
索引
索引

戻る 次へ

6 opmn.xmlの一般的な構成

この章では、OPMN opmn.xmlファイルの要素および属性の一般的な構成例や詳細について説明します。

この章の項目は次のとおりです。

6.1 opmn.xmlの要素および属性の例

例6-1に、特定のOracle Application Serverコンポーネントに固有でない、opmn.xmlファイルで使用できるすべての要素および属性を示します。


注意

OPMNは、path値文字列に含まれるスラッシュを、OPMNが稼動しているシステムに応じたディレクトリ・パスの区切り文字に変換します。Linuxでは円記号(¥)がスラッシュ(/)に、Microsoft Windowsではスラッシュ(/)が円記号(¥)に変換されます。

OPMNでは、スラッシュの変換を防ぐため、カレット(^)文字をエスケープ文字として使用します。Microsoft Windowsシステムでは、文字列に含まれるカレット・スラッシュ(^/)は、スラッシュ(/)として認識されます。結果として生成される文字列内にカレット(^)文字を使用したい場合は、カレット(^)文字を2つ並べて指定します。たとえば、^^のように指定すると、結果の文字列内に^が表示されます。  


例6-1    一般的な構成の要素および属性

<opmn>
<logpath="path" comp="comp-codes" rotation-size="kBytes" rotation-hour="HOD"/>
<debugpath="path" comp="comp-codes" rotation-size="kBytes" rotation-hour="HOD"/>
   <notification-serverinterface="type">
      <ipaddrremote="ip" request="ip"/>
      <portlocal="port" remote="port" request="port"/>
      <sslenabled="boolean" wallet-file="path" wallet-password="password" openssl-certfile="path"
       openssl-keyfile="path" openssl-password="password" openssl-lib="path"/>
      <tuneio-timeout="timeout" io-idle="interval" timeout="timeout"/>
      <topology>
         <nodes list="nodes"/>
         <discover list="nodes"/>
         <gateway list="nodes"/>
      </topology>
   </notification-server>
   <process-managerinsecure-remote-requests="boolean">
      <process-modules>
         <modulepath="path" tag="tag-id" status="state" cron="interval">
            <module-data>
               <categoryid="id">
                  <dataid="id" value="value" process-conversion="boolean"/>
               </category>
            </module-data>
         <module-idid="module-id"/>
   </module>
</process-modules>
<ias-instanceid="ias-instance-id" name="ias-instance-name" ORACLE_HOME="path">
   <environment>
      <variableid="id" value="value" append="boolean" process-conversion="boolean"/>
   </environment>
<!-- module-data-->
   <rmd-definitions>
      <rmdname="name" description="description" interval="interval">
         <conditional>
            <![CDATA[condition]]>
         </conditional>
      <actionvalue="action"/>
      <exceptionvalue="exception">
   </rmd>
</rmd-definitions>
<ias-componentid="component-id" id-matching="boolean" status="state">
   <!-- environment-->
   <!-- module-data-->
   <dependencies>
      <databasedb-connect-info="connect" infrastructure-key="key" timeout="depend-timeout"
       cache-timeout="cache-timeout"/>
      <OIDaddress="address" infrastructure="boolean" timeout="depend-timeout"
       cache-timeout="cache-timeout">
         <sslenabled="boolean" wallet-file="path" wallet-password="password">
      </OID>
      <OSSOhost="hostname" port="port" URI="uri" timeout="depend-timeout"
       cache-timeout="cache-timeout">
         <sslenabled="boolean" wallet-file="path" wallet-password="password">
      </OSSO>
      <managed-processias-instance="ias-instance-id" ias-component="ias-component-id"
       process-type="process-type-id" process-set="process-set-id" autostart="boolean"
       autostop="boolean" timeout="depend-timeout"cache-timeout="cache-timeout"/>
   </dependencies>
<!-- rmd-definitions-->
   <process-typeid="process-type-id" module-id="module-id" status="state" working-dir="path"
    service-failover="num" service-weight="value">
      <!-- environment-->
      <!-- module-data-->
      <!-- dependencies-->
      <event-scripts>
         <pre-startpath="path">
         <pre-stoppath="path">
         <post-crashpath="path">
      </event-scripts>
         <!-- rmd-definitions-->
      <starttimeout="timeout" retry="num"/>
      <stoptimeout="timeout"/>
      <restarttimeout="timeout" retry="num"/>
      <pingtimeout="timeout" retry="num" interval="interval"/>
      <portid="id" range="range"/>
      <process-setid="process-set-id" restart-on-death="boolean" numprocs="num" minprocs="min"
       maxprocs="max" status="state" working-dir="path" parallel-requests="boolean">
         <!-- environment-->
         <!-- module-data-->
         <!-- dependencies-->
         <!-- event-scripts-->
         <!-- rmd-definitions-->
         <!-- start-->
         <!-- stop-->
         <!-- restart-->
         <!-- ping-->
         <!-- port-->
      </process-set>
      </process-type>
      </ias-component>
      </ias-instance>
      <!-- rmd-definitions(global) -->
   </process-manager>
</opmn>

6.2 opmn.xmlの要素および属性について

この項では、特定のOracle Application Serverコンポーネントに固有でない、opmn.xmlファイルで使用できる要素および属性について紹介するとともに、各要素の属性について説明します。

<opmn>
必須: ○
デフォルト値: なし
親要素: なし
属性: なし

<opmn>は、opmn.xmlファイルの最上位の要素です。

<log>
必須: ×
デフォルト値: 「属性」を参照
親要素: <opmn>
属性: pathcomprotation-sizerotation-hour

OPMNのログ・メカニズムの構成を定義します。

path="path"
必須: ○
デフォルト値: $ORACLE_HOME/opmn/logs/opmn.log
有効値: OPMNのログ・ファイルのパス名

path属性に指定するすべてのディレクトリは存在している必要があります。OPMNには、ログ・ファイルが存在するディレクトリに対して読取りおよび書込み権限が必要です。$ORACLE_HOMEディレクトリを使用することもできます。

comp="comp-codes"
必須: ○
デフォルト値: internalonspm
有効値: comp-codeのリスト。comp-codeのリスト内の各項目は、セミコロンで区切る必要があります。

comp属性には、ログに記録するイベントのコンポーネント・コードを指定します。OPMNの実行時、これらのコードを動的に表示したり変更したりするには、次のコマンドを実行します。

> opmnctl query target=log
> opmnctl set target=log comp=<comp-codes>

OPMNを再ロードすると、これらの値はopmn.xmlファイル内の構成された値に戻ります。

opmn.xmlファイルのlogおよびdebug要素には、次のcomp-codeを指定します。

onsコンポーネントとpmコンポーネントはどちらもサブコンポーネントで構成されます。これらのサブコンポーネントは、構文component[subcomponents]を使用して指定できます。componentの値はonsまたはpmのいずれかで、両方を指定する場合はそれぞれをセミコロンで区切ります。特定のコンポーネントに対して有効なサブコンポーネントのリストを指定する場合は、それぞれのサブコンポーネントをコンマで区切ります。たとえば、comp="ons[local,listener];pm"のように指定します。

表6-1に、ONSコンポーネントのコードの一覧を示します。

表6-1    ONSコンポーネントのコード 
ONSの属性  定義 

all 

すべてのサブコンポーネント 

local 

ローカル情報 

listener 

リスナー情報 

discover 

検出(サーバーまたはマルチキャスト)情報 

servers 

クラスタに接続している、現在稼動中のリモート・サーバー 

topology 

現在のクラスタ全体のサーバー接続トポロジ 

server 

リモート・サーバーの接続情報 

client 

クライアントの接続情報 

connect 

一般的な接続情報 

subscribe 

クライアントのサブスクリプション情報 

message 

通知の受信情報および処理情報 

deliver 

通知配信情報 

special 

特殊な通知処理 

internal 

内部リソース情報 

secure 

SSLの操作情報 

workers 

ワーカー・スレッド 

表6-2に、PMコンポーネントのコードの一覧を示します。

表6-2    PMコンポーネントのコード 
PMの属性  定義 

all 

すべてのサブコンポーネント 

requests 

HTTP(ユーザー)リクエスト 

remote 

リモートHTTPリクエスト 

scheduler 

スケジューラのスレッドおよびリソース情報 

monitor 

監視スレッド情報 

workers 

ワーカー・スレッド 

process 

管理対象プロセス 

depend 

依存性処理 

rmd 

RMDディレクティブ 

fos 

サービスのフェイルオーバー情報 

internal 

内部リソース 

schedjobs 

定期的にスケジュールされているジョブ 

procjobs 

処理がスケジュールされている各ジョブ 

fos 

サービスのフェイルオーバー処理 

dms 

DMS処理 

modules 

process module情報。modLog()(またはデバッグ・ログに対してmodDebug)関数をコールするモジュールのみ出力されます。モジュール(module-id)を使用すると、特定のモジュールまたはその一覧を指定できます。複数のmodule-idを指定する場合は、それぞれのmodule-idをコロンで区切って指定します。たとえば、module1-id:module2-idのように指定します。構成され、有効になっているモジュールと一致しないmodule-idは処理されません。 

onsまたはpmの各サブコンポーネントには、先頭に否定文字!を付けることができます。この場合、そのサブコンポーネントの選択が解除されます。allと指定した後に、特定のサブコンポーネントを否定することによって、そのサブコンポーネントを表示対象から除外できます。

コンポーネントとサブコンポーネントは、処理する順番に設定または否定します。ons[all,!topology]と指定すると、topologyを除く、onsのすべてのサブコンポーネントが出力されます。一方、ons[!topology,all]と指定すると、topologyを含む、onsのすべてのサブコンポーネントが出力されます。

rotation-size="kBytes"
必須: ×
デフォルト値: なし
有効値: 整数

rotation-sizeには、ログ・ファイルの最大サイズをKB単位で指定します。ログ・ファイルのサイズが構成された値に達すると、OPMNのロギング・メカニズムによりログが閉じられ、そのログの名前がタイムスタンプの接尾辞に変更されて、新しいログ・ファイルが作成されます。この属性は、rotation-hourとともに使用することもできます。

rotation-hour="HOD"
必須: ×
デフォルト値: なし
有効値: 0〜23までの整数

指定した日時になると、OPMNのロギング・メカニズムによりログが閉じられ、そのログの名前がタイムスタンプの接尾辞に変更されて、新しいログ・ファイルが作成されます。この属性は、rotation-sizeとともに使用することもできます。

<debug>
必須: ×
デフォルト値: 「属性」を参照
親要素: <opmn>
属性: pathcomprotation-sizerotation-hour

debug要素には、OPMNのデバッグ・ログ・メカニズムの構成を定義します。


注意

opmn.dbgファイルの使用を有効にする場合は、事前にOracleサポート・サービスに問い合せてください。Oracleサポート・サービスでは、opmn.dbgファイルをデバッグやOPMNの問題診断に使用しています。通常、opmn.dbgファイルに含まれるメッセージは、ユーザーが容易に理解できる内容ではありません。  


path="path"
必須: ○
デフォルト値: $ORACLE_HOME/opmn/logs/opmn.dbg
有効値: OPMNのデバッグ・ログ・ファイルのパス名

パス名に指定するすべてのディレクトリはあらかじめ存在している必要があります。また、OPMNには、デバッグ・ログ・ファイルが存在するディレクトリに対して読取りおよび書込み権限が必要です。$ORACLE_HOMEディレクトリを使用することもできます。

comp="comp-codes"
必須: ○
デフォルト値: internalonspm
有効値: comp-codeのリスト。comp-codeのリスト内の各項目は、セミコロンで区切る必要があります。

comp属性には、ログに記録するイベントのコンポーネント・コードを指定します。OPMNの実行時、これらのコードを動的に表示したり変更したりするには、次のコマンドを実行します。

> opmnctl query target=log
> opmnctl set target=log comp=<comp-codes>

OPMNを再ロードすると、これらの値はopmn.xmlファイル内の構成された値に戻ります。

opmn.xmlファイルのlogおよびdebug要素には、次のcomp-codeを指定します。

onsコンポーネントとpmコンポーネントはどちらもサブコンポーネントで構成されます。これらのサブコンポーネントは、構文component[subcomponents]を使用して指定できます。componentの値はonsまたはpmのいずれかで、両方を指定する場合はそれぞれをセミコロンで区切ります。特定のコンポーネントに対して有効なサブコンポーネントのリストを指定する場合は、それぞれのサブコンポーネントをコンマで区切ります。たとえば、comp="ons[local,listener];pm"のように指定します。

表6-3に、ONSコンポーネントのコードの一覧を示します。

表6-3    ONSコンポーネントのコード 
ONSの属性  定義 

all 

すべてのサブコンポーネント 

local 

ローカル情報 

listener 

リスナー情報 

discover 

検出(サーバーまたはマルチキャスト)情報 

servers 

クラスタに接続している、現在稼動中のリモート・サーバー 

topology 

現在のクラスタ全体のサーバー接続トポロジ 

server 

リモート・サーバーの接続情報 

client 

クライアントの接続情報 

connect 

一般的な接続情報 

subscribe 

クライアントのサブスクリプション情報 

message 

通知の受信情報および処理情報 

deliver 

通知配信情報 

special 

特殊な通知処理 

internal 

内部リソース情報 

secure 

SSLの操作情報 

workers 

ワーカー・スレッド 

表6-4に、PMコンポーネントのコードの一覧を示します。

表6-4    PMコンポーネントのコード 
PMの属性  定義 

all 

すべてのサブコンポーネント 

requests 

HTTP(ユーザー)リクエスト 

remote 

リモートHTTPリクエスト 

scheduler 

スケジューラのスレッドおよびリソース情報 

monitor 

監視スレッド情報 

workers 

ワーカー・スレッド 

process 

管理対象プロセス 

depend 

依存性処理 

rmd 

RMDディレクティブ 

fos 

サービスのフェイルオーバー情報 

internal 

内部リソース 

schedjobs 

定期的にスケジュールされているジョブ 

procjobs 

処理がスケジュールされている各ジョブ 

fos 

サービスのフェイルオーバー処理 

dms 

DMS処理 

modules 

process module情報。modLog()(またはデバッグ・ログに対してmodDebug)関数をコールするモジュールのみ出力されます。モジュール(module-id)を使用すると、特定のモジュールまたはその一覧を指定できます。複数のmodule-idを指定する場合は、それぞれのmodule-idをコロンで区切って指定します。たとえば、module1-id:module2-idのように指定します。構成され、有効になっているモジュールと一致しないmodule-idは処理されません。 

onsまたはpmの各サブコンポーネントには、先頭に否定文字!を付けることができます。この場合、そのサブコンポーネントの選択が解除されます。allと指定した後に、特定のサブコンポーネントを否定することによって、そのサブコンポーネントを表示対象から除外できます。

コンポーネントとサブコンポーネントは、処理する順番に設定または否定します。ons[all,!topology]と指定すると、topologyを除く、onsのすべてのサブコンポーネントが出力されます。一方、ons[!topology,all]と指定すると、topologyを含む、onsのすべてのサブコンポーネントが出力されます。

rotation-size="kBytes"
必須: ×
デフォルト値: なし
有効値: 整数

rotation-sizeには、ログ・ファイルの最大サイズをKB単位で指定します。ログ・ファイルのサイズが構成された値に達すると、OPMNのロギング・メカニズムによりログが閉じられ、そのログの名前がタイムスタンプの接尾辞に変更されて、新しいログ・ファイルが作成されます。

rotation-size属性は、rotation-hour属性とともに使用することもできます。

rotation-hour="HOD"
必須: ×
デフォルト値: なし
有効値: 0〜23までの整数

rotation-hour属性はログ・ファイルで使用します。指定した日時になると、OPMNのロギング・メカニズムによりログ・ファイルが閉じられ、そのログの名前がタイムスタンプの接尾辞に変更されて、新しいログ・ファイルが作成されます。この属性は、rotation-size属性とともに使用することもできます。

<notification-server>
必須: ○
デフォルト値: なし
親要素: <opmn>
属性: interface

notification-server要素は、OPMNのONS部分を構成する要素を含むか、またはその要素を構成します。

interface="type"
必須: ×
デフォルト値: 任意
有効値: 任意、IPv6、IPv4

OPMNは、デフォルトでIPv6とIPv4の両方のネットワーク・インタフェースをサポートしています(第3.11項「IPv6サポート」を参照)。OPMNは、リスナー・ポートを両方のインタフェースにバインドし、いずれかのインタフェースを使用して接続を試みます。アドレスが使用可能な場合、OPMNは常にIPv6インタフェースを最初に使用することを試みます。これは、Sun社のJava Virtual Machine(JVM)のデフォルトの動作と同じです。

他のOPMNサーバーへ接続する場合、IPv4とIPv6の両方で同じネットワークを使用する必要があります。たとえば、IPv4インタフェースが使用可能であっても、IPv6によってIPv6ネットワーク・インタフェースのみが強制的に使用されます。したがって、OPMNは、同じネットワーク・インタフェースを使用する他のOPMNサーバーとの間でのみ接続が可能です。同じネットワーク・インタフェースのサポートを提供していないシステムにIPv4またはIPv6を構成すると、OPMNは起動しません。

<ipaddr>
必須: ○
デフォルト値: なし
親要素: <notification-server>
属性: remoterequest

iapddr要素には、ONSリスナー・スレッドやホストとポートのバインドに使用するホスト情報を指定します。

remote="ip; ip"
必須: ×
デフォルト値: なし
有効値: ONSが自身のリモート・ポートをバインドするIPアドレス(###.###.###.###の形式で指定)またはホスト名。IP値のリストを使用して、ONSを特定のIPアドレスのセットにバインドするように構成できます。リスト内の各IP値は、セミコロンで区切る必要があります。

remote属性には、ONSが自身のリモート・ポートをバインドするIPアドレスまたはホスト名を指定します。リモート・ポートは、ONS間の通信に使用されます。ONS間の通知の送受信はリモート・ポートを介して行われます。OPMNは、ONSを使用し、リモート・ポートを介して他のOPMNサーバーにリモート・リクエストをルーティングします。

request="ip; ip"
必須: ×
デフォルト値: デフォルト・システムのホスト名のIPアドレス
有効値: ONSが自身のリクエスト・ポートをバインドするIPアドレス(###.###.###.###の形式で指定)またはホスト名。IP値のリストを使用して、ONSを特定のIPアドレスのセットにバインドするように構成できます。リスト内の値は、セミコロンで区切る必要があります。

request属性には、ONSが自身のリクエスト・ポートをバインドするIPアドレスまたはホスト名を指定します。このポートはステータス情報の取得にのみ使用されます。

<port>
必須: ○
デフォルト値: なし
親要素: <notification-server>
属性: localremoterequest

port要素には、ONSリスナー・スレッドやホストとポートのバインドに使用する構成情報が含まれます。

local="port"
必須: ○
デフォルト値: なし
有効値: 有効なポート番号

local属性には、ONSのローカル・ポートの値を指定します。

remote="port"
必須: ×
デフォルト値: なし
有効値: ポート番号

remote属性には、ONSのリモート・ポートの値を指定します。

request="port"
必須: ×
デフォルト値: なし
有効値: ポート番号

request属性には、ONSのリクエストportの値を指定します。

<ssl>
必須: ×
デフォルト値: なし
親要素: <notification-server>
属性: enabledwallet-filewallet-passwordopenssl-certfileopenssl-keyfileopenssl-passwordopenssl-lib

ssl要素は、ONS間のセキュリティおよび認証構成に使用されます。Oracle SSLレイヤー(wallet-fileおよびwallet-password)またはOpen SSLレイヤー(openssl-certfileopenssl-keyfileopenssl-passwordおよびopenssl-lib)のいずれかを構成します。両方は使用できません。Oracle SSLレイヤーとOpen SSLレイヤーを同じopmn.xmlファイル内に構成すると、サーバーが起動しません。

Oracle SSLレイヤーは、Oracle Application ServerまたはOracle Database製品のいずれかに付属するライブラリを使用します。Oracle SSLレイヤーは、標準のOracle Walletを使用します。

Open SSLレイヤーは、暗号化ハードウェアに対するより優れたパフォーマンス、ドキュメントおよびサポートを提供します。Open SSLレイヤーの方が、OPMN内部で使用するハードウェア領域が少なくなります。Open SSLは、セキュリティ・プロトコルを開発するためのオープン・ソースのツール・キットです。詳細は、次を参照してください。

http://www.openssl.org

enabled="boolean"
必須: ○
デフォルト値: なし
有効値: trueまたはfalse

enabled値がtrueに設定されると、ONSでSSL接続が有効になります。

wallet-file="path"
必須: ×(Oracle SSLでのみ使用)
デフォルト値: なし
有効値: Oracle Walletのパス名

wallet-file属性には、ONS接続の認証に使用するOracle Walletのパス名を指定します。$ORACLE_HOMEディレクトリを使用することもできます。

wallet-password="password"
必須: ×(Oracle SSLでのみ使用)
デフォルト値: なし
有効値: Walletのパスワードに使用する文字列

wallet-password属性には、指定したOracle Walletに使用するパスワード文字列を指定します。

openssl-certfile="path"
必須: ○(Open SSLでのみ使用)
デフォルト値: なし
有効値: Open SSLの証明書ファイルのパス名

openssl-certfile属性には、ONS接続の認証に使用するOpen SSLの証明書ファイルを指定します。$ORACLE_HOMEディレクトリを使用することもできます。

openssl-keyfile="path"
必須: ○(Open SSLでのみ使用)
デフォルト値: なし
有効値: Open SSLの鍵ファイルのパス名

openssl-keyfile属性には、ONS接続の認証に使用するOpen SSLの鍵ファイルを指定します。$ORACLE_HOMEディレクトリを使用することもできます。

openssl-password="password"
必須: ○(Open SSLでのみ使用)
デフォルト値: なし
有効値: openssl-keyfileのパスワードに使用する文字列

openssl-password属性には、指定したopenssl-keyfileに使用するパスワード文字列を指定します。

openssl-lib="path"
必須: ×(Oracle SSLでのみ使用)
デフォルト値: なし
有効値: Open SSLライブラリのパス名

openssl-lib属性には、共有ライブラリのファイル(libsslおよびlibcryptoなど)が存在するOpen SSLライブラリのパス名を指定します。openssl-libのパス名を指定しない場合は、OPMNを起動する環境の適切なシステム変数にパス名を含める必要があります。$ORACLE_HOMEディレクトリを使用することもできます。

<tune>
必須: ×
デフォルト値: 「属性」を参照
親要素: notification-server
属性: io-timeoutio-idletimeout

tune要素には、Tuneable Notification ServerのONSパラメータに関する情報が含まれます。

io-timeout="timeout"
必須: ×
デフォルト値: 30
有効値: 0または4〜3600までの整数

io-timeoutには、ローカル・サーバーに直接接続された各リモートOPMN(またはONS)サーバーで使用される、ソケットでの読取りタイムアウト値を指定します(秒単位)。リモート・サーバーがio-timeoutに構成された時間内にローカル・サーバーとの接続を介してデータを受信しないと、リモート・サーバーで接続がタイムアウトし、ソケットが閉じられます。io-timeout値は、リモートOPMN(またはONS)サーバーでローカル・サーバーに対して使用されるタイムアウト時間です。

io-timeout値は、ONS接続が切断された後のリソース・クリーンアップのタイムアウトとしても使用されます。タイムアウト前に接続が再確立されると、リソースは新しい接続に送信されます。接続が再確立されない場合、リソースはタイムアウト時間が経過した後に解放されます。

サービスのフェイルオーバー参加状態、重複したONS通知の検出状態、および停止中の接続にルーティングされた通知には、すべてio-timeout値が使用されます。通知は、タイムアウトが発生するか接続が再確立されるまで、停止中の接続へのキューに格納されます。

ビジー状態またはオーバーロードしているシステムで実行されているサーバーでは、io-timeoutパラメータの値を増やす必要があります。

0を指定すると、リモート・サーバーでの、ローカル・サーバーに対するio-timeoutを使用したチェックが無効化されます。このio-timeoutにより、フェイルオーバー参加状態、重複したONS通知の検出状態、および停止中の接続へのキューに格納された通知のクリーン・アップが無効になります。通知は接続が再確立されるまでキューに格納されます。タイムアウト・チェックが無効になっており、接続が再確立されない場合、リモートOPMN(またはONS)サーバーのメモリー消費が増加し続ける可能性があります。io-timeoutパラメータの値は、デバッグ時にのみ0に設定してください。

構成された値が0以外で最小値より小さい場合は、最小値に設定されます。最大値より大きい場合は最大値に設定されます。

io-idle="interval"
必須: ×
デフォルト値: io-timeout - (io-timeout / 3)
有効値: 2〜(io-timeout - 2)までの整数

ローカル・サーバーが、直接接続された各リモート・サーバーにメッセージを送信する時間隔を指定します(秒単位)。構成された時間隔内にローカル・サーバーから任意のリモート・サーバーへ通常のネットワーク通信が行われなかった場合は、リモート・サーバーにメッセージが送信されます。

io-idleパラメータは、アイドルであるが応答するOPMNサーバーがリモート・サーバーに接続しているときに、その接続がタイムアウトしないようにします。ビジー状態のシステムでは、この値をio-timeout値よりもはるかに小さい値にする必要があります。これにより、リモート・サーバーがタイムアウトを検出する前に、ローカル・サーバーがアイドル・メッセージをリモート・サーバーへのキューに入れて送信するための十分な時間を確保します。

io-timeoutが0の場合、io-idle属性は無視されます。構成された値が最小値より小さい場合は、最小値に設定されます。最大値より大きい場合は最大値に設定されます。

timeout="timeout"
必須: ×
デフォルト値: 20
有効値: 1〜3600までの整数

timeoutパラメータには、ローカルOPMNサーバーに対する接続試行およびクライアント接続書込みに使用されるソケット・タイムアウト値を指定します(秒単位)。ローカルOPMNサーバーへの接続のハンドシェイクが、構成されたタイムアウト値よりも長くかかる場合は、ソケットが閉じられ接続リソースが使用可能になります。クライアント接続ソケットでの書込みが、構成されたタイムアウト値よりも長くかかる場合は、ソケットが閉じられ接続リソースが使用可能になります。

<topology>
必須: ×
デフォルト値: なし
親要素: notification-server
属性: なし

topology要素には、クラスタ内のONSトポロジに関する構成情報が含まれます。

<nodes>
必須: ×
デフォルト値: なし
親要素: topology
属性: list

nodes要素には、ローカルOPMNサーバーとして同一クラスタ内に存在する、OPMNサーバーの特定アドレスのリストを指定します。リストには、ローカルOPMNサーバーが含まれます。複数のnodes要素を構成できます。

list="list-of-nodes"
必須: ○
デフォルト値: なし
有効値: カンマで区切ったノードのリスト。各ノードは、クラスタ内のOPMNサーバーを表します。

nodeエントリは、ローカルOPMNサーバーがリモートOPMNサーバーへの接続を試行する、クラスタ内のインスタンスを表します。この接続を介して、通知、ステータスおよびユーザー・リクエストなどの情報が送信されます。構成されたリモート・ノードに接続できない場合、OPMNは120秒ごとに接続を再試行します。重複エントリは無視されます。

nodeエントリは、アドレス:ポートの形式で指定する必要があります。アドレスは、有効なTransmission Control Protocol(TCP)IPアドレスである必要があります。OPMNでサポートされているIP接続の詳細は、第3.11項「IPv6サポート」を参照してください。

node値は、システムで実行されているOPMNサーバーに対応している必要があります。OPMNサーバーは、アドレスで指定し、port要素で指定したリモート・ポートをリスニングするように構成する必要があります。

アドレス値は、対応するOPMNに対して構成されたものと同じである必要があります。システムに複数のIPアドレスやホスト名がある場合、アドレス値は、notification-serveripaddr要素のremote属性で構成された値と一致する必要があります。

各ノードのアドレス部分は、同じシステムのホスト名またはIPアドレスのリストで構成されます。このリストは、リモート・ノードのipaddrのremote属性が、同じ情報で構成されている場合のみ使用可能です。リストされたホスト名とIPアドレスは、セミコロンで区切る必要があります。

port要素の値は、notification-server要素のport要素のremote属性で構成された値と一致する必要があります。

たとえば、次のように入力します。

<discover>
必須: ×
デフォルト値: なし
親要素: topology
属性: list

discover要素には、検出サービスのアドレスのリストを指定します。ローカルOPMNサーバーは、このdiscover要素を使用して、同じクラスタ内のリモートOPMNサーバーを検出して接続します。複数のdiscover要素を構成できます。

list="list-of-services"
必須: ○
デフォルト値: なし
有効値: 検出マルチキャスト・アドレスまたは検出OPMNホスト・アドレスのリスト。サービスのリストは、カンマで区切る必要があります。

各サービス・エントリは、ローカルOPMNサーバーが同一クラスタ内のリモートOPMNサーバーを見つけるための検出リソースを表します。検出されたトポロジの各OPMNサーバーは、同一トポロジ内の他のOPMNサーバーへの接続を自動的に管理します。サービスは、マルチキャスト・ノードまたはホスト・ノードの2つのタイプのいずれかになります。

マルチキャスト・ノードの構文は、*nodeです。*nodeには、マルチキャストIPアドレス(またはホスト名)とポートのペアを指定します(nodesを参照)。OPMNでは、通常、任意のOPMNサーバーは単一の検出トポロジにのみ参加するのに対し、一意の*nodeエントリは、結合されるインスタンスの個別のトポロジとして処理されます。

たとえば、次のように入力します。

<discover list="*225.0.0.37:8205"/>

マルチキャスト・アドレスは、224.0.0.1〜239.255.255.255の有効なアドレス範囲内にある必要があります。IPアドレスの前のアスタリスク(*)は必ず指定してください。これは、指定された値がマルチキャスト・アドレスであるということをOPMNに伝えるものです。

検出サーバー・ノードの構文はnodeです。nodeは、クラスタ内のOPMNインスタンスに対するIPアドレス(またはホスト名)とOPMNリモート・ポートのペアで、トポロジ内で検出ホストとして機能します。各トポロジに複数の検出サーバーを構成できます。

たとえば、次のように入力します。

<discover list="host1.com:6200"/>

各検出トポロジ内では、OPMNによってサーバーの循環接続が維持されます。それぞれが離れたロケーションにあるインスタンスのグループを持つクラスタの場合、インスタンスはロケーションに基づいた個別のトポロジにグループ化する必要があります。この場合、個別のトポロジはゲートウェイ・メカニズムによって結合する必要があります。

多数のインスタンスをループする検出トポロジの場合、OPMNは、循環接続ループを自動的に小さなサブ・ループに分割し、サーバー間で通知の送受信に要する待機時間を短縮します。ノード数が16を超えると、OPMNではデフォルトで循環ループを自動的に分割します。この自動分割のしきい値は、[number]接頭辞を検出リストの前に付けることによって構成できます。numberは、OPMNによってトポロジのループ内で許可されるインスタンスの最大数です。この数を超えると、トポロジのループが複数ループに分割されます。numberの最小値は8です。

たとえば、次のように入力します。

<gateway>
必須: ×
デフォルト値: なし
親要素: topology
属性: list

gateway要素は、独立した検出トポロジ間の接続に使用されます。複数のgateway要素を構成できます。

list="list-of-gateways"
必須: ○
デフォルト値: なし
有効値: ゲートウェイのリスト。各ゲートウェイは、2つのOPMN検出トポロジ間のリンクまたはリンクのセットを表します。リスト内の各ゲートウェイは、カンマで区切る必要があります。

gatewayの構文はsource/targetです。

source/targetは、ノード・エントリのリストです。各ノード・エントリは、アンパサンド(&)で区切ります。詳細は、nodesを参照してください。ソースにリストされたOPMNサーバーは、ターゲットにリストされたOPMNサーバーにそれぞれ接続されます。ターゲットが省略されている場合は、ソースと同じ値であると判断されます。ソースにリストされていないOPMNサーバーでは、gatewayの指定は無視されます。

次に例を示します。

host1aのOPMNサーバーは、サブネットsubAに切り離された検出トポロジの一部であり、このトポロジとサブネットsubB上の独立した検出トポロジとの間のゲートウェイ・インスタンスとして選択されています。host1bのOPMNサーバーは、サブネットsubBに切り離された検出トポロジの一部であり、このトポロジとサブネットsubA上の独立した検出トポロジとの間のゲートウェイ・インスタンスとして選択されています。

<gateway list="host1a.subA.com:6200&host1b.subB.com:6200/"/>

この構成では、OPMNサーバーhost1a.subA.com:6200はOPMNサーバーhost1b.subB.com:6200に接続され、OPMNサーバーhost1b.subB.com:6200はOPMNサーバーhost1a.subA.com:6200に接続されます。

最大の冗長性を実現するため、各検出トポロジのゲートウェイとして複数のホストを構成する場合があります。

次に例を示します。

host1aのOPMNサーバーは、サブネットsubAに切り離された検出トポロジの一部であり、このトポロジとサブネットsubB上の独立した検出トポロジとの間のゲートウェイ・インスタンスとして選択されています。host1bのOPMNサーバーは、サブネットsubBに切り離された検出トポロジの一部であり、このトポロジとサブネットsubA上の独立した検出トポロジとの間のゲートウェイ・インスタンスとして選択されています。

次は前述の例と同じですが、各サブネットに2つのホストが構成されます。

<gateway 
list="host1a.subA.com:6200&host2a.subA.com:6200&host1b.subB.com:6200&host2b.subB.com:62
00/"/>

ただしこの構成では、サブネットAの2つのインスタンスが常に相互接続して、サブネットBの2つのノードが常に相互接続します。その結果、不要な接続オーバーヘッドが発生します。

より厳密に構成するには、2つの個別のgateway要素が必要になります。

<gateway 
list="host1a.subA.com:6200&host2a.subA.com:6200/host1b.subB.com:6200&host2b.subB.com:62
00"/>
<gateway 
list="host1b.subB.com:6200&host2b.subB.com:6200/host1a.subA.com:6200&host2a.subA.com:62
00"/>

これで、同一サブネット上のインスタンスは必要に応じて相互接続するようになります。

<process-manager>
必須: ○
デフォルト値: なし
親要素: <opmn>
属性: insecure-remote-requests

process-managerには、OPMNのPM部分の構成の定義が含まれます。

insecure-remote-requests="boolean"
必須: ×
デフォルト値: false
有効値: trueまたはfalse

insecure-remote-requests属性には、セキュリティ機能が構成されるまでリクエストを無効にする、セキュリティ・チェックを行うかどうかを指定します。デフォルトでは、ONSのSSLが有効でありWalletファイルが認証用に構成されている場合にのみ、OPMNがリモート OPMNサーバーからルーティングされたリクエストの起動、停止、再起動、シャットダウンおよび再ロードを許可します。


注意

insecure-remote-requests属性をtrueに設定すると、セキュリティ・チェックが無効になるため、セキュリティ機能が構成されていない状態でこれらのリクエストをリモートで発行できるようになります。

insecure-remote-requests属性をtrueに設定することには重大なセキュリティ上のリスクを伴うため、セキュリティを強化したファイア・ウォールを設定するか、外部ネットワークから完全に切断した状態で、接続したOPMNサーバーをテストする場合にのみ使用してください。 


<process-modules>
必須: ○
デフォルト値: なし
親要素: <process-manager>
属性: なし

process moduleは、特定のprocess-type要素のセットをサポートするように設計されており、それらのprocess-type要素が構成されている場合にのみ必要となります。PMは、指定したprocess moduleごとにライブラリを動的にロードします。

<module>
必須: ○
デフォルト値: なし
親要素: <process-modules>
属性: pathtagstatuscron

module要素は、PMに対してprocess-type固有のサポートを提供します。各モジュールは、共有ライブラリとして実装されます。実装されたモジュールは一連の標準機能をエクスポートし、PMのprocess module APIを使用します。モジュールには、サポートするprocess-typeのリストを指定する必要があります。1つの構成済process moduleのみ、特定のprocess-typeをリストします。2つのモジュールに同じprocess-typeをリストすることはできません。

path="path"
必須: ○
デフォルト値: なし
有効値: モジュールの共有ライブラリのパス名

path属性には、共有ライブラリ・ファイルのパス名を指定します。ライブラリ・ファイルには、Linuxの場合は.so、Microsoft Windowsの場合は.dllというシステム接尾辞が付きます。接尾辞は省略できます。その場合、接尾辞はOPMNによって自動的に追加されます。パスを指定するときには、ORACLE_HOMEを使用できます。

tag="tag-id"
必須: ×
デフォルト値: path要素で指定する値
有効値: モジュールを一意に識別する文字列

このtag属性によってモジュールを識別します。モジュールは、PMのログ・ファイルにエラーを記録する場合やリクエストへのレスポンスの一部として、自身のタグの値をレポートします。必須ではありませんが、この属性に意味のある値を設定すると、プロセス管理の問題の追跡に役立ちます。

status="state"
必須: ×
デフォルト値: enabled
有効値: criticalenabledまたはdisabled

モジュールをenabledに設定すると、PMは自身の共有ライブラリをロードして、モジュールの初期化機能を起動およびコールします。disabledに設定すると、モジュール・エントリは完全に無視されます。opmn.xmlにモジュールのprocess-typeが構成されている場合は、このprocess-typedisabledに設定する必要があります。criticalに設定した場合の動作は、モジュールの初期化が失敗した場合にOPMNが致命的なエラー・コードで終了する点を除いて、enabledに設定した場合と同じです。

cron="interval"
必須: ×
デフォルト値: なし
有効値: 整数

モジュールのcronコールバック機能をコールする時間隔を秒単位で指定します。cronコールバックをサポートしないモジュールに対してcronの時間隔を設定することはできません。独自に設計したモジュールを使用する場合を除いて、この属性は追加および変更しないでください。

<module-data>
必須: ×
デフォルト値: なし
親要素: <module><ias-instance><ias-component><dependencies><process-set>
属性: なし

特定のモジュールにのみ意味のある、モジュール固有の名前と値のペアを定義する場合は、module-dataブロックを使用します。各module-dataブロックは、名前と値のデータのペアを含むカテゴリに分類されます。

module-dataブロックは、opmn.xmlファイル内の複数の要素に対して定義できます。またOPMNは、process-setレベルに、それ以上のレベルで定義されたすべての値を含むmodule-data集合体ブロックを作成します。この階層内に同じ category iddata idを持つ複数の定義が存在する場合は、最下位レベルに定義された値が使用されます。

表6-5に、階層内の各レベル(一番上が最上位レベル)で定義されたmodule-dataと、すべてのmodule-data定義のprocess-setレベルにおける結果の共用体を示します。

表6-5    module-dataの階層 
モジュール  定義 

ias-instance 

<category id="CatA">
   <data id= "DataAA" value="aaaa"/>
</category>
 
ias-component
 
<category id="CatA">
   <data id= "DataAB" value="abab"/>
</category>
<category id="CatB">
   <data id= "DataBA" value="baba"/>
</category>
 
module
 
<category id="CatA">
   <data id= "DataAC" value="acac"/>
</category>
 
process-type
 
<category id="CatA">
   <data id= "DataAA" value="XXXX"/>
</category>
 
process-set
 
<category id="CatB">
   <data id= "DataBB" value="bbbb"/>
</category>
 
RESULT
 
<category id="CatA">
   <data id= "DataAA" value="XXXX"/>
   <data id= "DataAB" value="abab"/>
   <data id= "DataAC" value="acac"/>
</category>
<category id="CatB">
   <data id= "DataBA" value="baba"/>
   <data id= "DataBB" value="bbbb"/>
</category>
 
<category>
必須: ○
デフォルト値: なし
親要素: <module-data>
属性: id

category要素は、module-dataブロック内の編成レベルを表します。

id="id"
必須: ○
デフォルト値: なし
有効値: 文字列

このid文字列によってデータ・カテゴリを識別します。1つのmodule-dataブロック内の各カテゴリIDは一意にする必要がありますが、複数のmodule-dataブロックに同じデータ・カテゴリIDを含めることができます。この場合、これらのカテゴリは関連していると見なされます。

<data>
必須: ○
デフォルト値: なし
親要素: <category>
属性: idvalueprocess-conversion

module-data カテゴリ内のデータ名の値を定義します。

id="id"
必須: ○
デフォルト値: なし
有効値: 文字列

この文字列によってデータ属性を識別します。1つのカテゴリ内の各データIDは一意にする必要がありますが、複数のカテゴリに同じデータIDを含めることができます。異なるカテゴリ内に定義された、他のデータ要素と同じidを持つデータ要素は互いに関連します。

value="value"
必須: ○
デフォルト値: なし
有効値: 文字列

データ要素のidに関連付けられた値文字列です。process-setの範囲内(process-set以上の任意のレベル)に定義された任意の環境変数は、$variableまたは%variable%のような値文字列で参照され、変数値に展開されます。この範囲内には、データ値が(process-set以上の任意のレベルに)定義されています。

process-conversion="boolean"
必須: ×
デフォルト値: true
有効値: trueまたはfalse

process-conversion属性には、区切り文字を指定できます。OPMNはデフォルトで、data値文字列に含まれるスラッシュを、OPMNが稼動しているシステムに応じたディレクトリ・パスの区切り文字に変換します。UNIXでは円記号(¥)がスラッシュ(/)に、Windowsではスラッシュ(/)が円記号(¥)に変換されます。この変換を無効にする場合は、この属性をfalseに設定します。

process-conversionがtrueの場合は、OPMNではスラッシュの変換を防ぐため、カレット(^)文字をエスケープ文字として使用することに注意してください。たとえば、Windowsシステムでは、カレット・スラッシュ(^/)はスラッシュ(/)として認識されます。結果として生成される文字列内にカレット(^)文字を使用したい場合は、カレット(^)文字を2つ並べて指定します。たとえば、^^のように指定すると、結果の文字列内に^が表示されます。

<data id="routing-id">
必須: ×
デフォルト値: なし
親要素: category
属性: value

data idには、routing-idモジュールの値を定義します。

routing-idの詳細は、『Oracle HTTP Server管理者ガイド』を参照してください。

value="routing id"
必須: ○
デフォルト値: なし
有効値: 任意の文字列

routing idには、OC4JとOracle HTTP Server間のルーティング上の関係を指定します。つまり、Oracle HTTP Serverは、同一のrouting idを持つすべてのOC4Jに対してルーティングを行います。デフォルトでは、routing idは、opmn.xmlファイルのias-instance下でmodule dataとして指定されています。routing-idのデフォルトはg_rt_idです。opmn.xmlファイルでは階層制が採用されており、opmn.xmlファイルに構成されているすべてのコンポーネントは、routing idの構成を継承します。Oracle HTTP ServerまたはOC4Jに別のrouting idを構成するには、opmn.xmlファイルで下位のrouting idを構成する必要があります。opmn.xmlファイルの多くのエントリと同様に、下位に構成されたエントリは、上位に構成されたエントリよりも優先されます。

<module-id>
必須: ○
デフォルト値: なし
親要素: <module>
属性: id

module-id名は、プロセスのタイプを定義し、この構成をprocess moduleと関連付けます。

この識別子は各process-typeで使用し、そのprocess-typeをサポートするモジュールを指定します。1つのモジュールに複数のmodule-idを構成できます。

id="module-id"
必須: ○
デフォルト値: なし
有効値: 文字列
<ias-instance>
必須: ○
デフォルト値: なし
親要素: <process-manager>
属性: idORACLE_HOME

Oracle Application Serverインスタンスの構成を定義します。各OPMNでサポートされるias-instanceは1つだけです。

id = ias-instance-id; name = ias-instance-name; ORACLE_HOME = "path name"

id="ias-instance-name"
必須: ○
デフォルト値: なし
有効値: 文字列

この文字列には、ias-instanceのIDを指定します。

name="ias-instance-name"
必須: ×
デフォルト値: ias-instance-id
有効値: 文字列

name文字列には、ias-instanceの名前を指定します。この値が、有効範囲のOPMNリクエストのインスタンスの識別に使用されます。

ORACLE_HOME="path"
必須: ○
デフォルト値: なし
有効値: パスを示す文字列

このORACLE_HOMEパス属性は、Oracle Application Serverインスタンスと同じORACLE_HOMEである必要があります。

<environment>
必須: ○
デフォルト値: 次の段落を参照
親要素: ias-instanceias-componentprocess-typeprocess-set
属性: なし

module-dataブロックと同様に、environmentブロックはopmn.xmlファイル内の複数の要素に定義できます。またOPMNは、process-setレベルに、それ以上のレベルで定義されたすべての値を含むenvironment集合体ブロックを作成します。この階層内に同じidを持つ複数の定義が存在する場合は、最下位レベルに定義された値が使用されます。


注意

OPMNは、ias-instanceレベルに次のデフォルトの環境変数を設定します。値は、ias-instance構成またはOPMNランタイム環境から抽出されます。

Linux: ORACLE_HOMEORACLE_NLSOPMN_ENV_LC_ALLOPMN_ENV_LANGOPMN_ENV_NLS_LANGSHELL

Microsoft Windows: COMSPECSYSTEM_DRIVESYSTEM_ROOT 


<variable>
必須: ○
デフォルト値: なし
親要素: <environment>
属性: idvalueappendprocess-conversion

variable要素には、環境変数の名前と値を定義します。

id="id"
必須: ○
デフォルト値: なし
有効値: 文字列

idには、環境変数の名前を指定します。environment idenvironmentブロック内で重複できますが、最後に定義した値が前に定義した値よりも優先されます。異なる要素のenvironmentブロックで、同じenvironment idを定義できます。この場合、最下位レベルに定義した値が、それより上のレベルで定義した値よりも優先されます。

value="value"
必須: ○
デフォルト値: なし
有効値: 文字列

環境変数の値を指定します。$variableまたは%variable%のような値文字列で参照される環境変数が変数値に展開されます。上位レベルの定義や同じenvironmentブロック内の前の定義を使用する場合、同じ環境変数であればこの変数は自身を参照します。

環境変数を参照する場合は、Linuxシェル構文の$variableまたは${variable}、あるいはMicrosoft Windows形式の%variable%を使用できます。何も定義されていない変数を参照した場合、変数はそのまま維持されます。つまり、value="_notdefined_"は何も変更されません。

たとえば、次のenvironmentブロックでは、accumulateに"foobar"という値を指定しています。

<environment>
   <variable id="accumulate" value="foo">
   <variable id="accumulate" value="${accumulate}bar">
</environment>

append="boolean"
必須: ×
デフォルト値: false
有効値: trueまたはfalse

trueを指定すると、新しい環境変数値を以前に定義した値に追加するようにOPMNを強制できます。値の間はシステム・ライブラリ・デリミタ(Linuxの場合は':'、Microsoft Windowsの場合は';')で区切られます。これは、CLASSPATHなどの変数に使用する値をまとめる際に役立ちます。

たとえば、次のenvironmentブロックでは、LinuxシステムのCLASSPATHに"/foo:/bar"という値を指定しています。

<environment>
   <variable id="CLASSPATH" value="/foo">
   <variable id="CLASSPATH" value="/bar" append="true">
</environment>

process-conversion="boolean"
必須: ×
デフォルト値: true
有効値: trueまたはfalse
<rmd-definitions>
デフォルト値: なし
親要素: ias-instanceias-componentprocess-typeprocess-setprocess-manager
属性: なし

RMD定義を使用すると、ユーザーが構成する一連のディレクティブに従って、システムの状態に基づくプロセス管理コマンドを発行できます。考慮するシステム条件には、Oracle Application Serverインスタンスで入手可能な任意のDMSメトリックが含まれます。DMSメトリックには、事前設定されている常駐のメトリックと、他のアプリケーションによって定義および実装されるメトリックがあります。

RMD定義は、次のいずれかになります。

<rmd>
必須: ○
デフォルト値: なし
親要素: rmd-definitions
属性: name、description、interval

条件を指定するディレクティブと、その条件がtrueと評価されたときに実行されるアクションのセット、および任意のアクションが失敗したときに実行されるexceptionのオプション・セットを指定します。

name="name"
必須: ○
デフォルト値: なし
有効値: RMDの識別子

階層RMDの場合、この名前は、階層RMDが定義された階層コンポーネント内で一意である必要があります。グローバルRMDの場合は、global rmd-definitionsブロック内で一意である必要があります。

description="description"
必須: ×
デフォルト値: なし
有効値: 文字列

RMDの説明を指定します。

interval="interval"
必須: ×
デフォルト値: 30
有効値: 5以上または文字列"joinons group"

interval属性には、RMDの条件チェックの時間隔を指定します。チェックの実際の時間隔は、システムの負荷により、構成されたintervalよりも長くなる場合があります。小さい値を設定すると、RMDを頻繁にチェックすることになり、余分なシステム・リソースを消費します。

intervalを文字列"joinonsgroup"に設定すると、OPMNサーバーが新しいONSトポロジ・グループを追加したことをONSレイヤーが検出した際、RMDが評価されます。

<conditional>
必須: ○(rmd属性がinterval="joinonsgroup"の場合は×)
デフォルト値: なし
親要素: rmd
属性: CDATA

conditional要素には、OPMNによって評価される条件文が含まれます。

<![CDATA[statement]]/>
必須: ○
デフォルト値: なし
有効値: 文字列(条件文)

CDATA条件文には、actionをトリガーするシステムの状態を記述します。この文は、値比較の論理的な組合せで構成されます。OPMNのあらゆる機能と同様に、条件文では大文字と小文字が区別されます。使用可能な値には、次のタイプがあります。

DMSメトリックは、OPMN DMSツリー内の位置に基づいて記述します。メトリックは、完全修飾されたパス名、階層の相対参照またはグローバルの絶対参照のいずれかで指定します。

ターゲット・メトリックの完全修飾されたパス名は、スラッシュ(/)から始めます。完全修飾されたパス名には、OPMNインスタンスの完全パス名を含めます。OPMNインスタンスの接頭辞は、完全修飾されたパス名に自動的に追加されます。たとえば、次のように入力します。

/pm/host_statistics/freePhysicalMem

完全修飾されたパス名を持つメトリックは、階層RMDおよびグローバルRMDの両方のconditionalで参照できます。

RMD要素が階層の場合、メトリックには相対パス名の形式を使用する必要があります。たとえば、次のように入力します。

[process-set].numProcs

この例は、RMDが評価される階層内の任意のprocess-setnumProcsを指定します。このルールの例外はapplicationメトリックです。このメトリックでは、パス名は相対と絶対のどちらでも指定できます。階層RMDのconditionalで指定できるコンポーネントは次のとおりです。

RMD要素がグローバルの場合、メトリックは開始位置の絶対表記から始めて、その後ろに相対パス名を指定する必要があります。たとえば、次のように入力します。

[ias-component=HTTP_Server][process-set=HTTP_Server].numProcs

この例では、ias-component=HTTP_Serverに属する、process-setHTTP_ServerのメトリックnumProcsを指定します。このルールの例外は次のとおりです。

グローバルRMDのconditionalで指定できるコンポーネントは次のとおりです。

OPMNプロセスのリクエストと同様、ディレクティブで指定されていないコンポーネントはワイルドカードと見なされます。したがって、[process-set=home]を参照するグローバルRMDは、opmn.xmlファイル内のid"home"で構成されたすべてのprocess-setについて評価されます。

1つのconditionalで複数のOPMN論理コンポーネントを参照することはできません。たとえば、同じconditionalでは[ias-component=HTTP_Server]を参照できません。同様に、下位の構成コンポーネントへの参照は、同じconditional内の参照先の上位コンポーネントに属することができません。

階層RMDおよびグローバルRMDでは、複数の項目をカッコで囲んで指定できますが、後続の各項目でツリーを絞り込む必要があります。つまり順序としては、ツリーの頂点から枝葉に向かうようにする必要があります。たとえば、processias-componentの前に記述することはできません。

定数値は、小数点を含む平易な数値である必要があります。定数値をDMSメトリックと比較する場合は、比較対象であるDMSメトリックと同じ単位にする必要があります。この数値は、OPMNによって類似した値に変換されます。

24時間形式(hh:mm)で構成される時間値は、オプションの曜日インジケータと結合されます。曜日の略語は、sunmontuewedthufriおよびsatです。曜日インジケータには、単一の値、カンマ区切りリストまたはダッシュを使用したリストを指定します。

現在の時間は、キーワード{time}で表します。演算子の左側に指定された曜日に、演算子の右側に指定された曜日が含まれていない場合、時間比較はfalseと評価されます。

デフォルトでは、曜日は値が等しい場合にのみ評価されます。曜日の評価がtrueの場合は、時間値も評価されます。

曜日の後ろに@文字を追加することにより、単一の曜日に対する比較を強制できます。日曜(sun)は値0、土曜(sat)は値6として扱われます。たとえば、次のように入力します。

値の比較には、次より小さい(<)、次以下(<=)、次より大きい(>)、次以上(>=)、次と等しい(=)、または次と等しくない(!=)があります。

一重引用符(')を使用すれば文字列値も指定できますが、許可される演算子は次と等しい(=)、または次と等しくない(!=)のみです。

比較は演算子のおよび(&)、または(|)、グループ化(カッコ)を使用して論理的に結合できます。比較の論理グループの前に論理演算子(!)を付けると、出力結果を否定できます。

キーワード{duration(interval)}を使用すると、指定された時間隔(秒単位)にわたってconditionalがtrueと評価された場合にのみ、conditionalでトリガーを実行するように指定することもできます。この場合、conditionalはある時間隔に限ってのみ評価されることに注意してください。duration値を指定すると、指定された時間隔にわたって評価がconditional値と一致する場合にのみ、conditionalのトリガーが強制されます。これは、指定された時間隔全体でこの条件がtrueであることを保証する近似処理です。この近似処理の精度は、{duration(interval)}の値と、評価の構成されたintervalの割合に依存します。conditionalがtrueと評価されると、その評価のすべてのdurationがリセットされます。conditionalがfalseと評価された場合は、評価で使用されなかった任意のdurationもリセットされます。

intervalを文字列joinonsgroupに設定すると、OPMNサーバーが新しいONSトポロジ・グループを追加したことをONSレイヤーが検出した場合にのみ、conditionalが評価されます。conditionalが省略されている場合、RMDの評価は常にtrueになります。conditionalが定義されている場合、processレベルの参照は許可されないため、durationキーワードは使用しないでください。たとえば、次のように入力します。

少なくとも60秒間の平均リクエスト時間が500ミリ秒より大きく、階層RMDが構成されているprocess-setに対して実行されているプロセスが4より少ない場合:

[process].avgReqTime > 500 {duration(60)})&([process-set].numProcs < 4)

直近の3分間に空きシステム・メモリーが50MB未満であった場合:

/pm/host_statistics.freePhysicalMemory < 50000 {duration(180)}

<action>
必須: ○
デフォルト値: なし
親要素: rmd
属性: value

action要素には、conditionalがtrueと評価された場合に実行するアクションを指定します。

value=request
必須: ○
デフォルト値: なし
有効値: 文字列(リクエスト)

actionには、RMDのconditionalがtrueと評価された場合に実行する、プロセス管理リクエストまたは特定のプログラムのいずれかを指定します。RMDには複数のactionを指定できます。これらは、定義された順番に続けて実行されます。

actionリクエストから成功(200)以外の値が戻されたか、実行プログラムが0以外のステータスで終了した場合、RMDの残りのactionはスキップされ、構成済のexceptionが実行されます。

actionまたはexceptionの処理中は、RMDは評価されません。

RMDに指定できるactionには、次のものがあります。

startrestartおよびstopリクエストのターゲットは、RMDのconditionalで参照されるOPMNコンポーネントと相対的であると見なされます。リクエストの範囲を限定するために、それらのコンポーネントを示すキーワードを使用する必要があります。

次の拡張付きキーワードを使用できます。

startrestartおよびstopactionでは、キーワード{process}を他のキーワードとともに使用できません。OPMNリクエストではこの組合せは許可されません。

また、execactionでは、process-setまたはprocessを参照するconditionalの場合、{pid}キーワード(pid=<pid>に拡張)を使用できます。

actionでは、conditionalで参照される最下位のOPMNコンポーネントよりも下位レベルのOPMNコンポーネントのキーワードを参照できません(たとえば、conditionalias-componentのみを参照する場合、actionでは{ias-component}キーワードのみを使用できます)。このルールの例外として、conditionalprocess-setを参照する場合は、actionで{process}を参照できます。ただし、その場合、RMDは強制的にprocess-setレベルではなくprocessレベルで評価されます。

actionリクエストの結果は、OPMNプロセス・マネージャ・ログに記録されます(リクエストの開始と完了が記録されます。完了ステータスはレベル4、完全な結果はレベル5)。実行可能プログラムまたはスクリプトのstdoutおよびstderr出力は、$ORACLE_HOME/opmn/logs/rmd.outに送信されます。rmd.outファイルではローテーションは行われません。その他のプログラムとスクリプトでは、個別のログ・ファイルが使用されます。出力には、stdoutおよびstderrファイル記述子は使用されません。

次にactionの例を示します。

timeout=timeout
必須: ×
デフォルト値: 影響を受けるコンポーネントに対するOPMNリクエストに構成された(またはデフォルトの)タイムアウト(次の段落を参照)
有効値: 0〜3600までの整数

タイムアウト値は、actionごとに構成できます。startrestartおよびstopactionのデフォルトのタイムアウトは、それらのコンポーネントに対するOPMNリクエストに構成された(またはデフォルトの)タイムアウトです。execのデフォルトのタイムアウトは、それらのコンポーネントに対するOPMNリクエストに構成された(またはデフォルトの)タイムアウトです。execactionのデフォルトのタイムアウトは30秒です。

<exception>
必須: ×
デフォルト値: なし
親要素: rmd
属性: value

RMDの任意のaction定義が失敗したときに実行するアクションを指定します。

この構成は、actionの構成と同じです。

exceptionリクエストから成功(200)以外の値が戻されたか、実行プログラムが0以外のステータスで終了した場合、RMDの残りのexceptionはスキップされます。

<ias-component>
必須: ○
デフォルト値: なし
親要素: <ias-instance>
属性: idid-matchingstatus

ias-componentは、管理上の理由から、process-typeを論理グループにまとめたものです。


注意

ias-component要素を使用したOC4Jグループの詳細は、第3.2項「OC4Jグループ」を参照してください。 


id="component-id"
必須: ○
デフォルト値: なし
有効値: 文字列

id属性は、ias-instance内のias-componentを一意に識別します。

id-matching="boolean"
必須: ×
デフォルト値: false
有効値: trueまたはfalse

OPMNはデフォルトで、コンポーネントのid-matching属性がtrueに設定されている場合を除いて、ias-componentと構成済のすべてのias-componentとが一致しないようリクエストします。trueに設定されている場合は、ias-componentやそのias-componentに構成した任意のprocess-typeまたはprocess-setに反映するよう、リクエストにias-component idを明示的に含める必要があります。

status="state"
必須: ×
デフォルト値: enabled
有効値: enabledまたはdisabled

ias-componentenabledに設定すると、OPMNは構成されたすべての属性および要素を解析して、OPMNに対する操作のリクエストを許可します。disabledに設定すると、ias-componentエントリは完全に無視されます。

<dependencies>
必須: ×
デフォルト値: なし
親要素: <ias-component><process-type><process-set>
属性: なし

OPMNは、dependenciesを使用して、プロセスを起動するかどうかを決定します。module-dataenvironmentブロック同様に、dependenciesブロックはopmn.xmlファイル内の複数の要素に対して定義できます。また、OPMNは、process-setレベルに、それ以上のレベルで定義されたすべての依存関係を含む依存関係の一覧を作成します。同じ依存関係が異なるレベルに重複して定義されている場合は、プロセスを起動する前に依存関係のチェックが実行されます。

依存関係のタイプは、主に外部と内部の2つに分けられます。外部依存関係は、OPMNが管理しないリソースに使用されます。たとえば、Application Server Controlコンソールです。

外部プログラムは、OPMNがリソースのチェックを行う際に実行します。内部依存関係は、OPMNが管理するプロセス(ユニット)に使用され、リモートのOPMNが管理するプロセスもこれに含まれます。

OPMNは、依存関係の最新の状態や最後にチェックを実行した時間など、各依存関係の状態をキャッシュに維持します。cache-timeoutパラメータを使用すると、各依存関係について、キャッシュ内に維持している状態を使用する期間や、その状態を使用するかどうかを指定できます。また、各依存関係に対して一般的なタイムアウト・パラメータを使用すれば、依存関係のチェックやプロセスの起動を中断する前に、依存関係のステータスが更新されるまでOPMNが待機する時間を指定できます。

OPMNは、宣言された順番に依存関係をチェックしていきます。依存関係一覧の走査は、チェックがすべて成功する(依存関係が有効)、最初のチェックが失敗する(依存関係が無効)、あるいは依存関係チェックがタイムアウトになるかのいずれかによって終了します。

<database>
必須: ×
デフォルト値: なし
親要素: <dependencies>
属性: db-connect-infoinfrastructure-keytimeoutcache-timeout

database要素には、チェックするデータベースを指定します。db-connect-infoまたはinfrastructure-keyのいずれかを使用してデータベースを識別します。

db-connect-info="connect"
必須: ○(infrastructure-keyを指定しない場合)
デフォルト値: なし
有効値: 文字列

db-connect-info属性には、データベースへの接続に必要な文字列を指定します。文字列は、次のいずれかの形式で指定します。

たとえば、次のように入力します。

pdsundev7:1521/asdb.us.oracle.com

データベースの接続情報は、$ORACLE_HOME/network/admin/tnsnames.oraに格納されます。

infrastructure-key="key"
必須: ○(db-connectを指定しない場合)
デフォルト値: なし
有効値: 文字列

データベースの識別に必要なinfrastructure-key属性を指定します。

timeout="depend-timeout"
必須: ×
デフォルト値: 1200
有効値: 整数

timeout属性には、依存関係のチェックが完了するまでOPMNが待機する時間を秒単位で指定します。設定した秒数を経過してもチェックが終了しない場合、OPMNはチェックが失敗したと判断します。

cache-timeout="cache-timeout"
必須: ×
デフォルト値: 600
有効値: 整数

cache-timeout属性には、キャッシュ内の依存関係のエントリに対して、OPMNが現在の稼動中ステータスを維持する時間を秒単位で指定します。最後に成功した依存関係のチェックが、現在のチェックからさかのぼって指定した秒数内に実行されたものであれば、即座に依存関係のチェックに成功のフラグが付きます。指定した秒数よりも前の場合は、新たに依存関係のチェックが実行されます。cache-timeoutは最後に成功したチェックにのみ適用され、前のチェックが失敗した場合は、別の方法で依存関係のチェックが実行されることに注意してください。0を指定すると、OPMNは常に依存関係のチェックを実行します。

<OID>
必須: ×
デフォルト値: なし
親要素: <dependencies>
属性: addressinfrastructuretimeoutcache-timeout

<OID>要素には、特定のOracle Internet Directoryのaddress文字列をチェックしたり、デフォルトのInfrastructureのOracle Internet Directoryを使用するようOracleAS Infrastructureのフラグがtrueに設定されているかどうかをチェックするように、Oracle Internet Directoryサービスを指定します。

address="address"
必須: ○
デフォルト値: なし
有効値: 文字列

address要素には、Oracle Internet Directoryへの接続に必要なaddress文字列を指定します。

infrastructure="boolean"
必須: ○(addressを指定しない場合)
デフォルト値: なし
有効値: trueまたはfalse

Oracle Application Serverインスタンスに、デフォルトのInfrastructureのOracle Internet Directoryを使用するかどうかを指定します。

<ssl>
必須: ×
デフォルト値: なし
親要素: <OID>
属性: enabledwallet-filewallet-password

Oracle Internet Directory接続用のSSL情報を指定します。

enabled="boolean"
必須: ○
デフォルト値: なし
有効値: trueまたはfalse

Oracle Internet Directory接続でSSLを有効にするには、enabled属性をtrueに設定します。

wallet-file="path"
必須: ○
デフォルト値: なし
有効値: 有効なパス名

Oracle Internet Directory接続の認証に使用するWalletファイルのパス名を指定します。$ORACLE_HOMEディレクトリの場所を使用することもできます。

wallet-password="password"
必須: ×
デフォルト値: なし
有効値: 文字列

wallet-password属性には、指定したwallet-fileに使用するパスワードを指定します。

timeout="depend-timeout"
必須: ×
デフォルト値: 1200
有効値: 整数

timeout属性には、依存関係のチェックが完了するまでOPMNが待機する時間を秒単位で指定します。設定した秒数を経過してもチェックが終了しない場合、OPMNはチェックが失敗したと判断します。

cache-timeout="cache-timeout"
必須: ×
デフォルト値: 600
有効値: 整数

cache-timeout属性には、キャッシュ内の依存関係のエントリに対して、OPMNが現在の稼動中ステータスを維持する時間を秒単位で指定します。最後に成功した依存関係のチェックが、現在のチェックからさかのぼって指定した秒数内に実行されたものであれば、依存関係のチェックに成功のフラグが付きます。指定した秒数よりも前の場合、OPMNは新たに依存関係のチェックを実行します。cache-timeoutは、最後に成功した依存関係のチェックにのみ適用されます。前のチェックが失敗した場合、OPMNは別の方法で依存関係のチェックを実行します。0を指定すると、OPMNは常に依存関係のチェックを実行します。

<OSSO>
必須: ×
デフォルト値: なし
親要素: <dependencies>
属性: hostportURItimeoutcache-timeout

OSSO要素には、チェックするOracleAS Single Sign-Onサービスを指定します。

host="hostname"
必須: ○
デフォルト値: なし
有効値: 文字列

host属性には、OracleAS Single Sign-On接続用のホスト名を指定します。

port="port"
必須: ○
デフォルト値: なし
有効値: ポート番号

port属性には、OracleAS Single Sign-On接続用のポートを指定します。

URI="uri"
必須: ○
デフォルト値: なし
有効値: 文字列

URI属性には、OracleAS Single Sign-On接続用のURIを指定します。

<ssl>
必須: ×
デフォルト値: なし
親要素: <OSSO>
属性: enabledwallet-filewallet-password

ssl要素には、OracleAS Single Sign-On接続用のSSL情報を指定します。

enabled="boolean"
必須: ○
デフォルト値: なし
有効値: trueまたはfalse

enabled属性は、OracleAS Single Sign-OnのSSL接続を有効にします。接続を有効にするには、この属性をtrueに設定します。

wallet-file="path"
必須: ○
デフォルト値: なし
有効値: パス名

wallet-file属性には、OracleAS Single Sign-On接続の認証に使用するWalletファイルのパス名を指定します。ORACLE_HOME値を使用することもできます。

wallet-password="password"
必須: ×
デフォルト値: なし
有効値: 文字列

wallet-passwordには、指定したwallet-fileに使用するパスワードを指定します。

timeout="depend-timeout"
必須: ×
デフォルト値: 1200
有効値: 整数

timeout属性には、依存関係のチェックが完了するまでOPMNが待機する時間を秒単位で指定します。設定した秒数を経過してもチェックが終了しない場合、OPMNはチェックが失敗したと判断します。

cache-timeout="cache-timeout"
必須: ×
デフォルト値: 600
有効値: 整数

cache-timeout属性には、キャッシュ内の依存関係のエントリに対して、OPMNが現在の稼動中ステータスを維持する時間を秒単位で指定します。最後に成功した依存関係のチェックが、現在のチェックからさかのぼって指定した秒数内に実行されたものであれば、依存関係のチェックに成功のフラグが付きます。指定した秒数よりも前の場合、OPMNは新たに依存関係のチェックを実行します。cache-timeoutは、最後に成功した依存関係のチェックにのみ適用されます。前のチェックが失敗した場合、OPMNは別の方法で依存関係のチェックを実行します。0を指定すると、OPMNは常に依存関係のチェックを実行します。

<managed-process>
必須: ×
デフォルト値: なし
親要素: <dependencies>
属性: ias-instanceias-componentprocess-typeprocess-setautostartautostoptimeoutcache-timeout

managed-process属性には、チェックする管理対象プロセスを指定します。process-typeまたはprocess-setのプロセスは、指定した依存関係の管理対象プロセスがアクティブである場合にのみ起動します。循環依存が検出されると、ローカルの管理対象プロセスでは拒否されますが、リモートの管理対象プロセスでは、依存関係チェックがデッドロックになりタイムアウトが起こります。

ias-instance="ias-instance-id"
必須: ×
デフォルト値: 現在のprocess-typeまたはprocess-setias-instance
有効値: 文字列

管理対象プロセスの依存関係のias-instanceを指定します。指定したias-instanceが現在のOPMNで管理されていない場合、そのias-instanceはリモートの管理対象プロセスの依存関係であると見なされます。

ias-component="ias-component-id"
必須: ○
デフォルト値: なし
有効値: 文字列

管理対象プロセスの依存関係のias-componentを指定します。

process-type="process-type-id"
必須: ○
デフォルト値: なし
有効値: 文字列

管理対象プロセスの依存関係のprocess-type-idを指定します。

process-set="process-set-id"
必須: ○
デフォルト値: なし
有効値: 文字列

管理対象プロセスの依存関係のprocess-set-idを指定します。

autostart="boolean"
必須: ×
デフォルト値: false
有効値: trueまたはfalse

autostart属性は、管理対象プロセスの依存関係に使用されます。チェック実行時にプロセスが稼動していない場合は、autostart要素の指定により、OPMNによるプロセスの起動が試行されます。

autostop="boolean"
必須: ×
デフォルト値: false
有効値: trueまたはfalse

管理対象プロセスの依存関係が停止中である場合に、管理対象プロセスを停止するかどうかを指定します。リモートの管理対象プロセスの依存関係に対する値は常にfalseです。

timeout="depend-timeout"
必須: ×
デフォルト値: 1200
有効値: 整数

timeout属性には、依存関係チェックが完了するまでOPMNが待機する時間を秒単位で指定します。設定した秒数を経過してもチェックが終了しない場合、OPMNはチェックが失敗したと判断します。

cache-timeout="cache-timeout"
必須: ×
デフォルト値: 600
有効値: 整数

cache-timeout属性は、リモートのOPMNが管理するプロセスにのみ使用されます。cache-timeout属性には、キャッシュ内の依存関係のエントリに対して、OPMNが現在の稼動中ステータスを維持する時間を秒単位で指定します。最後のタイムアウトの依存関係のチェックが、現在のチェックからさかのぼって指定した秒数内に実行されたものである場合は、即座に依存関係のチェックに成功のフラグが付きます。指定した秒数よりも前の場合は、新たに依存関係のチェックが実行されます。cache-timeoutは最後に成功したチェックにのみ適用され、前のチェックが失敗した場合は、別の方法で依存関係のチェックが実行されることに注意してください。0を指定すると、OPMNは常に依存関係のチェックを実行します。


注意

cache-timeoutは最後に成功したチェックにのみ適用され、前のチェックが失敗した場合は、OPMNが別の方法で依存関係のチェックを実行することに注意してください。 


<process-type>
必須: ○
デフォルト値: なし
親要素: <ias-component>
属性: idmodule-idstatusworking-dir

process-typeは、同じモジュールがサポートするprocess-setをグループ化したものです。

id="process-type-id"
必須: ○
デフォルト値: なし
有効値: 文字列

id属性は、ias-component内のprocess-typeを一意に識別します。

module-id="module-id"
必須: ○
デフォルト値: なし
有効値: 文字列

module-id属性は、process-typeをサポートするmodule-id属性に直接マップする必要があります。

status="state"
必須: ×
デフォルト値: enabled
有効値: enabledまたはdisabled

process-typeenabledに設定すると、OPMNは構成されたすべての属性および要素を解析して、OPMNに対する操作のリクエストを許可します。disabledに設定すると、process-typeエントリは完全に無視され、opmn.xmlファイルの一覧にないエントリと同様に処理されます。

working-dir="path"
必須: ×
デフォルト値: ORACLE_HOME
有効値: パス名

working-dirパス名には、process-type 要素により作成される管理対象プロセス用の作業ディレクトリを指定します。process-setworking-dir属性が定義されている場合、process-setのパス名がprocess-typeのパス名よりも優先されます。$ORACLE_HOMEディレクトリを使用することもできます。

service-failover="num"
必須: ×
デフォルト値: 0
有効値: 0より大きい整数

process-typeservice-failoverとして構成できます(numが0以外の場合)。つまり、Oracle Application Serverクラスタが稼動中のとき、そのクラスタ内でプロセスがnumの数だけ存在します。この実装では、単一インスタンスで実行されるこのタイプのプロセスは1つに制限されます。そのため、クラスタ内の特定のservice-failoverの最大プロセス数は、クラスタに参加しているインスタンスの数を超えることはありません。num値が、このservice-failoverに参加しているクラスタ内のインスタンス数より大きく、service-failoverがアクティブである(起動されている)場合、クラスタに追加された各参加インスタンスは、クラスタ全体でのservice-failoverプロセスの合計数がnumになるまで自動的に自身のservice-failoverプロセスを起動します。

service-failoverプロセスは、サービスに参加している任意のインスタンスで実行できます。つまり、各インスタンスには、同じias-component idprocess-type idおよびprocess-set idで構成されたサービスが必要です。サービス自身を対象とするには、リクエストでias-componentprocess-typeprocess-setも含むことができる)の両方を指定する必要があります。

service-failoverprocess-typeで指定できるのは、1つのprocess-setのみです。フェイルオーバー・サービスのプロセス数は常に1であるため、このprocess-setではnumprocsminprocsまたはmaxprocsを指定できません。

service-failoverは、(managed-process同様に)依存関係として指定できるか、または依存関係を指定できます。依存関係として指定した場合は、numの構成値にかかわらず、クラスタ内でこのタイプのプロセスが1つでもアクティブになれば、service-failoverの依存関係チェックがtrueと評価されます。

service-weight="value"
必須: ×
デフォルト値: 100
有効値: 0より大きい整数

実際のservice-failoverプロセスを実行するインスタンスは、構成された(またはデフォルトの)service-weight値に基づいて選択されます。高い重みを持つインスタンスが低い重みを持つインスタンスよりも優先して選択されます。インスタンスのセットがサービスに対して同じ重みを持つ場合は、構成された数のインスタンスがセットから選択され、プロセスが実行されます。

service-weight属性は、service-failover属性に0以外の値が設定されている場合にのみ指定できます。

<event-scripts>
必須: ×
デフォルト値: なし
親要素: <process-type><process-set>
属性: なし
特定のプロセスに関連するイベントが発生すると、構成されたevent scriptが実行されます。OPMNはスクリプトの実行が完了するかタイムアウトが起こるまで待機してから、次のactionを実行します。
表6-6に、イベント・スクリプトの引数を示します。
表6-6    イベント・スクリプトの引数 
オプション名  オプションの引数  説明 

-timeStamp 

<time> 

システムの現在のtimeを示す整数値(秒単位)。 

-instanceName 

<instance-name> 

管理対象プロセスのinstance-name。 

-componentId 

<component-id> 

管理対象プロセスのcomponent-id。 

-processType 

<process-type-id> 

管理対象プロセスのprocess-type。 

-processSet 

<process-set-id> 

管理対象プロセスのprocess-set。 

-processIndex 

<index> 

管理対象プロセスのprocess-index。 

-stderr1 

<path> 

プロセスのstderrファイル・ポインタのパス名。 

-stdout1 

<path> 

プロセスのstdoutファイル・ポインタのパス名。注意: startがプロセスの再起動リクエストの一部である場合、この引数はpre-startスクリプトにのみ指定されます。 

-reason 

<reason> 

スクリプトが実行された理由を示す文字列。http_requestは、このプロセスactionが、OPMNに対してユーザーがHTTPリクエストを実行した結果であることを示します。non_http_requestは、このプロセスactionを実行したのがOPMN自体であることを示します。 

-pid2 

<process-id> 

process-idに設定されたオペレーティング・システムの整数値。 

-startTime2 

<time> 

システムでのプロセスの開始時間を示す整数値(秒単位)。 

1 startがプロセスの再起動リクエストの一部である場合、この引数はpre-startスクリプトにのみ指定されます。pre-startイベントは、startの実行前にのみトリガーされます。再起動は、停止操作とその後に続く起動操作で構成されます。起動操作は単独で実行することも、再起動操作の一部として実行することもできます。
2 この引数は、pre-stopまたはpost-crashイベント・スクリプトにのみ使用できます。
<pre-start>
必須: ×
デフォルト値: なし
親要素: <event-scripts>
属性: path

構成した依存関係のチェックが問題なく実行された後、プロセスが実際に開始される前に実行するpre-startスクリプトを指定します。pre-startスクリプトのタイムアウトは、プロセス自体の起動に設定されたタイムアウト値になります。このスクリプトの実行に使用した時間は、プロセスの起動のタイムアウト値にカウントされます。スクリプトがタイムアウトした場合、プロセスは起動せず、関連したすべてのHTTPリクエストが失敗します。

イベント・スクリプトを使用してstartstopまたはrestartなどのOPMNプロセスをリクエストする場合は注意が必要です。これらのリクエストはprocess-setレベルでシリアライズされています。現在のリクエスト(あるいはすでにキューに入れられている別のリクエスト)が実行されているprocess-setに対してスクリプトがリクエストを実行すると、タイムアウトが発生するまでそのスクリプトはハングします。

path="path"
必須: ○
デフォルト値: なし
有効値: 実行可能スクリプトのパス名

OPMNが実行権限を持つ実行可能プログラム、または読取り権限と実行権限の両方を持つスクリプト・ファイルのパス名を指定します。ORACLE_HOME値を使用することもできます。

<pre-stop>
必須: ×
デフォルト値: なし
親要素: <event-scripts>
属性: path

関連付けられたプロセスを停止する前に実行するスクリプトを指定します。このスクリプトのタイムアウトは、プロセス自体の停止に設定されたタイムアウト値になります。このスクリプトの実行に使用した時間は、プロセスの停止のタイムアウト値にカウントされます。スクリプトがタイムアウトした場合は、すべての関連するHTTPリクエストが失敗します。ただし、OPMNはプロセスの停止操作を続行します。

startstopまたはrestartなどのOPMNプロセスをリクエストする場合は注意が必要です。これらのリクエストはprocess-setレベルでシリアライズされています。現在のリクエスト(あるいはすでにキューに入れられている別のリクエスト)が実行されているprocess-setに対してスクリプトがリクエストを実行すると、タイムアウトが発生するまでそのスクリプトはハングします。

path="path"
必須: ○
デフォルト値: なし
有効値: 実行可能スクリプトのパス名

OPMNが実行権限を持つ実行可能プログラム、または読取り権限と実行権限の両方を持つスクリプト・ファイルのpath属性を指定します。$ORACLE_HOMEディレクトリを使用することもできます。

<post-crash>
必須: ×
デフォルト値: なし
親要素: <event-scripts>
属性: path

関連付けられたプロセスが予期せず中断した後に実行するスクリプトを指定します。このスクリプトのタイムアウトは、プロセス自体の停止に設定されたタイムアウト値になります。スクリプトが終了すると、OPMNは中断したプロセスの置換をスケジュールします。

startstopまたはrestartなどのOPMNプロセスをリクエストする場合は注意が必要です。これらのリクエストはprocess-setレベルでシリアライズされています。現在のリクエスト(あるいはすでにキューに入れられている別のリクエスト)が実行されているprocess-setに対してスクリプトがリクエストを実行すると、タイムアウトが発生するまでそのスクリプトはハングします。

path="path"
必須: ○
デフォルト値: なし
有効値: 実行可能スクリプトのパス名

OPMNが実行権限を持つ実行可能プログラム、または読取り権限と実行権限の両方を持つスクリプト・ファイルのpath属性を指定します。$ORACLE_HOMEディレクトリを使用することもできます。

<start>
必須: ×
デフォルト値: 次の各段落を参照
親要素: <process-type><process-set>
属性: timeoutretry

start属性には、管理対象プロセスの起動パラメータが含まれます。

timeout="timeout"
必須: ×
デフォルト値: 60
有効値: 整数

timeout属性には、管理対象プロセスの起動に対するタイムアウト値を指定します(秒単位)。

retry="num"
必須: ×
デフォルト値: 0
有効値: 整数

retry属性には、1つのリクエストにおいて連続して実行する、プロセスの起動試行回数を指定します。

<stop>
必須: ×
デフォルト値: 次の段落を参照
親要素: <process-type><process-set>
属性: timeout

stop属性には、管理対象プロセスの停止パラメータを指定します。

timeout="timeout"
必須: ×
デフォルト値: 30
有効値: 整数

管理対象プロセスの停止に対するtimeout値を指定します(秒単位)。

<restart>
必須: ×
デフォルト値: 次の各段落を参照
親要素: <process-type><process-set>
属性: timeoutretry

管理対象プロセスのrestartパラメータを指定します。

timeout="timeout"
必須: ×
デフォルト値: 90
有効値: 整数

管理対象プロセスの再起動に対するtimeout値を指定します(秒単位)。

retry="num"
必須: ×
デフォルト値: 0
有効値: 整数

retry属性には、1つのリクエストにおいて連続して実行する、プロセスの再起動試行回数を指定します。

<ping>
必須: ×
デフォルト値: 次の各段落を参照
親要素: <process-type><process-set>
属性: timeoutretryinterval

ping要素には、管理対象プロセスのpingパラメータを指定します。

timeout="timeout"
必須: ×
デフォルト値: 20
有効値: 整数

管理対象プロセスのpingに対するtimeout値を指定します(秒単位)。モジュールごとにpingのタイムアウトを指定します。

retry="num"
必須: ×
デフォルト値: 0
有効値: 整数

retry属性には、モジュールがプロセスの切断を宣言して再起動するまでに許容する、pingの連続失敗回数を指定します。モジュールごとにpingのリトライ回数を指定します。

interval="interval"
必須: ×
デフォルト値: 20
有効値: 整数

interval属性には、管理対象プロセスのpingを実行する時間隔を指定します(秒単位)。

<port>
必須: ×
デフォルト値: なし
親要素: <process-type>
属性: idrange

port要素は、使用するモジュールに対するポート管理メカニズムを提供します。各モジュールは、idに設定されたポートを使用します。

id="id"
必須: ○
デフォルト値: なし
有効値: 文字列

id属性で、process-typeに使用するポートの範囲を識別します。各モジュールには、必須またはオプションのportのid一覧があります。

range="range"
必須: ○
デフォルト値: なし
有効値: ポート範囲

port rangeは、idに割り当てるポートを指定します。

モジュールがid内のポート番号をリクエストすると、OPMNは、その範囲内のポートがローカル・システムにバインドされているかどうかをチェックし、バインドされていない場合はモジュールにそのポート番号を返します。port rangeの構文は、ポートの番号や範囲をカンマで区切って指定します。

次に例を示します。

ポート5555、6666、7777、8888および9999を指定する場合の構文は次のとおりです。

range="5555,6666,7777,8888,9999"

ポート4000〜4250を指定する場合の構文は次のとおりです。

range="4000-4250"

ポート7000〜7049、7775、7785および8050〜8099を指定する場合の構文は次のとおりです。

range="7000-7049,7775,7785,8050-8099"

<process-set>
必須: ○
デフォルト値: なし
親要素: <process-type>
属性: idrestart-on-deathnumprocsminprocsmaxprocsstatusworking-dirparallel-requests

process-setは、OPMN内のプロセスを抽象化したものです。すべてのmodule-data、環境変数およびその他の構成パラメータが、process-setレベルで最終的な値に解決されます。

id="process-set-id"
必須: ○
デフォルト値: なし
有効値: 文字列

id属性は、process-type内のprocess-setを一意に識別します。

restart-on-death="boolean"
必須: ×
デフォルト値: false
有効値: trueまたはfalse

管理対象プロセスが、リクエストによる停止ではなく予期せず中断した場合、OPMNはそのプロセスを自動的に再起動しません。中断された管理対象プロセスの自動再起動を有効にするには、この属性をtrueに設定します。

numprocs="num"
必須: ○(minprocsを構成する場合。minprocsを構成しない場合は×。)
デフォルト値: なし
有効値: 整数

OPMNがこのprocess-setに対して起動するプロセスの数を指定します。

minprocs="min"
必須: ○(numprocsを構成する場合。numprocsを構成しない場合は×。)
デフォルト値: なし
有効値: 整数

OPMNがこのプロセス・セットに対して起動するデフォルトのプロセス数を指定します。minprocsが構成されている場合、maxprocsには、minprocsの値と同じか、それより大きな値を設定する必要があります。minprocsおよびmaxprocsが構成されている場合、このプロセス・セットに対するOPMNリクエストに、特定のプロセス数が指定されます。この属性は、numprocsが構成されている場合は指定できません。

maxprocs="max"
必須: ○(minprocsを構成する場合。minprocsを構成しない場合は×。)
デフォルト値: なし
有効値: 整数

minprocsが構成されている場合は、maxprocs属性を指定する必要があります。ただし、numprocsが構成されている場合は指定できません。

status="state"
必須: ×
デフォルト値: enabled
有効値: enabledまたはdisabled

process-setenabledに設定すると、OPMNは構成されたすべての属性および要素を解析して、OPMNに対する操作のリクエストを許可します。disabledに設定すると、process-setエントリは完全に無視され、opmn.xmlファイルの一覧にないエントリと同様に処理されます。

working-dir="path"
必須: ×
デフォルト値: $ORACLE_HOME
有効値: パス名

working-dirパス名には、このprocess-setに属する、作成された管理対象プロセス用の作業ディレクトリを指定します。$ORACLE_HOMEディレクトリを使用することもできます。

parallel-requests="boolean"
必須: ×
デフォルト値: false
有効値: trueまたはfalse

OPMNは、特定のprocess-setで一度に1つのリクエストのみが実行できるように、process-setレベルでリクエストをシリアライズします。後続のリクエストはそれぞれ、実行前に前のリクエストが完了するまで待機する必要があります。このデフォルトの動作は、parallel-requeststrueに設定されている場合、process-setに対して無効化されます。


注意

parallel-requests属性が有効で、OPMNがprocess-setのリクエストに対するシリアライズをまったく実行しない場合は、競合するリクエストが事実上同時に発行および実行される可能性があるため、process-setのプロセスが予測不可能な状態になっています。したがって、parallel-requeststrueに設定されている場合は、process-setで競合するリクエストが同時に発行されていないことを確認する必要があります(暗黙的なワイルドカードで指定された一致するprocess-setのリクエストも含みます)。 



戻る 次へ
Oracle
Copyright © 2006, Oracle.

All Rights Reserved.
目次
目次
索引
索引