Interstage Application Server リファレンスマニュアル(コマンド編) |
目次 索引 |
第2部 OLTPシステム運用編 | > 第8章 CORBAサービス運用コマンド |
OD_impl_inst − サーバアプリケーションの登録/削除/情報表示
(1)サーバアプリケーションの登録
OD_impl_inst -a -r ImplID [-t Type] [-f filename] [-u uid] [-g gid] [-M system]
OD_impl_inst -ax defname [-M system]
(2)サーバアプリケーションの削除
OD_impl_inst -d -r ImplID [-M system]
(3)サーバアプリケーションの登録内容表示
OD_impl_inst -p -r ImplID [-M system]
OD_impl_instコマンドは、インプリメンテーションリポジトリに対して、サーバアプリケーションの情報(パス名、タイプ)の登録、削除、情報表示を行います。
本コマンドで指定可能なオプションとパラメタを以下に示します。
インプリメンテーションリポジトリにサーバアプリケーションを登録します。
本オプションでは、以下を設定できます。
-axオプションでCORBAアプリケーション情報定義ファイルを使用すると、より詳細な設定が可能です。-aオプションでは、CORBAアプリケーション情報定義ファイルでのみ設定できる項目についてはデフォルト値が使用されます。
CORBAアプリケーション情報定義ファイルdefnameで指定した定義情報で、インプリメンテーションリポジトリにサーバアプリケーションを登録します。CORBAアプリケーション情報定義ファイルの形式については“CORBAアプリケーション情報定義ファイルでの登録”を参照してください。
インプリメンテーションリポジトリから、サーバアプリケーションを削除します。
指定されたインプリメンテーションリポジトリのサーバアプリケーションの情報を表示します。
サーバアプリケーションのインプリメンテーションリポジトリIDを指定します。ImplIDには、システムで一意な、最大255文字までのASCIIコード(印字可能文字)からなる文字列を指定します。詳細は、備考を参照してください。
サーバアプリケーションの起動タイプを指定します。Typeには以下が指定できます。
サーバアプリケーションのパス名を指定します。"-t S","-t U"のときに指定してください。
サーバアプリケーション実行時のユーザIDを指定します。省略時は0(root)です。
サーバアプリケーション実行時のグループIDを指定します。省略時は3(sys)です。
拡張システムを生成した場合に、運用の対象となるシステム名systemを指定します。本オプションを省略すると、デフォルトシステムでの運用が対象となります。
本オプションは、以下の製品で指定可能です。
− Interstage Application Server Enterprise Edition
以下に、-axオプションで指定するCORBAアプリケーション情報定義ファイル(defname)の形式と各項目の設定内容を示します。最終行には、セパレータとして空白行を指定します。
rep_id = IDL:test1:1.0 type = shared binary = D:\user\test1_s.exe param = -x 100 env = PATH=D:\user; IDL:test1/intf1:1.0 = D:\user\INTF1.dll IDL:test1/intf2:1.0 = D:\user\INTF2.dll,,IDL:test1/intf1:1.0 : proc_conc_max = 10 thr_conc_init = 5 thr_conc_maximum = 30 thr_decrease = ON mode = SYNC_END iswitch = OFF ior = 1.1 locale = SJIS ssl = AUTO |
rep_id = IDL:test1:1.0 type = shared binary = /user/test1_s param = -x 100 env = PATH=/user; uid = 0 gid = 3 IDL:test1/intf1:1.0 = /user/libINTF1.so IDL:test1/intf2:1.0 = /user/libINTF2.so,,IDL:test1/intf1:1.0 : proc_conc_max = 10 thr_conc_init = 5 thr_conc_maximum = 30 thr_decrease = ON mode = SYNC_END iswitch = OFF ior = 1.1 locale = EUC ssl = AUTO |
rep_id = IDL:test1:1.0 type = shared binary = /user/test1_s param = -x 100 env = PATH=/user; uid = 0 gid = 3 IDL:test1/intf1:1.0 = /user/libINTF1.so IDL:test1/intf2:1.0 = /user/libINTF2.so,,IDL:test1/intf1:1.0 : proc_conc_max = 10 thr_conc_init = 5 thr_conc_maximum = 30 thr_decrease = ON mode = SYNC_END iswitch = OFF ior = 1.1 locale = EUC ssl = AUTO |
サーバアプリケーションのインプリメンテーションリポジトリIDを指定します。システムで一意な、最大255文字までのASCIIコード(印字可能文字)からなる文字列を指定します。詳細は、備考を参照してください。
サーバアプリケーションの起動タイプを指定します。
指定可能な起動タイプは、以下のとおりです。
開発言語がJAVA言語の場合は"persistent"を指定してください。
ワークユニット運用を行うアプリケーションの場合は"persistent"を指定してください。
サーバアプリケーションのパス名を指定します。type=persistent以外のとき必須です。
サーバアプリケーションの起動パラメタを指定します。type=persistentのときは無効です。省略時は、パラメタなしでサーバアプリケーションを起動します。
サーバアプリケーション実行時の環境変数を指定します。type=persistentのときは無効です。セパレータには";"を使用します。
サーバアプリケーション実行時のユーザIDを指定します。省略時は、0(root)です。
サーバアプリケーション実行時のグループIDを指定します。省略時は、3(sys)です。
オブジェクト(インタフェースリポジトリID)に対して、以下の項目を設定します。サーバアプリケーションがライブラリ形式のとき必須です。
インタフェースリポジトリIDごとに必要なだけ指定する必要があります。
指定方法は以下のとおりです。
intfID = [priority;]solib[,[prefix][,inherit[,..]]] intfID = priority;
プロセス最大多重度を指定します。省略時は1です。指定可能な最大値は512です。512を超えた場合、512に設定されます。
プロセスモードの場合は、2以上の値を指定してください。ただし、thr_conc_initに2以上の値を設定した場合は、thr_conc_initが優先されるため、スレッドモードになります。
注) Interstage管理コンソールからワークユニットを配備した場合および、ワークユニット定義を変更した場合は512が設定されます。
スレッド初期多重度を指定します。省略時は16です。指定可能な範囲は、1から2147483647(longの最大値)までです。範囲外の値が指定された場合、16に設定されます。ただし、実際に起動可能なスレッド数はOSやメモリ資源によって制限されます。
プロセスモードの場合は、1を指定してください。ただし、proc_conc_maxに1を設定した場合は、スレッドモードになります。
プロセスモード用のライブラリと結合したサーバアプリケーションは、上記の設定にかかわらずプロセスモードとして動作します。また、スレッドモード用のライブラリと結合したサーバアプリケーションは、上記の設定にかかわらずスレッドモードとして動作します。
以下に、proc_conc_maxおよびthr_conc_initの設定値と動作モードの関係を示します。
proc_conc_max |
thr_conc_init |
動作モード |
---|---|---|
1 |
1 |
スレッドモード |
1 |
2以上 |
スレッドモード |
2以上 |
1 |
プロセスモード |
2以上 |
2以上 |
スレッドモード |
スレッド最大多重度を指定します。サーバスレッドは、ここで指定された数まで自動拡張します。自動拡張を使用しないときは、thr_conc_initと同値を指定してください。
自動拡張を使用する場合、サーバスレッド数はサーバアプリケーションにかかる負荷に応じて、thr_conc_initからthr_conc_maximumの間で増減します。負荷が高い場合、サーバスレッド数は拡張され、低い場合は縮退されます。
省略時はthr_conc_initと同値に設定され、自動拡張は行われません。ただし、Interstage管理コンソールを使用した場合はデフォルト値が64となり、自動拡張が行われます。指定可能な範囲は、thr_conc_initから2147483647(longの最大値)までです。thr_conc_init未満を指定した場合はエラーとなります。また、指定値が2147483647を超えている場合、thr_conc_initと同値に設定されます。ただし、実際に起動可能なスレッド数はOSやメモリ資源によって制限されます。
プロセスモードの場合は、1を指定するか、または省略してください。
なお、ここで指定するサーバスレッド数は、リクエスト処理用スレッドの数です。サーバプロセスではこれらのスレッド以外に、プロセス管理用等の補助スレッドを起動しています。このため、サーバスレッド数をOS付属のアプリケーション、コマンド等で確認した場合、thr_conc_maximumで指定した数よりも多くなっている場合があります。リクエスト処理スレッド数の現在値は、odlistprocコマンドで確認することができます。
スレッドと資源を関連付けてリソース制御を行うサーバアプリケーションの場合、スレッド自動拡張機能を使用すると、以下のような事象が発生する可能性があります。
上記に該当するアプリケーションではスレッド自動拡張機能を使用しないか、thr_decreaseに“OFF”を指定してスレッドの縮退を行わないように設定してください。
thr_conc_maximumにthr_conc_initと異なる値を指定してスレッドの自動拡張機能を使用する場合に、スレッドの縮退を行うか否かを“ON”または“OFF”で指定します。“ON”が指定された場合は、サーバアプリケーションの負荷が低くなった際にスレッドの縮退を行います。“OFF”が指定された場合は、サーバアプリケーションの負荷が低くなってもスレッドの縮退を行いません。
デフォルト値は“ON”です。
スレッドと資源を関連付けてリソース制御を行うサーバアプリケーションなどにおいて、スレッドの縮退を行うと問題が発生する場合には、“OFF”を指定してください。
スレッドの自動拡張機能の詳細については、thr_conc_maximumを参照してください。
COBOL/OOCOBOLアプリケーションでは、ランタイム内部でスレッドと資源を関連付けてリソース制御を行うため、スレッドの縮退を行うと必ず問題が発生します。このため、COBOL/OOCOBOLアプリケーションではthr_decreaseの値にかかわらずスレッドの縮退を行いません。
サーバアプリケーションの活性化後(以下のメソッド発行後)の動作モードを指定します。
[活性化メソッド] C : CORBA_BOA_impl_is_ready(), CORBA_BOA_obj_is_ready() C++ : CORBA::BOA::impl_is_ready(), CORBA::BOA::obj_is_ready(), PortableServer::POAManager::activate() Java : org.omg.PortableServer.POAManager.activate() COBOL : CORBA-BOA-IMPL-IS-READY, CORBA-BOA-OBJ-IS-READY OOCOBOL : CORBA-BOA-IMPL_IS_READY, CORBA-BOA-OBJ_IS_READY
指定可能な動作モードは以下のとおりです。
なお、以下の場合では、必ず"SYNC_END"を指定してください。
初期スレッドがpthread_exit関数を発行して終了すると、プロセス情報が<defunct>となり、gcoreコマンドやstraceコマンドなどでプロセスの情報を採取することができなくなるため、動作モードには"SYNC_END"を指定することを推奨します。
サーバアプリケーションがクライアントアプリケーションごとにインスタンスデータを保持するか否かを、"ON"または"OFF"で指定します。アプリケーション形態としてFactory方式およびユーザインスタンス管理方式をとる場合はONを指定してください。
開発言語がCPP、JAVA、OOCOBOLのときは有効です。
連携するバージョンを指定します。指定可能なバージョンは以下のとおりです(詳細は“OD_or_adm”を参照してください)。
サーバアプリケーションのコード系を指定するオブジェクトリファレンスのコード系を指定します。
指定可能なコードは、以下のとおりです。
指定値 |
コード系 |
---|---|
SJIS |
ShiftJIS |
EUC |
EUC |
UNICODE |
UNICODE |
UTF8 |
UTF8 |
SJISMS |
Windows(R)用ShiftJIS |
U90 |
U90 |
JEF_LOWER |
JEFコード(英小文字) |
JEF_KANA |
JEFコード(カナ) |
JEF_ASCII |
JEFコード(ASCII) |
NONE |
コード情報なし |
なお、この定義はior=1.1の場合のみ指定可能です。ior=1.1でlocaleが指定されない場合、オブジェクトリファレンスのコード情報の暗黙値が設定されます(詳細は“OD_set_env”を参照してください)。
サーバアプリケーションのオブジェクトリファレンス作成時、SSL情報付加のルールを指定します。指定可能な値は以下のとおりです。
なお、この定義はior=1.1の場合のみ指定可能です。
本パラメタの指定値と、オブジェクトリファレンスの静的生成(OD_or_admコマンドなどにより生成)/動的作成(CORBA_BOA_create関数などにより生成)とのSSL情報の有無の関係は、以下のとおりです。
|
オブジェクトリファレンス生成方法 |
|||
sslパラメタの |
静的生成(OD_or_admなど) |
動的生成(CORBA_BOA_create関数など) |
||
SSL指定(-s) |
なし |
使用中のコネクションがSSL通信の場合 |
使用中のコネクションがSSL通信でない場合、 |
|
"ON" |
○ |
○ |
○ |
○ |
"OFF" |
○ |
× |
× |
× |
"AUTO" |
○ |
× |
○ |
× |
[○:オブジェクトリファレンスにSSL情報が付加される、×:SSL情報が付加されない]
クライアントアプリケーションごとにインスタンスデータを保持する場合(iswitch=ONの場合)、同一のクライアント/サーバアプリケーション間の接続で、SSL通信を行う接続とSSL通信を行わない接続とを同時に行うことはできません。このため、iswitch=ONを指定し、かつ、サーバアプリケーションがオブジェクトリファレンスを動的作成する場合は、異なる接続を回避するために本パラメタに"AUTO"を指定することを推奨します。
起動時に表示されるメッセージと意味を以下に示します。
Error:ObjectDirector not running
CORBAサービスが起動されていません。
Error:RepositoryID is already registered.
指定されたRepositoryIDはすでに登録されています。
Error:RepositoryID is not registered.
指定されたRepositoryIDは登録されていません。
Error:FJ_ImplementationRep_synch
インプリメンテーションの登録に失敗しました。ディスクに空きがない可能性があります。
Error:RepositoryID delete fails
インプリメンテーションの削除に失敗しました。指定したインプリメンテーションリポジトリIDをもったサーバアプリケーションが起動中の可能性があります。
file not found
-axオプションで指定したfileが見つかりません。
Invalid syntax file: line number
fileのnumber行目にシンタックスエラーがあります。
Load Error Impl DB
impl.dbをロードできません。
Multiply XXX
オプションXXXが二重に定義されました。
Illegal option [XXX]
パラメタなしのオプションにパラメタが指定されました。
RepositoryID is NULL
-rオプションのパラメタが指定されていません。
type is NULL
-tオプションのパラメタが指定されていません。
filename is NULL
-fオプションのパラメタが指定されていません。
Error:FJ_ImplementationRep_create_impl_def
サーバアプリケーションの情報をインプリメンテーションリポジトリに登録できませんでした。
IORのバージョンとコード系情報(locale)、またはSSL情報(ssl)の組み合わせに問題がある可能性があります。CORBAアプリケーション情報定義ファイルの内容を確認してください。また、すでに登録済みのRepositoryIDを指定した場合で、-ax指定の起動の場合にも当メッセージが出力されます。
OD_impl_inst:option requires an argument -- X
Xオプションのパラメタが指定されていません。パラメタを設定してください。
DB:proc_conc_max too large
proc_conc_max値が最大値256を超えています。
uid is NULL
-uオプションのパラメタが指定されていません。
gid is NULL ()
-gオプションのパラメタが指定されていません。
目次 索引 |