asadminコマンドは、Java EEの実行環境のための統合コマンドであり、Java EEの実行環境の構築や、システム稼動後の運用操作を行うことができます。
以下について説明します。
コマンドの実行権限
本コマンドはInterstage運用グループのユーザーのみ実行可能です。
Interstage運用グループについては、「6.1.1 運用環境のロール対応」を参照してください。
コマンド利用時のログイン認証
本コマンドの利用時はログイン認証が必要となります。
ログイン認証ついての詳細は「6.1.7.2 asadminコマンドのログイン認証」を参照してください。
コマンド構成
asadminコマンドは、複数のサブコマンドから構成されています。それぞれのサブコマンドはJava EE運用環境の操作と対応しています。なお、サブコマンドごとに指定できるオプションは異なります。
コマンドの実行時には、以下のようにサブコマンドとオプション・オペランドを指定します。
> asadmin サブコマンド オプション オペランド |
注意
Java EEの実行環境の操作は、Interstage Java EE DASサービスを経由して行われます。
そのため、一部のサブコマンドを除き、asadminコマンドの実行時にはInterstage Java EE DASサービスが起動している必要があります。
サブコマンド
サブコマンドは、以下のように操作と操作対象の名前をハイフンでつないだ形式です。
asadmin create-cluster |
create: 操作名
cluster: 操作対象
サブコマンドの詳細については、「11.1.1 asadminコマンドのサブコマンド一覧」と各サブコマンドの説明を参照してください。
サブコマンド名の候補表示
指定したサブコマンド名に誤りがある場合は、エラーメッセージ中に、指定した文字列を含むサブコマンドの一覧が表示されます。そのため、サブコマンド名の一部を覚えていれば目的のコマンドを知ることができます。
Closest matching command(s): |
例えば、clusterに関する操作を調べたい場合は、以下のように入力します。
> asadmin cluster |
Usage
オプションの指定に誤りなどがある場合、コマンドの使用方法を示すUsageが以下の形式で表示されます。
Usage: コマンド名 オプション オペランド |
省略可能なオプションとオペランドは大括弧でくくられます。
以下にUsageの表示例を示します。
Usage: create-cluster [--terse[=true|=false]] [--echo[=true|=false]] [--newinstances instance_name1[:instance_name2]...] [--systemproperties name=value[:name=value]...] [--interactive[=true|=false]] [--user admin_user] [--passwordfile file_name] [--help] [--config config_name] cluster_name |
コマンドプロセスのJavaVMオプション設定
asadminコマンドを起動する場合、通常のJavaアプリケーションと同様に内部的にJavaアプリケーションの起動コマンド(Javaコマンド)を使用します。
このJavaアプリケーションの起動コマンドで指定可能なオプション(-Xmxオプションなど)を指定する場合には、環境変数VMARGSを指定してください。以下にオプションの指定例を示します。
VMARGS= -Xmx512m |
注意
-classpathオプションは指定しないでください。
以下のように不当な値を指定した場合、javaコマンドのエラーが発生します。オプションの指定方法はjavaコマンドの説明を参照してください。空白を含む値を指定する場合、値をダブルコーテーション(")で囲む必要があります。
無効なオプションを指定した場合
>set VMARGS=-option |
不当な空白を指定した場合
>set VMARGS=option1 option2 |
マルチモード
サブコマンドを指定しないでasadminコマンドを実行した場合、コマンドがマルチモードで起動します。マルチモードを使用することで、複数操作の一括実行が容易に行えます。
マルチモードについての詳細は、「11.1.3.2 multimodeサブコマンド」を参照してください。
オプション
asadminコマンドのオプションは、「--help」のようにキーワードの先頭にハイフンを2つ付加した形式です。
オプションには3種類あり、値の指定方法が異なります。それぞれについて以下に説明します。
オプション種別 | 値の指定方法 | 使用例 |
---|---|---|
Boolean値を指定するオプション | オプションと値の間を「=」で区切って指定する。 | --echo=true |
文字列・数値を指定するオプション | オプションと値の間を空白または「=」で区切って指定する。(注) | --file foo.txt |
値指定を行わないオプション | - | --help |
注)ハイフン(「-」)から始まるオプションの値を指定する場合、オプション名と値を「=」で区切って指定してください。
Boolean値を指定するオプションは、値を省略してオプションだけを指定できるものがあります。オプションだけを指定する場合は、「=」も省略します。値の指定を省略した場合、デフォルト値としてtrueが設定されます。
これにより、以下の2つの入力は同じ意味になります。
> asadmin create-cluster --echo=true |
Boolean値以外の省略可能オプションは、値を省略してオプションだけを指定できるものがあります。オプションだけを指定する場合は、「=」は省略できません。値の指定を省略した場合、デフォルト値が設定されます。
これにより、以下の2つの入力は同じ意味になります。
> asadmin update-web-server-connector-config --maxprocessors=600 --target IJServer001 |
頻繁に使用されるオプションは、英単語一文字の簡略名を指定できます。簡略名の場合は、先頭のハイフンは1つです。簡略名の使用例を以下に示します。
> asadmin create-cluster -e=true |
複数の簡略名を続けて指定できます。例えば、以下の2つの入力は同じ意味になります。
asadmin create-cluster -e -t |
複数のオプションを同時に指定したい場合は、空白で区切って指定します。同じオプションを複数指定した場合はエラーとならず、後に指定したオプションの値が有効になります。
例えば、以下のケースでは、最後に指定した「--echo=true」が有効になります。
> asadmin create-cluster --echo=false --echo=true |
コマンド実行時に不正なオプションを指定した場合は、サブコマンドのUsageとエラーメッセージが表示されてコマンドが終了します。
Usage: start-cluster [--terse[=true|=false]] [--echo[=true|=false]] [--interactive[=true|=false]] [--user admin_user] [--passwordfile file_name] [--help] cluster_name |
オペランド
オペランドはコマンドの引数の最後尾に指定する文字列であり、操作対象の名前などを指定する時に使用します。
必須オペランドを省略した場合、以下のようにUsageとエラーメッセージを表示してコマンドが終了します。
なお、オペランドにはハイフン(「-」)から始まる値を指定することはできません。このような値を指定したい場合、Interstage Java EE管理コンソールを利用して定義更新を行ってください。
Usage: start-cluster [--terse[=true|=false]] [--echo[=true|=false]] [--interactive[=true|=false]] [--user admin_user] [--passwordfile file_name] [--help] cluster_name |
targetの指定
各サブコマンドの--targetオプション、またはオペランドで操作対象を指定する場合に指定できる値について説明します。
指定できる値 | 説明 |
---|---|
IJServerクラスタ名 | 作成済みのIJServerクラスタに対して操作を実施します。 |
サーバーインスタンス名 | 作成済みのサーバーインスタンスに対して操作を実施します。 |
設定名 | 作成済みの設定に対して操作を実施します。 |
domain | ドメイン(Java EE運用環境)に対して操作を実施します。 主に以下のような動作となります。
|
server | Interstage Java EE DASサービスに対して操作を実施します。 |
各サブコマンドで指定できる値が異なるため、どの値が指定できるかは各サブコマンドの説明を参照してください。
ユーザとパスワードの指定
asadminコマンド利用時、以下のいずれかの方法でInterstage Java EE DASサービスへの認証に使用するユーザとパスワードを指定します。
asadminコマンドの実行時に以下のような問い合わせが行われますので、ユーザとパスワードをそれぞれ入力します。
> asadmin create-cluster IJServer001 |
--userオプションと--passwordfileオプションを指定することで、asadminコマンド実行時のユーザとパスワードの入力を省略できます。
以下に実行例を示します。
> asadmin create-cluster --user admin --passwordfile password.txt IJServer001 |
--passwordfileオプションで指定するパスワードファイルは、AS_ADMIN_PASSWORDを使用して記述します。
AS_ADMIN_PASSWORD=パスワード |
なお、指定したパスワードファイルが参照できない場合は、コマンドの実行に失敗します。出力されたエラーメッセージを参照して対処を行ってください。
また、ユーザのホームディレクトリに.asadminpassファイルが存在していても、--passwordfileオプションが指定された場合は--passwordfileオプションの内容が優先されます。
.asadminpassファイルの詳細は、loginサブコマンドを参照してください。
--userオプションと--passwordfileオプションについては「11.1.2 asadminコマンドの共通オプション」も参照してください。
注意
パスワードはパスワードエイリアス機能を利用して保存することを推奨します。詳細は、「11.1.18.8 create-password-aliasサブコマンド」を参照してください。
パスワードファイルに記述したパスワードを保護するため、テキストエディタにより作成したパスワードファイルのアクセス権を600に設定してください。
asadminコマンドのloginサブコマンドを利用することで、asadminコマンド実行時のInterstage Java EE DASサービスのログインユーザとパスワードの入力を省略できます。詳細は、loginサブコマンドを参照してください。
セパレータ
asadminコマンドのオペランド、オプションには複数の値を指定できるものがあります。複数の値を指定する場合、セパレータを指定して各値を区切る必要があります。
セパレータの文字種別は各オペランド、オプションによって異なります。各オペランド、オプションのセパレータは以下の表のとおりになります。
setサブコマンドの場合
オペランド/オプション | セパレータ |
---|---|
applications.j2ee-application.${AppName}.libraries |
|
applications.ejb-module.${AppName}.libraries | |
applications.web-module.${AppName}.libraries | |
${clusterName_instanceName_configName}.java-config.debug-options | 「 」(半角空白) |
${clusterName_instanceName_configName}.java-config.javac-options | |
${clusterName_instanceName_configName}.java-config.jvm-options | , |
${clusterName_instanceName_configName}.ijserver-control.environment-variable |
setサブコマンド以外の場合
サブコマンド | オペランド/オプション | セパレータ |
---|---|---|
create-system-properties | name | : |
create-jvm-options | jvm_option_name | |
delete-jvm-options | jvm_option_name | |
create-lifecycle-module | --property | |
rollback-transaction | transaction_id | |
create-jdbc-connection-pool | --property | |
create-jdbc-resource | --property | |
create-jms-resource | --property | |
create-jndi-resource | --property | |
create-javamail-resource | --property | |
create-custom-resource | --property | |
create-connector-connection-pool | --property | |
create-admin-object | --property | |
create-resource-adapter-config | --property | |
create-connector-security-map | --principals | , |
--usergroups | ||
update-connector-security-map | --addprincipals | |
--addusergroups | ||
--removeprincipals | ||
--removeusergroups | ||
create-file-user | --groups | : |
update-file-user | --groups |
エスケープ文字の利用
コマンドのオプションまたはオペランドの値に以下に示す文字を利用する場合、エスケープ文字として'\'を指定する必要があります。
注意
get/set/listサブコマンドのオペランド(定義項目名)には指定できない文字があります。get/set/listサブコマンドのオペランド(定義項目名)で利用可能な文字については、「11.1.4 定義項目参照/更新」の「定義項目名に指定可能な文字」を参照してください。
文字の種類 | 説明 | 文字 |
---|---|---|
UNIXメタ文字 | UNIXメタ文字として利用される文字 | ;&()|><*?[]~+-@!"'\`${}^ (注) |
Javaエスケープシーケンス | Javaにおいてエスケープ文字として利用される文字 | \、"など |
asadminコマンドの区切り文字 | asadminコマンドの区切り文字である文字 | : |
asadminコマンドの特殊文字 | 以下のサブコマンドで、エスケープ文字として利用される特殊文字
| ,.-:= |
マルチモードの特殊文字 | マルチモードでエスケープ文字として利用される特殊文字 | \ |
注) 利用しているShellの種類により、UNIXメタ文字として扱われる文字が異なります。Bourne ShellとC ShellのUNIXメタ文字について、以下に説明します。
| Bourne Shell | C Shell |
| Bourne Shell | C Shell |
| Bourne Shell | C Shell |
---|---|---|---|---|---|---|---|---|
; | ○ | ○ | ? | × | ○ | " | ○ | ○ |
& | ○ | ○ | [ | × | ○ | ' | ○ | ○ |
( | ○ | ○ | ] | × | × | \ | ○ | ○ |
) | ○ | ○ | ~ | × | × | ` | ○ | ○ |
| | ○ | ○ | + | × | - | $ | ○ | ○ |
> | ○ | ○ | - | × | - | { | - | ○ |
< | ○ | ○ | @ | × | - | } | - | × |
* | × | ○ | ! | ○ | ○ | ^ | - | × |
○:エスケープが必要
×:エスケープは不要
-:UNIXメタ文字ではない
例
エスケープ文字の利用の実行例
実行例を以下に示します。
オプションの値に「Test\Escape\Character」を指定する場合、以下のようにエスケープ文字を使用します。
WindowsではUNIXメタ文字のエスケープは不要です。
asadmin create-jdbc-connection-pool --datasourceclassname org.apache.derby.jdbc.ClientDataSource --restype javax.sql.DataSource --property user=APP:password=APP:databaseName=samples:serverName=localhost:portNumber=1527 --description Test\\Escape\\Character SamplePool |
注) 外部ファイルを指定してsetサブコマンドを実行した場合、およびmultimodeサブコマンドの利用時は、UNIXメタ文字のエスケープは不要です。
オプションの値に「c:\foo\bar」を指定する場合、以下のようにエスケープ文字を使用します。
asadmin create-jvm-options --target testserver -Dlocation=c\:\\foo\\bar |
asadmin create-jvm-options --target testserver -Dlocation=c\\:\\\\foo\\\\bar |
propertyオプションに以下のnameとvalueを指定する場合について説明します。
user=scott:password=tiger:url=jdbc:oracle:thin:@//localhost:1521/sampledb |
以下のようにエスケープ文字を使用します。
asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --restype javax.sql.DataSource --property user=scott:password=tiger:url=jdbc\:oracle\:thin\:@//localhost\:1521/sampledb SamplePool |
asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --restype javax.sql.DataSource --property user=scott:password=tiger:url=jdbc\\:oracle\\:thin\\:@//localhost\\:1521/sampledb SamplePool |
asadmin create-jvm-options --target testserver -e\:-Dlocation=c\:\\foo\\bar |
asadmin create-jvm-options --target testserver -e\\:-Dlocation=c\\:\\\\foo\\\\bar |
この場合、'\'の本来の意味を表現するために4つのエスケープ文字(\\\\)を指定する必要があります。それぞれの'\'の意味は以下のとおりです。
1つ目の'\': UNIXメタ文字のエスケープ
2つ目の'\': Javaエスケープシーケンスのエスケープ
3つ目の'\': UNIXメタ文字のエスケープ
4つ目の'\': 本来の'\'を意味します
1つ目の'\'は2つ目の'\'に対するエスケープ、3つ目の'\'は4つ目の'\'に対するエスケープです。
'\'に対してJavaエスケープシーケンスを指定する場合、"\\"と表記します。
'\'はUNIXメタ文字に該当するため、UNIXのasadminコマンドで上記を指定する場合はそれぞれの'\'に対してエスケープ文字として'\'を付加する必要があります。
setサブコマンドで、オプション「jvm-options」の値に「-Dcom.sun.enterprise.taglibs=appserv-jstl.jar,jsf-impl.jar」を指定する場合、以下のようにエスケープ文字を使用します。
asadmin set testserver.java-config.jvm-options=-Dcom.sun.enterprise.taglibs=appserv-jstl.jar\,jsf-impl.jar |
asadmin set testserver.java-config.jvm-options=-Dcom.sun.enterprise.taglibs=appserv-jstl.jar\\,jsf-impl.jar |
また、外部ファイルを使用しオプション「jvm-options」の値に「-Dcom.sun.enterprise.taglibs=appserv-jstl.jar,jsf-impl.jar」を指定する場合、以下のようにエスケープ文字を使用します。
testserver.java-config.jvm-options=-Dcom.sun.enterprise.taglibs=appserv-jstl.jar\,jsf-impl.jar |
get/set/listサブコマンドで、「sample.name」のようにピリオドが含まれた文字列をキー名に指定する場合、以下のようにエスケープ文字を使用します。
asadmin set testserver.property.sample\.name=samplevalue |
asadmin set testserver.property.sample\\.name=samplevalue |
オペランドに先頭が'-'である文字列を指定し、かつ、その文字列がコマンドオプションと合致する場合、先頭の'-'をエスケープする必要があります。
例えば、-s、-o=value、--switch、--option=valueなどをオペランドに指定する場合は、先頭の'-'をエスケープする必要があります。
以下に使用例で説明します。
create-jvm-options、delete-jvm-optionsサブコマンドで、オプションの値に「-Xmx512m」や「-Dlocation=c:\foo\bar」を指定する場合、以下のようにエスケープ文字を使用します。
asadmin create-jvm-options --target testserver \-Dlocation=c\:\\foo\\bar (注1) |
asadmin create-jvm-options --target testserver \\-Dlocation=c\\:\\\\foo\\\\bar (注1) |
注1) create-jvm-optionsサブコマンドで、「-xxxx=yyyy」(xxxxはオプション、yyyyは指定値)の形式のオペランド(Java VMのオプション)を指定する場合は、以下のようにオプションの「-」部分についてはエスケープ文字を使用しないで指定することもできます。
asadmin create-jvm-options --target testserver -Dlocation=c\:\\foo\\bar |
asadmin create-jvm-options --target testserver -Dlocation=c\\:\\\\foo\\\\bar |
注2) create-jvm-optionsサブコマンドで、「-xxxx」(xxxxはオプション)の形式のオペランドを指定する場合は、注1)の場合と異なり、例のようにオプションの「-」部分についてエスケープ文字を使用する必要があります。
create-lifecycle-moduleサブコマンドで、オプション「property」の値に「rmi="Server=acme1:7070":timeout=30」を指定する場合、以下のようにエスケープ文字を使用します。
asadmin create-lifecycle-module --target testserver --classname "com.acme.CustomSetup" --classpath "/export/customSetup" --loadorder 1 --property rmi="Server\=acme1\:7070":timeout=30 customSetup |
以下のいずれかの方法でエスケープを行います。
asadminの特殊文字をエスケープする方法
asadmin create-lifecycle-module --target testserver --classname "com.acme.CustomSetup" --classpath "/export/customSetup" --loadorder 1 --property rmi="Server\=acme1\:7070":timeout=30 customSetup |
UNIXメタ文字の'"'をエスケープする方法
asadmin create-lifecycle-module --target testserver --classname "com.acme.CustomSetup" --classpath "/export/customSetup" --loadorder 1 --property rmi=\"Server=acme1:7070\":timeout=30 customSetup |
create-jdbc-connection-poolサブコマンドで、オプション「property」の値に以下のnameとvalueを指定する場合について説明します。
user=scott:password=tiger:url="jdbc:oracle:thin:@(DESCRIPTION=(ENABLE=BROKEN)(ADDRESS_LIST=(LOAD_BALANCE=ON)(FAILOVER=ON)(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.1)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.2)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=rac)))" |
以下のようにエスケープ文字を使用します。
asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleConnectionPoolDataSource --restype javax.sql.ConnectionPoolDataSource --property user=scott:password=tiger:url="jdbc\:oracle\:thin\:@(DESCRIPTION\=(ENABLE\=BROKEN)(ADDRESS_LIST\=(LOAD_BALANCE\=ON)(FAILOVER\=ON)(ADDRESS\=(PROTOCOL\=tcp)(HOST\=192.168.0.1)(PORT\=1521))(ADDRESS\=(PROTOCOL\=tcp)(HOST\=192.168.0.2)(PORT\=1521)))(CONNECT_DATA\=(SERVICE_NAME\=rac)))" OracleRACPool |
以下のいずれかの方法でエスケープを行います。
asadminの特殊文字をエスケープする方法
asadmin create-jdbc-connection-pool -datasourceclassname oracle.jdbc.pool.OracleConnectionPoolDataSource --restype javax.sql.ConnectionPoolDataSource -property user=scott:password=tiger:url="jdbc\:oracle\:thin\:@\(DESCRIPTION\=\(ENABLE\=BROKEN\)\(ADDRESS_LIST\=\(LOAD_BALANCE\=ON\)\(FAILOVER\=ON\)\(ADDRESS\=\(PROTOCOL\=tcp\)\(HOST\=192.168.0.1\)\(PORT\=1521\)\)\(ADDRESS\=\(PROTOCOL\=tcp\)\(HOST\=192.168.0.2\)\(PORT\=1521\)\)\)\(CONNECT_DATA\=\(SERVICE_NAME\=rac\)\)\)" OracleRACPool |
UNIXメタ文字の'"'をエスケープする方法
asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleConnectionPoolDataSource --restype javax.sql.ConnectionPoolDataSource --property user=scott:password=tiger:url=\"jdbc:oracle:thin:@\(DESCRIPTION=\(ENABLE=BROKEN\)\(ADDRESS_LIST=\(LOAD_BALANCE=ON\)\(FAILOVER=ON\)\(ADDRESS=\(PROTOCOL=tcp\)\(HOST=192.168.0.1\)\(PORT=1521\)\)\(ADDRESS=\(PROTOCOL=tcp\)\(HOST=192.168.0.2\)\(PORT=1521\)\)\)\(CONNECT_DATA=\(SERVICE_NAME=rac\)\)\)\" OracleRACPool |
コマンドをマルチモードで実行し、1つまたは複数の'\'を含む値を指定する場合、以下のいずれかの方法でエスケープ処理を行う必要があります。
1つまたは複数の'\'の先頭にエスケープ文字として'\'を追加する。
'\'が含まれた値を'"'で囲む。
以下のサブコマンドを実行する場合の対処例を示します。
create-jvm-options --target testserver \-Dlocation=c\:\\foo\\bar |
エスケープ文字を利用する場合
asadmin>create-jvm-options --target testserver \\-Dlocation=c\\:\\\foo\\\bar |
ダブルクォーテーションを利用する場合
asadmin>create-jvm-options --target testserver \\-Dlocation="c\:\\foo\\bar" |
'.'を含む定義項目を作成した場合、listサブコマンドの実行時にエスケープ文字が付与された形式で出力されます。
例
以下に実行例を示します。
>asadmin create-threadpool --target server thread.pool001 |
空白を含む文字列の指定
getサブコマンドで、オプション「file」の値に「sample get.txt」を指定する場合、以下のように実行します。
asadmin get --file "sample get.txt" testserver.* |
コマンドラインでは、コマンドオプションに空白を含む文字列を指定できません。
コマンドオプションに空白を含む文字列を指定したい場合は、multimodeサブコマンドの--fileオプションを利用する方法があります。
getサブコマンドで、オプション「file」の値に「sample get.txt」を指定する場合の実行例を以下に示します。
multimodeサブコマンドの入力とする外部ファイル「execute_get.txt」に以下のように記載します。
get --file "sample get.txt" testserver.* |
1.の外部ファイルを入力として、multimodeサブコマンドを実行します。
asadmin multimode --file execute_get.txt |
注意
空白を含む文字列を指定する場合の注意
末尾が空白である値は指定できません。指定した場合、末尾の空白が取り除かれた値が有効になります。
入力文字列長の上限
asadminコマンド実行時の入力文字列長の上限を以下に示します。
| |||
---|---|---|---|
multimodeサブコマンドを利用しない場合 | 6984バイト | 256バイト | |
multimodeサブコマンドを利用する場合 | --fileオプションを指定しない場合 | 8190バイト | 256バイト |
--fileオプションを指定する場合 | 無制限 |