この章では、Oracle Internet Directoryのプロセス制御モデルおよび関連する概念を説明します。プロセス制御モデルは、Oracle Internet Directory LDAPサーバーおよびレプリケーション・サーバーに適用されます。
この章の項目は次のとおりです。
Oracle Internet Directoryサーバー・インスタンスの作成および破棄の詳細は、第8章「Oracle Internet Directoryインスタンスの管理」を参照してください。
Oracle Directory Integration and Provisioningサーバーの起動および停止の詳細は、『Oracle Fusion Middleware Oracle Directory Integration Platform管理者ガイド』のOracle Directory Integration and Provisioningサーバーの管理に関する章を参照してください。
Oracle Process Manager and Notification Server(OPMN)は、Oracle Internet Directoryを含むOracle Fusion Middlewareシステム・コンポーネントを監視するデーモン・プロセスです。Oracle Enterprise Manager Fusion Middleware ControlではOPMNを使用して、Oracle Internet Directoryのインスタンスを起動または停止します。コマンドラインからOracle Internet Directoryコンポーネントを起動または停止する場合、OPMNへのコマンドライン・インタフェースである opmnctl
を使用します。
関連項目:
|
OPMNは、デーモン・プロセスOIDMON(ORACLE_HOME
/bin/oidmon
)の直接的な起動、停止、再起動および監視を行います。OIDMONは、Oracle Internet Directoryインスタンスのプロセス制御を行います。11g リリース1では、同一ノードの同一Oracleインスタンスに複数のOracle Internet Directoryインスタンスを設定できます。Oracle Internet Directoryインスタンスを新規作成する方法としては、タイプOIDのOracle Fusion Middlewareコンポーネントを作成することをお薦めします。この方法で作成した各Oracle Internet Directoryインスタンスには、独自のOIDMONがあります。
図4-1に、Oracle Internet Directoryのプロセス制御の全体的なアーキテクチャを示します。タイプOIDのOracle Fusion Middlewareコンポーネントごとに、OPMNにより、OIDMONプロセスが生成されます。この図は、2つのコンポーネントとしてoid1
とoid2
を示しています。OIDMONはOIDLDAPDディスパッチャ・プロセスを生成し、OIDLDAPDディスパッチャ・プロセスは1つ以上のOIDLDAPDサーバー・プロセスを生成します。このインスタンスにレプリケーションが構成されている場合、OIDMONはレプリケーション・サーバー・プロセスを生成します。各ディスパッチャ・プロセスには、リクエストを受信するための独自の非SSLおよびSSLポートがあります。コンポーネントごとにディスパッチャが生成するOIDLDAPDサーバー・プロセスの数は、コンポーネントのインスタンス固有の構成エントリ内のorclserverprocs
属性によって制御されます。
Oracle Internet Directoryのプロセス情報は、ODS
データベース・ユーザー・スキーマのODS_PROCESS_STATUS表で管理されます。OIDMONは、指定された間隔で表の内容を読み取り、その表の内容が伝える目的に従って動作します。この間隔は、OIDMON起動時に使用されたsleep
コマンド・ラインの引数の値によって制御され、デフォルト値は10秒です。
表4-1に、ODS_PROCESS_STATUS表内のプロセス制御に関する情報を示します。
表4-1 ODS_PROCESS_STATUS表のプロセス制御項目
項目 | 意味 |
---|---|
Instance |
指定されたホスト上の指定されたサーバーIDに対する一意のインスタンス番号 |
PID |
稼働中のサーバーのプロセスID |
ServerID |
サーバーID(2=OIDLDAPD、3=OIDREPLD) |
Flags |
サーバー・インスタンスに渡す必要のあるコマンドライン引数 |
Hostname |
このサーバーが存在している必要のあるホスト名 |
状態 |
サーバー・インスタンスの状態(0=停止、1=起動、2=実行中、3=再起動、4=シャットダウン、5=フェイルオーバー済、7=削除、8=追加)。OIDMONが状態を更新します。 |
RetryCount |
サーバー・インスタンスが正常に起動するまでの起動試行回数 |
Instancename |
サーバー・インスタンスの名前(server1など) |
Compname |
サーバー・コンポーネントの名前(OID1など) |
注意:
|
この項では、OPMNによるOracle Internet Directoryの起動時および停止時に発生するイベントについて説明します。また、プロセスの監視についても説明します。この項では、次の項目について説明します。
OPMNはOIDMONを起動するときに、OPMN構成ファイルORACLE_INSTANCE
/config/OPMN/opmn/opmn.xml
のOracle Internet Directoryスニペットに基づいて、使用する引数を決定します。次に、Oracle Internet Directoryスニペットの例を示します。
<ias-component id="<componentName>">
<process-type id="OID" module-id="OID">
<process-set id="OID" numprocs="1">
<environment>
<variable id="TNS_ADMIN" value="ORACLE_INSTANCE/config" />
<variable id="DB_CONNECT_STR" value="db_alias" />
</environment>
<module-data>
<category id="oidmon-parameters">
<data id="start-cmdline-opts" value="connect=$DB_CONNECT_STR start"/>
<data id="stop-cmdline-opts" value="connect=$DB_CONNECT_STR stop"/>
</category>
</module-data>
</process-set>
</process-type>
</ias-component>
次の2つのタグはOracle Internet Directoryに固有のものです。
OPMN用のOracle Internet Directoryコンポーネント固有のディレクティブは、タグ<ias-component id="OID" status="enabled>
の下にあります。
OIDMON関連の要件は、タグ<category id="oidmon parameters">
の下にあります。このようなディレクティブは1つのみである必要があります。
Oracle Internet Directoryは、次のように起動されます。
Oracle Enterprise Manager Fusion Middleware Controlまたはコマンドopmnctl
を使用してOracle Internet Directoryインスタンスを起動します。
OPMNは、opmn.xml
内のOIDスニペットのoidmon parameters
で指定されている適切な引数を付けたoidmon start
コマンドを発行します。
次に、OIDMONは、ODS_PROCESS_STATUS表のstate
値が1または4であり、OPMNによって設定されている環境パラメータとORACLE_INSTANCE、COMPONENT_NAME、INSTANCE_NAME
値が合致するすべてのOracle Internet Directoryサーバー・インスタンスを起動します。
注意: opmnctl を使用してOracle Internet Directoryインスタンスのみを起動する場合、opmn.xml パラメータは、opmnctl startall を使用するときと同じ状態ではリロードされません。ファイルORACLE_INSTANCE /config/OPMN/opmn/opmn.xml の変更をリロードするには、opmnctl reload を実行します。 |
Oracle Internet Directoryは、次のように停止されます。
Oracle Enterprise Manager Fusion Middleware Controlまたはopmnctl
を使用してOracle Internet Directoryインスタンスを停止します。
OPMNはoidmon stop
コマンドを発行します。
環境パラメータORACLE_INSTANCE、COMPONENT_NAMEおよびINSTANCE_NAMEと合致するODS_PROCESS_STATUS表の行ごとに、oidmon
stop
コマンドは、OIDMON、OIDLDAPDおよびOIDREPLDプロセスを中断し、状態を4に更新します。
注意: opmnctl を使用してOracle Internet Directoryインスタンスのみを起動する場合、opmn.xml パラメータは、opmnctl startall を使用するときと同じ状態ではリロードされません。ファイルORACLE_INSTANCE/config/OPMN/opmn/opmn.xml の変更をリロードするには、opmnctl reload を実行します。 |
OPMNは、サーバー・プロセスを直接監視しません。OPMNはOIDMONを監視し、OIDMONはサーバー・プロセスを監視します。プロセスは次のとおりです。
OPMNを介してOIDMONを起動すると、OPMNはOIDMONを起動し、OIDMONが稼働中であることを確認します。
なんらかの理由でOIDMONが停止した場合、OPMNはOIDMONを稼働状態に戻します。
OIDMONは、Oracle Internet Directoryディスパッチャ・プロセス、LDAPサーバー・プロセス、およびレプリケーション・サーバー・プロセスのステータスを監視し、このステータスをOPMNとFusion Middleware Controlで使用できるようにします。OIDMONがOPMNに情報を送信するため、opmnctl
status
コマンドはOIDLDAPDプロセスPIDを示すことができます。
opmnctl
およびoidctl
の使用に関してお薦めする方法は、次のとおりです。
opmnctl
を使用して、Oracle Internet Directoryをコンポーネントとして停止または起動します。つまり、このコマンドを使用して、すべてのOracle Internet Directory LDAPおよびレプリケーション・サーバー・インスタンスを停止または起動します。
opmnctl
を使用してOracle Internet Directoryを停止すると、OPMNによってoidmon stop
が発行されます。この結果、OIDMONにより、構成されているすべてのLDAPおよびレプリケーション・サーバー・インスタンスが停止されます。
opmnctl
を使用してOracle Internet Directoryを起動すると、OPMNによってoidmon start
が発行されます。この結果、OIDMONにより、構成されているすべてのLDAPおよびレプリケーション・サーバー・インスタンスが起動されます。
関連付けられているOIDMONとOIDMONによって管理されているLDAPサーバー・インスタンスに影響を与えずにOracle Internet Directoryレプリケーション・サーバー・インスタンスを停止および起動するには、oidctl
を使用します。