Interstage Application Server リファレンスマニュアル(コマンド編)
目次 索引 前ページ次ページ

第2部 OLTPシステム運用編> 第8章 CORBAサービス運用コマンド

8.1 OD_impl_inst

名前

 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コマンドは、インプリメンテーションリポジトリに対して、サーバアプリケーションの情報(パス名、タイプ)の登録、削除、情報表示を行います。

 本コマンドで指定可能なオプションとパラメタを以下に示します。

-a

 インプリメンテーションリポジトリにサーバアプリケーションを登録します。
 本オプションでは、以下を設定できます。

 -axオプションでCORBAアプリケーション情報定義ファイルを使用すると、より詳細な設定が可能です。-aオプションでは、CORBAアプリケーション情報定義ファイルでのみ設定できる項目についてはデフォルト値が使用されます。

-ax defname

 CORBAアプリケーション情報定義ファイルdefnameで指定した定義情報で、インプリメンテーションリポジトリにサーバアプリケーションを登録します。CORBAアプリケーション情報定義ファイルの形式については“CORBAアプリケーション情報定義ファイルでの登録”を参照してください。

-d

 インプリメンテーションリポジトリから、サーバアプリケーションを削除します。

-p

 指定されたインプリメンテーションリポジトリのサーバアプリケーションの情報を表示します。

-r ImplID

 サーバアプリケーションのインプリメンテーションリポジトリIDを指定します。ImplIDには、システムで一意な、最大255文字までのASCIIコード(印字可能文字)からなる文字列を指定します。詳細は、備考を参照してください。

-t Type

 サーバアプリケーションの起動タイプを指定します。Typeには以下が指定できます。

 S
サーバアプリケーションは、複数のオブジェクトを共用します。(sharedサーバ)
 U
常にサーバアプリケーション内の1つのオブジェクトが活性化状態で存在します。(unsharedサーバ)
 P
CORBAサービスとは関係のない方法で起動されます。(persistentサーバ)
例えば、ユーザがコマンドラインから起動する場合等が該当します。また、CORBAワークユニットの場合はpersistentサーバである必要があります。

-f filename

 サーバアプリケーションのパス名を指定します。"-t S","-t U"のときに指定してください。

-u uid

 サーバアプリケーション実行時のユーザIDを指定します。省略時は0(root)です。

-g gid

 サーバアプリケーション実行時のグループIDを指定します。省略時は3(sys)です。

-M system

 拡張システムを生成した場合に、運用の対象となるシステム名systemを指定します。本オプションを省略すると、デフォルトシステムでの運用が対象となります。
 本オプションは、以下の製品で指定可能です。
 − Interstage Application Server Enterprise Edition

CORBAアプリケーション情報定義ファイルでの登録

 以下に、-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

rep_id

 サーバアプリケーションのインプリメンテーションリポジトリIDを指定します。システムで一意な、最大255文字までのASCIIコード(印字可能文字)からなる文字列を指定します。詳細は、備考を参照してください。

type

 サーバアプリケーションの起動タイプを指定します。
 指定可能な起動タイプは、以下のとおりです。

 開発言語がJAVA言語の場合は"persistent"を指定してください。
ワークユニット運用を行うアプリケーションの場合は"persistent"を指定してください。

binary

 サーバアプリケーションのパス名を指定します。type=persistent以外のとき必須です。

param

 サーバアプリケーションの起動パラメタを指定します。type=persistentのときは無効です。省略時は、パラメタなしでサーバアプリケーションを起動します。

env

 サーバアプリケーション実行時の環境変数を指定します。type=persistentのときは無効です。セパレータには";"を使用します。

 省略時は、システム管理者(root)の環境が使用されます。

uid

 サーバアプリケーション実行時のユーザIDを指定します。省略時は、0(root)です。

gid

 サーバアプリケーション実行時のグループIDを指定します。省略時は、3(sys)です。

intfID

 オブジェクト(インタフェースリポジトリID)に対して、以下の項目を設定します。サーバアプリケーションがライブラリ形式のとき必須です。

 インタフェースリポジトリIDごとに必要なだけ指定する必要があります。
 指定方法は以下のとおりです。

  intfID = [priority;]solib[,[prefix][,inherit[,..]]]
  intfID = priority;

proc_conc_max

 プロセス最大多重度を指定します。省略時は1です。指定可能な最大値は512です。512を超えた場合、512に設定されます。
 プロセスモードの場合は、2以上の値を指定してください。ただし、thr_conc_initに2以上の値を設定した場合は、thr_conc_initが優先されるため、スレッドモードになります。

注) Interstage管理コンソールからワークユニットを配備した場合および、ワークユニット定義を変更した場合は512が設定されます。

thr_conc_init

 スレッド初期多重度を指定します。省略時は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_maximum

 スレッド最大多重度を指定します。サーバスレッドは、ここで指定された数まで自動拡張します。自動拡張を使用しないときは、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コマンドで確認することができます。


 スレッドと資源を関連付けてリソース制御を行うサーバアプリケーションの場合、スレッド自動拡張機能を使用すると、以下のような事象が発生する可能性があります。

  1. サーバアプリケーションにかかる負荷が高くなり、スレッドの拡張が行われます。このとき、増加したスレッドに資源が関連付けられます。
  2. サーバアプリケーションにかかる負荷が低くなり、スレッドの縮退が行われます。このとき、資源と関連付けられたスレッドが消滅し、資源が残存します。

 上記に該当するアプリケーションではスレッド自動拡張機能を使用しないか、thr_decreaseに“OFF”を指定してスレッドの縮退を行わないように設定してください。

thr_decrease

 thr_conc_maximumthr_conc_initと異なる値を指定してスレッドの自動拡張機能を使用する場合に、スレッドの縮退を行うか否かを“ON”または“OFF”で指定します。“ON”が指定された場合は、サーバアプリケーションの負荷が低くなった際にスレッドの縮退を行います。“OFF”が指定された場合は、サーバアプリケーションの負荷が低くなってもスレッドの縮退を行いません。
 デフォルト値は“ON”です。
 スレッドと資源を関連付けてリソース制御を行うサーバアプリケーションなどにおいて、スレッドの縮退を行うと問題が発生する場合には、“OFF”を指定してください。
 スレッドの自動拡張機能の詳細については、thr_conc_maximumを参照してください。


 COBOL/OOCOBOLアプリケーションでは、ランタイム内部でスレッドと資源を関連付けてリソース制御を行うため、スレッドの縮退を行うと必ず問題が発生します。このため、COBOL/OOCOBOLアプリケーションではthr_decreaseの値にかかわらずスレッドの縮退を行いません。

mode

 サーバアプリケーションの活性化後(以下のメソッド発行後)の動作モードを指定します。

 [活性化メソッド]
  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"を指定することを推奨します。

iswitch

 サーバアプリケーションがクライアントアプリケーションごとにインスタンスデータを保持するか否かを、"ON"または"OFF"で指定します。アプリケーション形態としてFactory方式およびユーザインスタンス管理方式をとる場合はONを指定してください。
 開発言語がCPP、JAVA、OOCOBOLのときは有効です。

ior

 連携するバージョンを指定します。指定可能なバージョンは以下のとおりです(詳細は“OD_or_adm”を参照してください)。

locale

 サーバアプリケーションのコード系を指定するオブジェクトリファレンスのコード系を指定します。
 指定可能なコードは、以下のとおりです。

指定値

コード系

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

 サーバアプリケーションのオブジェクトリファレンス作成時、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オプションのパラメタが指定されていません。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006