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

戻る
戻る
次へ
次へ
 

7 admin.jarユーティリティの使用方法

OC4Jにはadmin.jarというコマンドライン・ユーティリティが用意されています。このユーティリティを使用すると、スタンドアロンOC4JインストールのアクティブなOC4Jインスタンスで操作を実行できます。特に、このユーティリティを使用すると、OC4Jの停止と再起動、アプリケーションのデプロイ、および現在のリソース使用状況に関する情報の収集ができます。

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


注意:

旧リリースでadmin.jarユーティリティに用意されていたOC4Jのweb-site-relatedオプション(-siteコマンドを使用してアクセス可能)は、利用できなくなりました。OC4J Webサイトの構成を作成および管理する方法は、第13章「OC4JでのWebサイトの管理」を参照してください。

admin.jarの使用方法の概要

admin.jarユーティリティは、スタンドアロンOC4JインスタンスのORACLE_HOME/j2ee/homeにデフォルトでインストールされます。

「新しい構成への既存のデータソースの変換」で説明されているように、データソースを変換する場合を除き、このユーティリティを使用するにはOC4Jを起動しておく必要があります。また、このユーティリティはOC4Jの起動には使用できません。ただし、「スタンドアロン環境でのOC4Jの停止および再起動」で説明されているように、このユーティリティを使用してインスタンスを停止した後に再起動することはできます。

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


注意:

admin.jarユーティリティは、スタンドアロンOC4Jインストールの単一のOC4Jインスタンスを管理するためのみに使用できます。

Oracle Process Manager and Notification Server(OPMN)を使用して、Oracle Application Serverのコンポーネントとして稼働しているOC4Jインスタンスを管理します。

より高度な機能を装備しているため、admin.jarのかわりにadmin_client.jarユーティリティを使用することをお薦めします。このユーティリティの使用方法は、第6章「admin_client.jarユーティリティの使用方法」を参照してください。


admin.jarの構文の概要

admin.jarユーティリティは、次の構文を使用します。パラメータは、表7-1で説明します。

java -jar admin.jar ormi://oc4jHost:oc4jOrmiPort adminId     adminPassword options

たとえば、次のコマンドはOC4Jサーバーの正常な停止を強制します。oc4jOrmiPortに指定された値は、デフォルトの23791です。adminIdに指定されたユーザー名は、デフォルトの管理者アカウントのユーザー名のoc4jadminです。

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

これらのコマンドの一部には、対象となるアプリケーションの名前をとる-applicationパラメータがあります。この値は、server.xml構成ファイルの該当する<application>要素内に定義されている、対象となる特定のアプリケーションの名前です。

表7-1 ホストおよびログイン情報の設定

パラメータ 説明

oc4jHost:oc4jOrmiPort

admin.jarを起動するOC4Jサーバーのホスト名およびポート番号。

admin.jarツールでは、OC4J Remote Method Invocation(ORMI)プロトコルを使用してOC4Jサーバーと通信します。そのため、これらの変数によって特定されるホストおよびポートは、リクエストのダイレクト先となるOC4Jサーバーのrmi.xmlファイルに定義されます。

ORMIプロトコル用のOC4Jのデフォルト・ポートは、23791です。この値は、変更がない場合は省略できます。デフォルトを使用しない場合は、次のようにrmi.xmlファイルの<rmi-server>要素でホスト名とポート番号の両方を構成します。

<rmi-server port="oc4jOrmiPort" host="oc4jHost" />

adminId adminPassword

OC4J管理ユーザー名およびパスワード。デフォルトの管理者アカウントのユーザー名はoc4jadminです。


コンソールへのヘルプ・テキストの出力

admin.jarコマンドのオンライン・ヘルプ・テキストをコンソールに出力するには、oc4jHost:oc4jOrmiPort adminId adminPasswordの後に-helpと入力するだけです。次に例を示します。

java -jar admin.jar ormi://localhost:23791 oc4jadmin password -help

スタンドアロンOC4Jインスタンスの管理

この項では、OC4Jサーバーを管理するためにadmin.jarによって提供される機能の概要を説明します。この項の内容は次のとおりです。

スタンドアロン環境でのOC4Jの停止および再起動

admin.jarを使用すると、OC4Jサーバーのスタンドアロン・インスタンスを停止した後、再起動できます。

次のコマンドは、OC4Jサーバーの停止を強制し、すべてのスレッドを即時終了させます。停止のreasonとして入力された文字列は、サーバー・ログ・ファイルORACLE_HOME/j2ee/home/log/server.logに書き込まれます。

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

表7-2 OC4Jサーバーの停止および再起動用オプション

オプション 説明

-shutdown

OC4Jサーバーを停止します。

[ordinary|force]: 停止のタイプ。デフォルトはordinaryで、各スレッドを正常終了させます。forceオプションは、すべてのスレッドを即時終了させます。

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

-restart

OC4Jサーバーを再起動します。コンテナは、oc4j.jarにより起動されている必要があります。

[reason]: 必要に応じて、再起動の理由を文字列として指定できます。この文字列はORACLE_HOME/j2ee/home/log/server.logファイルに書き込まれます。文字列には空白を使用できません。

-version

インストールされたOC4Jのバージョンをコンソールに出力した後、終了します。


OC4Jによる変更済ファイルのチェック

-updateConfigオプションを使用して、サーバー・ディレクトリ構造で変更済ファイルがあるかどうかをチェックし、変更があったファイルをリロードするようにOC4Jに強制できます。


注意:

この機能を使用するには、checkForUpdatesフラグの値をallまたはadminClientOnly(デフォルト設定)のいずれかに設定する必要があります。checkForUpdatesフラグの詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』を参照してください。

表7-3 更新済ファイルのチェック用オプション

オプション 説明

-updateConfig

ファイルが変更されていないかをチェックし、変更があったファイルをリロードするようにOC4Jに強制します。


アプリケーションのデプロイまたはアンデプロイ

admin.jarを使用すると、スタンドアロンOC4Jインスタンスに対してJ2EEアプリケーションをデプロイまたはアンデプロイできます。


注意:

  • admin.jarは、OPMN管理OC4Jインスタンスへのアプリケーションのデプロイには使用できません。

  • admin.jarでは、EARファイルのデプロイのみをサポートします。WARファイルにパッケージされたWebモジュールなど、スタンドアロン・モジュールのデプロイはできません。

  • admin.jarでは、デプロイ・プランを使用できません。このユーティリティを使用してデプロイされたアーカイブには、OC4J固有の必須デプロイメント・ディスクリプタ・ファイル(orion-application.xmlorion-web.xmlなど)が含まれている必要があります。


アプリケーションのデプロイは2段階のプロセスです。最初にアーカイブをOC4Jにデプロイし、次にアプリケーションへのアクセスに使用されるWebサイトにWebモジュールをバインドする必要があります。

最初に、-deployコマンドをアプリケーションのデプロイに使用します。

java -jar admin.jar ormi://oc4jHost:oc4jOrmiPort adminId adminPassword
-deploy -file path/filename -deploymentName appName -targetPath deploy_dir

アーカイブをデプロイしたら、-bindWebAppコマンドを使用して、Webアプリケーションをそのアクセスに使用されるWebサイトにバインドします。

java -jar admin.jar ormi://oc4jHost:oc4jOrmiPort adminId adminPassword
-bindWebApp appName webAppName webSiteName contextRoot 

たとえば、次のコマンドは、utilityアプリケーションをOC4Jにデプロイします。

java -jar admin.jar ormi://localhost:23791 oc4jadmin password -deploy
-file utility.ear -deploymentName utility

次の例では、その後に、utilityアプリケーションおよびutility-web WebモジュールをデフォルトのOC4J Webサイトにバインドしています。

java -jar admin.jar ormi://localhost:23791 oc4jadmin password
-bindwebapp utility utility-web default-web-site /utility

表7-4 アプリケーションのデプロイ用オプション

オプション 説明

-deploy

アプリケーションをデプロイします。次のパラメータを使用して関連情報を指定します。

-file filename: 必須。デプロイするEARファイルのパスおよびファイル名。

-deploymentName appName: 必須。ユーザー定義のアプリケーションのデプロイ名。これと同じ名前が、OC4J内でアプリケーションを識別する際に使用されます。また、アプリケーションをアンデプロイするときにも指定します。

-targetPath path: 任意。EARのデプロイ先となるサーバー・ノードのパス。指定しない場合、EARはORACLE_HOME/j2ee/instance/applicationsディレクトリにデフォルトでデプロイされます。

また、デプロイ済EARファイルもこのディレクトリにコピーされます。後続のデプロイのたびに、このEARファイルは上書きされます。

-parent appName: 任意。このアプリケーションの親アプリケーション。デプロイされると、子アプリケーション内のメソッドは、親アプリケーション内のメソッドを起動できます。親が指定されない場合は、defaultアプリケーションがデフォルトの親となります。

-deploymentDirectory path: 任意。OC4J固有のデプロイメント・ディスクリプタおよび生成済ファイル(コンパイル済JSPクラスやEJBラッパー・クラスなど)が格納されるディレクトリ。

デフォルトのディレクトリは、ORACLE_HOME/j2ee/instance/application-deploymentsです。

-iiopClientJar path/filename: 任意。EARに含まれる各EJB JAR内にパッケージされたホーム、リモートおよびローカルのインタフェースに対してIIOPスタブを生成する場合に指定します。

必要に応じて、生成されたスタブの出力先となるJARのパスおよびファイル名を指定できます。指定しない場合、スタブのコピーは、ORACLE_HOME/j2ee/homeapp-name/application-deployments/にあるデプロイ済EJB JARと同じ名前の新しいサブディレクトリにある_iiopClient.jarというアーカイブに出力されます。

この機能を使用するには、OC4Jの起動時にGenerateIIOPシステム・プロパティを有効にする必要があります。次に例を示します。

java -DGenerateIIOP=true -jar oc4j.jar

-bindWebApp

Webアプリケーションを指定されたWebサイトおよびコンテキスト・ルートにバインドします。

  • appName: アプリケーション名。-deployオプションの-deploymentNameの値として設定されたのと同じ名前です。

  • webAppName: Webモジュールの名前。この値は、EARファイル内に含まれるWARファイルの名前(.WAR拡張子を除く)である必要があります。

  • webSiteName: このWebアプリケーションのバインド先となるWebサイトを示すname_web-site.xmlファイルの名前。

  • contextRoot: Webモジュールのコンテキスト・ルート。この値は、http://localhost:8888/utilityのように、Webブラウザを介してアプリケーションにアクセスするために使用されるURLの最後に追加されます。

このオプションにより、web_site_name変数に指定されたname-web-site.xml構成ファイルにエントリが作成されます。

-undeploy appName

デプロイ済J2EEアプリケーションをOC4Jインスタンスから削除します。appNameの値は、ORACLE_HOME/j2ee/home/config/server.xmlapplication要素に定義されている、OC4J内のアプリケーションの名前です。

アプリケーションをアンデプロイすると、次のような結果になります。

  • アプリケーションは、OC4Jランタイムおよびserver.xmlファイルから削除されます。

  • すべてのアプリケーションのWebモジュールに対するバインドは、Webモジュールのバインド先であったすべてのWebサイトから削除されます。

  • アプリケーション・ファイルは、applicationsapplication-deploymentsの両方のディレクトリから削除されます。

オプションの-keepFilesパラメータは非推奨です。


アプリケーションの管理

この項では、スタンドアロンOC4Jインスタンスのアプリケーションを管理するためにadmin.jarによって提供される機能の概要を説明します。この項の内容は次のとおりです。

アプリケーションの起動、停止または再起動

admin.jarを使用すると、スタンドアロンOC4Jインスタンスで停止していたアプリケーションの起動、停止または再起動ができます。

次の例では、OC4Jで稼働している特定のアプリケーションを再起動しています。アプリケーション内のファイルが変更されている場合、アプリケーションまたはモジュールは自動的に再デプロイされます。

java -jar admin.jar ormi://localhost:23791 oc4jadmin password -application
   myapplication -restart

表7-5 アプリケーションの再起動用オプション

オプション 説明

-application appName -start

指定されたアプリケーションおよび子アプリケーションを起動します。

-application appName -stop

指定されたアプリケーションおよび子アプリケーションを停止します。

-application appName -restart

指定されたアプリケーションおよび子アプリケーションを再起動します。

OC4Jのポーリングが有効であり、アプリケーション内のファイルが変更されている場合、そのアプリケーションは再デプロイされます。


アプリケーション内のEJBモジュールの更新

admin.jarユーティリティには、OC4Jインスタンスで稼働中のアプリケーション内でEJBモジュールの増分的または部分的な再デプロイを可能にする-updateEJBModuleオプションがあります。このオプションは、開発環境からJARファイルを直接再デプロイするためにアプリケーション開発者が使用することを主な目的としています。


注意:

増分的な再デプロイは、CMPまたはBMPエンティティBeanにアプリケーション全体を再デプロイするよりも効率的ですが、セッションBean、メッセージドリブンBeanまたはEJB 3.0 JPAエンティティでは当てはまりません。この機能の使用に関する詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』の更新されたEJBモジュールの増分再デプロイに関する項を参照してください。

構文は次のとおりです。

java -jar admin.jar ormi://oc4jHost:oc4jOrmiPort adminId adminPassword
-application appName -updateEJBModule relativePath [-file path/ejbJarName]

たとえば、次のコマンドを使用すると、petstoreアプリケーションのcustomerEjb.jarモジュールを更新できます。開発者のマシン上には次のディレクトリ構造があると想定します。

/work
  /src    - application source code
  /build  - compiled class files
  /dist   - assembled EAR and JAR files

更新済EJB JARが/distディレクトリのアプリケーションのapplication.xml J2EE標準デプロイメント・ディスクリプタに定義されている相対パスと一致する場所にある場合、次のコマンドを/distディレクトリから発行できます。

java -jar $ORACLE_HOME/admin.jar ormi://myoc4jserver:23791 oc4jadmin password
-application petstore -updateEJBModule customerEjb.jar

更新済ファイルが/buildディレクトリ内にある場合、JARの場所を-fileオプションに指定した次のコマンドを/distディレクトリから発行できます。

java -jar admin.jar ormi://myoc4jserver:23791 oc4jadmin password
-application petstore -updateEJBModule customerEjb.jar -file build/customerEjb.jar

表7-6 EJBモジュールの更新用オプション

オプション 説明

-application appName -updateEJBModule

指定されたEJBモジュールを新しいEJBモジュールで更新します。

  • relativePath: アプリケーションのapplication.xml J2EEデプロイメント・ディスクリプタに定義されている、更新済BEANを含むEBJ JARへの相対パス。

  • -file path: ファイルの場所がapplication.xmlデプロイメント・ディスクリプタに指定されている相対パスと一致しない場合の更新済EJB JARのパスおよびファイル名。


データソースの管理

admin.jarを使用して、特定のアプリケーションのデータソースを作成、削除、リスト出力またはテストします。また、10.1.3より前のdata-sources.xmlファイルを新しいファイル形式に変換できます。

アプリケーション固有のデータソースの作成

新しいアプリケーション固有のデータソースを構成する-installDataSourceオプションの構文は、次のとおりです。

java -jar admin.jar ormi://oc4jHost:oc4jOrmiPort adminId adminPassword
-application appName -installDataSource -jar path
-url url -location jndiName [-pooledLocation jndiName]
[-xaLocation jndiName] [-ejbLocation jndiName] -username name
-password password [-connectionDriver className] -className className
[-sourceLocation jndiName][-xaSourceLocation jndiName]

次に例を示します。

java -jar admin.jar ormi://localhost:23791 oc4jadmin password -application myapp
-installDataSource -jar C:/jdbc/lib/ojdbc14dms.jar
-url jdbc:oracle:thin:@dev2:1521:main -location jdbc/OracleUddi
-username dbuser -password dbpw -className oracle.jdbc.pool.OracleDataSource

表7-7 データソースの管理用オプション

オプション 説明

-application appName -installDataSource

指定されたアプリケーションの新しいデータソースをインストールします。次のパラメータを使用してデータソース情報を指定します。

-jar path: 必須。OC4Jサーバーに追加されるJDBCドライバが含まれるJARファイルへのパス。

-url url: 必須。JDBCデータベースのURL。

-location jndiName: 必須。RAWデータソースのJNDI名。たとえば、jdbc/DefaultPooledDSなど。

-pooledLocation jndiName: 任意。プールされたデータソースのJNDI名。たとえば、jdbc/DefaultPooledDSなど。

-xaLocation jndiName: 任意。XAソースのJNDI名。たとえば、jdbc/xa/DefaultXADSなど。-ejbLocationが指定されている場合は必須。

-ejbLocation jndiName: 任意。コンテナ管理のトランザクション・データソースのJNDI名。これは、グローバルJTAトランザクションを実行できるデータソースのみです。たとえば、jdbc/DefaultDSなど。

-username name: 必須。データベースにログインするためのユーザー名。

-password password: 必須。データベースにログインするためのパスワード。

-connectionDriver className: 任意。JDBCデータベース・ドライバのクラス。

-className className: 必須。oracle.jdbc.pool.OracleDataSourceなどのデータソースのクラス名。

-sourceLocation jndiName: 任意。この特殊なデータソースの基礎となるデータソースのJNDI名。

-xaSourceLocation jndiName: 任意。この特殊なデータソースの基礎となるXAデータソースのJNDI名。


既存のデータソースのリスト出力、テストおよび削除

admin.jarを使用すると、特定のアプリケーションに関連付けられたデータソースのリスト出力やテスト、または削除も可能です。

表7-8 アプリケーションおよびデータソースの管理用オプション

オプション 説明

-application appName -listDataSource

インストールされた各データソース・オブジェクトについて静的に構成された情報を取得します。

-application appName -testDataSource

既存のデータソースをテストします。次のパラメータを使用して情報を指定します。

-location jndiName: データソースのネームスペースの場所。たとえば、jdbc/DefaultDSなど。必須。

-username name: パスワードとともにログインに使用するユーザー名。任意。

-password password: ログインに使用するパスワード。任意。

-application appName -removeDataSource

既存のデータソースを削除します。次のパラメータを使用して情報を指定します。

-location jndiName: データソースのネームスペースの場所。たとえば、jdbc/DefaultDSなど。必須。


新しい構成への既存のデータソースの変換

OC4J 10g(10.1.3.5.0)実装では、10.1.3および10.1.3より前(10.1.2および9.0.4)の形式のdata-sources.xmlファイルも使用できます。10.1.3より前のOC4J実装で使用され、独自のdata-sources.xmlファイルを含むアプリケーションでは、Application Server Controlを使用してdata-sources.xmlファイルを変更(既存のデータソースの変更またはデータソースの作成や削除など)すると、OC4J 10g(10.1.3.5.0)実装によりdata-sources.xmlファイルが10.1.3より前の形式から10.1.3形式に自動的に変換されます。

スタンドアロンOC4Jが稼働中または停止中のdata-sources.xmlファイルの変換

admin.jarコマンドの-convertDataSourceConfigurationオプションを使用すると、10.1.3より前のdata-sources.xmlファイルを新しいファイル形式に変換できます。

スタンドアロン環境でOC4Jインスタンスがアクティブな状態では、次の構文でadmin.jarを使用して、10.1.3より前のdata-sources.xmlファイルを10.1.3形式に手動で変換できます。

java -jar admin.jar ormi://oc4jHost:oc4jOrmiPort adminId adminPassword 
-convertDataSourceConfiguration old-data-sources.xml new-data-sources.xml

たとえば、次のコマンドは、既存の構成を変換して新しいファイルに書き込みます。

java -jar admin.jar ormi://localhost:23791 oc4jadmin password
-convertDataSourceConfiguration C:\oc4j\j2ee\home\config\data-sources.xml
C:\new\data-sources.xml

変換後、古いdata-sources.xmlは参照に必要な情報が含まれているため、削除するのではなく名前を変更することをお薦めします。生成された新しいファイルは、レガシー・ファイルが格納されているディレクトリにコピーします。

構文では、ORMI URLはオプションです。ORMI URLは、OC4Jが稼働している場合にのみ指定できます。

また、OC4Jインスタンスが稼働していなくても、デプロイ前にdata-sources.xmlファイルを変換できます。オフライン変換の構文は次のとおりです。

java -jar admin.jar -convertDataSourceConfiguration
old-data-sources.xml new-data-sources.xml

注意:

  • ORMIポートを指定した場合は、OC4Jは稼働している必要があります。OC4Jが稼働していない場合には、admin.jarコマンドラインからORMI URLを除外する必要があります。
  • ORMIポートを指定しない場合、admin.jarコマンドは、OC4Jが稼働している状態または稼働していない状態のいずれかで実行されます。

  • admin.jarユーティリティは、スタンドアロンOC4J環境でのみ使用できます。このユーティリティは、Oracle Application Server環境にインストールされますが、OPMN管理環境では使用できません。

  • 新しいadmin_client.jarユーティリティは、スタンドアロンおよび管理されているOracle Application Serverのどちらの環境でも使用できます。ただし、admin_client.jarユーティリティでは、data-sources.xmlファイルの変換は行われません。


アプリケーションおよび新しいdata-sources.xmlファイル間での一貫性の確認

変換後、アプリケーションと新しいファイルの間にデータソースの参照に使用されるJNDIロケーションに関する一貫性があることを確認するために、手動または自動で、新しいdata-sources.xmlファイルを表示して調査します。

古い形式では複数のロケーション属性(locationejb-locationおよびxa-locationなど)が使用されています。そのため、新しいファイルには使用されていないデータソース定義が含まれているので、この一貫性チェックを実行することをお薦めします。新しい10.1.3形式への変換により、古いdata-sources.xmlファイルで指定されている各ロケーション属性に対応する別のデータソースが、新しいdata-sources.xmlファイルに作成されます。多くの場合、クライアント・アプリケーションでは、locationまたはejb-location属性で定義されているデータソースのみが使用されます。変換されたdata-sources.xmlファイルには、アプリケーションでは使用されない定義が含まれていますが、削除できます。

新しいdata-sources.xml形式の例は、『Oracle Containers for J2EEサービス・ガイド』の「データソース」の章を参照してください。

コネクタのデプロイまたはアンデプロイ

次のコマンドの1つを使用すると、RARファイルにパッケージされたJavaコネクタ・アーキテクチャに準拠するリソース・アダプタをデプロイまたはアンデプロイできます。

表7-9 アプリケーションのデプロイ用オプション

オプション 説明

-deployconnector

コネクタをデプロイします。次のパラメータにアプリケーション情報を指定します。

-file path: 必須。デプロイするRARファイルのパスおよびファイル名。

-name name: リソース・アダプタの名前。

-nativeLibPath path: RARファイル内の、ネイティブ・ライブラリ(DLLなど)を格納するディレクトリへのパス。

-grantAllPermissions: 必要に応じて、リソース・アダプタによってリクエストされるすべてのランタイム権限を付与する場合に指定します。

-undeployconnector

指定されたコネクタをアンデプロイします。

name name: アンデプロイするコネクタの名前。

スタンドアロンRARのアンデプロイでは、defaultアプリケーションを再起動する必要はありません。