ヘッダーをスキップ
Oracle Containers for J2EE構成および管理ガイド
10g(10.1.3.5.0)
B56030-01
  目次
目次
索引
索引

戻る
戻る
次へ
次へ
 

5 OC4Jの起動および停止

この章では、OC4Jのインストールと、OC4Jインスタンスの起動、停止および再起動の手順について説明します。この章の内容は次のとおりです。

スタンドアロン環境でのOC4Jの起動

スタンドアロン環境のOC4Jサーバー・インスタンスは、oc4jコマンド・スクリプトまたは実行可能なoc4j.jarアーカイブのいずれかを用いて、デフォルト構成を使用して起動できます。

oc4jスクリプトによるOC4Jの起動

oc4jスクリプトを使用してOC4Jを起動するには、次のコマンドをORACLE_HOME/binディレクトリから発行します。

oc4j -start

このコマンドを使用するには、ORACLE_HOMEおよびJAVA_HOME環境変数を設定する必要があります。詳細は、「スタンドアロンOC4Jサーバーのインストール前提条件への準拠」を参照してください。

oc4j.jarによるOC4Jの起動

oc4j.jarを起動してOC4Jを起動するには、次のコマンドをORACLE_HOME/j2ee/homeディレクトリから発行します。

java -jar oc4j.jar [args]

このコマンドで示したようにoc4j.jarを起動すると、OC4Jはデフォルトのserver.xml構成ファイルを使用して起動されます。このファイルはj2ee/home/configディレクトリにあります。デフォルト以外のserver.xmlファイルを使用してOC4Jを起動するには、次のコマンドを発行します。変更済の構成ファイルへのパスを指定する必要があります。

java -jar oc4j.jar -config /yourpath/server.xml [args]

ランタイム・オプションをOC4Jに設定するために、起動時に引数を渡すことができます。有効な引数の概要は、「起動時のOC4Jランタイム・オプションの設定」を参照してください。また、次のコマンドをORACLE_HOME/j2ee/homeディレクトリから発行して、コンソール・ヘルプを表示することもできます。

java -jar oc4j.jar -help


OC4Jの起動時にoc4j.jarコマンドラインを使用して、システム・プロパティをJVMに設定することもできます。システム・プロパティの設定の詳細は、「起動時のシステム・プロパティの設定」を参照してください。

Oracle Application Server環境でのOC4Jの起動

管理構成では、すべてのOracle Application Serverコンポーネント(OC4JおよびOracle HTTP Serverを含む)は、Application Server Controlの「クラスタ・トポロジ」ページから、またはOPMNコマンドライン・ツールopmnctlを用いて、OPMNを使用して起動する必要があります。このツールは、ORACLE_HOME/opmn/binディレクトリにインストールされています。

ローカルのOracle Application Serverインスタンス上のすべてのOPMN管理プロセス(OC4Jを含む)を起動するには、次のコマンドを使用します。

opmnctl startall

ローカルのOracle Application Serverインスタンス上の特定の管理プロセス(この場合はOC4J)を起動するには、次のコマンドを使用します。

opmnctl startproc ias-component=default_group

複数のOC4Jインスタンスを含むクラスタ・トポロジでは、OC4Jインスタンスによって使用されるEARが単一の場所にある共有ディレクトリにある場合は、-sequentialフラグを使用してインスタンスを起動する必要があります。

opmnctl startproc ias-component=default_group -sequential

このオプションにより、すべてのOC4Jインスタンスを同時に起動した場合に発生する可能性のあるリソースの競合を防ぐことができます。

あるいは、OC4Jインスタンスを順番に起動するには、次に示すように、クラスタのOPMN構成ファイルopmn.xmlsequentialオプションを指定できます。

<ias-component id="default_group">
  <process-type id="home" module-id="OC4J" status="enabled">
    <module-data>
      <category id="start-parameters">
        <data id="oc4j-options" value="-sequential"
      </category>
      ...
    </module-data>
  </process-type>
</ias-component>

opmnctlコマンドの詳細は、『Oracle Process Manager and Notification Server管理者ガイド』を参照してください。


注意:

Windows環境でOracle Application Serverへの接続を試行する前に、サーバーのIPアドレスでC:\WINDOWS\system32\drivers\etc\hostsファイルを更新する必要があります。

スタンドアロン環境でのOC4Jの停止

スタンドアロンOC4Jサーバーは、admin_client.jarまたはadmin.jarコマンドライン・ユーティリティで-shutdownコマンドを起動するか、oc4j.cmdまたはoc4j実行可能スクリプトを起動することで停止できます。


注意:

Windows環境のControl-Cなどのオペレーティング・システム・コマンド、またはLinuxやUNIX環境のkillは、OC4Jの停止に使用しないでください。

EJBモジュールを使用するアプリケーションがOC4J内でアクティブに稼働している場合は、特にこれに該当します。これらのコマンドにより、サーバーが停止する前にEJBメソッド・コールやタイマー操作を完了することができなくなるためです。


admin_client.jarによるスタンドアロンOC4Jの停止

admin_client.jarを使用してOC4Jを停止するには、次のコマンドを発行します。

java -jar admin_client.jar uri adminId adminPassword -shutdown

次に例を示します。

java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin password -shutdown

このコマンドは、ホスト・マシンが接続されていないかのように、すべてのスレッドを即座に終了させてOC4Jサーバー全体を停止します。このコマンドを使用すると、クラスタ化されたアプリケーションの現在の状態はレプリケートされません。

uriadminIdおよびadminPassword変数の詳細は、「admin_client.jarの構文およびURIの指定の概要」を参照してください。

スタンドアロンOC4Jインスタンスでは、admin_client.jar-shutdownオプションは、「admin.jarによるOC4Jの停止」で説明されているadmin.jarユーティリティの-shutdown forceオプションと同等です。

admin.jarによるOC4Jの停止

admin.jarを使用してOC4Jを停止するには、次のコマンドを発行します。

java -jar admin.jar ormi://oc4jHost:oc4jOrmiPort adminId adminPassword
-shutdown [ordinary|force] [reason]

次のオプションを指定できます。

  • ordinary|force

    停止タイプ。デフォルトはordinaryで、各スレッドを正常終了させます。

    forceオプションは、すべてのスレッドを即時終了させます。実質的にはホスト・マシンのプラグを抜く場合と同じです。このオプションを使用すると、クラスタ化されたアプリケーションの現在の状態はレプリケートされません。

  • reason

    停止の理由を文字列として指定します。この文字列はORACLE_HOME/j2ee/home/log/server.logファイルに書き込まれます。文字列には空白を使用できません。

次の例では、admin.jarを使用してOC4Jサーバーの停止を強制し、すべてのスレッドを即時終了させています。停止のreasonとして入力された文字列は、ORACLE_HOME/j2ee/home/config/server.logファイルに書き込まれます。

java -jar admin.jar ormi://localhost:23791 oc4jadmin password -shutdown force
  need_to_reboot_host_machine

oc4jスクリプトによるOC4Jの停止

oc4jスクリプトの1つを使用してOC4Jを停止するには、次のコマンドをORACLE_HOME/binディレクトリから発行します。OC4Jで使用されるORMIポート(デフォルトでは23791)とoc4jadminアカウントのパスワードを指定する必要があります。

oc4j -shutdown -port oc4jOrmiPort -password adminPassword

次に例を示します。

oc4j -shutdown -port 23791 -password adminpwd

このコマンドを使用するには、ORACLE_HOMEおよびJAVA_HOME環境変数を設定する必要があります。詳細は、「スタンドアロンOC4Jサーバーのインストール前提条件への準拠」を参照してください。

Oracle Application Server環境でのOC4Jの停止

管理構成では、Application Server Controlの「クラスタ・トポロジ」ページからOC4Jインスタンスを停止できます。また、OPMNコマンドライン・ツールのopmnctlや、OPMNにインスタンスが停止されたことを通知するadmin_client.jarコマンドライン・ユーティリティを使用して停止することも可能です。このOPMNツールは、ORACLE_HOME/opmn/binディレクトリにインストールされています。admin_client.jarユーティリティは、ORACLE_HOME/j2ee/instanceディレクトリにデフォルトでインストールされます。

ローカルのOracle Application Serverインスタンス上のすべてのOPMN管理プロセス(OC4Jを含む)を停止するには、次のコマンドを使用します。

opmnctl stopall

ローカルのOracle Application Serverインスタンス上の特定のOPMN管理コンポーネント(この場合はOC4J)を停止するには、次のコマンドを使用できます。

opmnctl stopproc ias-component=default_group

opmnctlコマンドの詳細は、『Oracle Process Manager and Notification Server管理者ガイド』を参照してください。

また、次のコマンドで、admin_client.jarを使用してOC4Jインスタンスを停止することも可能です。

java -jar admin_client.jar uri adminId adminPassword -shutdown

次に例を示します。

java -jar admin_client.jar deployer:oc4j:opmn://localhost/home oc4jadmin password -shutdown

このコマンドは、すべてのスレッドを即座に終了させてOC4Jインスタンス全体を停止します。OPMN管理のOC4Jインスタンスでは、OPMNが再起動を試行しないように、サーバーを故意に停止中であることがadmin_client.jarによりOPMNに通知されます。このコマンドを使用すると、クラスタ化されたアプリケーションの現在の状態はレプリケートされません。

uriadminIdおよびadminPassword変数の詳細は、「admin_client.jarの構文およびURIの指定の概要」を参照してください。

スタンドアロン環境でのOC4Jインスタンスの再起動

次のコマンドで、admin_client.jarユーティリティを使用して、スタンドアロンOC4Jサーバーを再起動できます。

java -jar admin_client.jar uri adminId adminPassword -restart

次に例を示します。

java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin password -restart

uriadminIdおよびadminPassword変数の詳細は、「admin_client.jarの構文およびURIの指定の概要」を参照してください。

また、次のコマンドでadmin.jarコマンドライン・ユーティリティを使用して、スタンドアロンOC4Jインスタンスを再起動することもできます。

java -jar admin.jar ormi://oc4jHost:oc4jOrmiPort adminId adminPassword -restart [reason]

[reason]の値として文字列を入力できます。この文字列は、ORACLE_HOME/j2ee/home/config/server.logファイルに書き込まれます。

Oracle Application Server環境でのOC4Jインスタンスの再起動

管理構成では、Application Server Controlの「クラスタ・トポロジ」ページからOC4Jを再起動できます。また、OPMNコマンドライン・ツールのopmnctlや、admin_client.jarコマンドライン・ユーティリティを使用して再起動することも可能です。このOPMNツールは、ORACLE_HOME/opmn/binディレクトリにインストールされています。admin_client.jarユーティリティは、ORACLE_HOME/j2ee/instanceディレクトリにデフォルトでインストールされます。

ローカルのOracle Application Serverインスタンス上のすべてのOPMN管理プロセス(OC4Jを含む)を再起動するには、次のコマンドを使用できます。

opmnctl startall

また、次のコマンドを使用して、ローカルのOracle Application Serverインスタンス上の特定の管理プロセス(この場合はOC4J)を再起動することもできます。

opmnctl restartproc ias-component=home

複数のOC4Jインスタンスを含むクラスタ・トポロジでは、opmnctlコマンドおよび-sequentialフラグを使用してインスタンスを再起動する必要があります。

opmnctl startproc ias-component=default_group -sequential

-sequentialフラグを使用すると、すべてのOC4Jインスタンスを同時に起動した場合、特にOC4Jインスタンスによって使用されるEARが単一の場所にある共有ディレクトリにある場合に発生する可能性のあるリソースの競合を防ぐことができます。「Oracle Application Server環境でのOC4Jの起動」で説明されているように、クラスタのopmn.xml構成ファイルに-sequentialオプションが含まれる場合は、-sequentialフラグを指定する必要はありません。

次のコマンドで、admin_client.jarを使用してOC4Jインスタンスを再起動できます。

java -jar admin_client.jar uri adminId adminPassword -restart

uriadminIdおよびadminPassword変数の詳細は、「admin_client.jarの構文およびURIの指定の概要」を参照してください。

サーバーの起動と停止の順序の概要

この項では、サーバーの起動と停止の間に発生するイベントの詳細な順序を示します。

サーバー起動のイベント順序

サーバーの起動時には次のイベントが発生します。

  • JAZNセキュリティ・フレームワークが起動します。

  • アプリケーション・サーバーのスレッド・プールが起動し、Systemスレッド・プールおよびHTMLスレッド・プールが作成されます。

  • コンテナ・サービス・マネージャが起動し、イベント・サービス、タイマー・サービスおよびスケジューラ・サービスが作成されます。

  • OC4Jクラス・ローダーが初期化されます。

  • JMSサーバーが起動します。

  • RMIサーバーが起動します。

  • systemアプリケーションが起動します。

    • system.root:0.0.0クラス・ローダーが初期化されます。

    • リソース・プロバイダが初期化されます。

    • EJBコンテナが初期化されます。

    • データソースが初期化されます。

    • アプリケーション・クライアントが初期化されます。

  • defaultアプリケーションが起動します。

    • default.root:0.0.0クラス・ローダーが初期化されます。

    • oc4jjmsリソース・プロバイダが初期化されます。

    • EJBコンテナが初期化されます。

    • データソース・コネクタが初期化されます。

    • データソースが初期化されます。

    • トランザクション・マネージャが起動します。

    • OracleASjmsコネクタが初期化されます。

    • アプリケーション・クライアントが初期化されます。

  • システムMBeanが登録されます。

  • javassoアプリケーションが起動します。

    • javasso.root:0.0.0クラス・ローダーが初期化されます。

    • リソース・プロバイダが初期化されます。

    • EJBコンテナが初期化されます。

    • データソース・コネクタが初期化されます。

    • データソースが初期化されます。

    • アプリケーション・クライアントが初期化されます。

  • ascontrolアプリケーションが起動します。

    • ascontrol.root:0.0.0クラス・ローダーが初期化されます。

    • リソース・プロバイダが初期化されます。

    • EJBコンテナが初期化されます。

    • データソース・コネクタが初期化されます。

    • データソースが初期化されます。

    • アプリケーション・クライアントが初期化されます。

  • デプロイしたアプリケーションが起動します。いずれのアプリケーションでも、順序は前述のとおりです。

    • クラス・ローダーが初期化されます。

    • リソース・プロバイダが初期化されます。

    • EJBコンテナが初期化されます。

    • コネクタが初期化されます。

    • データソース・コネクタが初期化されます。

    • データソースが初期化されます。

    • アプリケーション・クライアントが初期化されます。

  • リカバリ・マネージャが起動します。

  • HTTPサーバーが起動します。

  • デフォルトWebサイトが起動します。

    • default Webアプリケーションが起動します。

    • dms0 Webアプリケーションが起動します。

    • JMXSoapAdapter-web Webアプリケーションが起動します。

    • jmsrouter_web Webアプリケーションが起動します。

    • javasso-web Webアプリケーションが起動します。

    • ascontrol Webアプリケーションが起動します。

    • デプロイしたWebアプリケーションが起動します。

  • その他のWebサイト(適用可能な場合)が起動します。

  • タスク・マネージャが起動します。

  • OC4Jサーバーの初期化が完了します。

サーバー停止のイベント順序

サーバーの停止時には次のイベントが発生します。

  • タスク・マネージャが停止します。

  • コンテナ・サービス(イベント・サービス、タイマー・サービスおよびスケジューラ・サービス)が停止します。

  • HTTPサーバーが破棄されます。

  • javassoアプリケーションが破棄されます。

  • ascontrolアプリケーションが破棄されます。

  • デプロイしたアプリケーションが破棄されます。

  • defaultアプリケーションが破棄されます。

  • systemアプリケーションが破棄されます。

  • RMIサーバーが破棄されます。

  • JMSサーバーが破棄されます。

  • トランザクション・マネージャが停止します。

  • Systemスレッド・プールやHTMLスレッド・プールを含むサーバー・スレッド・プールが破棄されます。

  • クラス・ローダーが破棄されます。

  • IIOPサーバーが停止されます。

  • OC4Jサーバーの停止が完了します。