tslnkrm(リソースマネージャの登録・削除(C++))
形式
tslnkrm -d 削除するリソースマネージャ名[,削除するリソースマネージャ名]...[-l][-m][-f]
tslnkrm -n [-l][-m][-f]
tslnkrm -a 追加するリソースマネージャ名[,追加するリソースマネージャ名]...
-s リソースマネージャスイッチ名[,リソースマネージャスイッチ名]...
-o 'リソースマネージャ関連オブジェクト名[ リソースマネージャ関連オブジェクト名]...' [, 'リソースマネージャ関連オブジェクト名[ リソースマネージャ関連オブジェクト名]...']
[-e] [-r] [-i] [-l] [-m] [-f]
機能
OTSで使用するリソースマネージャを追加または削除します。また,回復デーモン(rcvd),決着デーモン(complete),標準XA-switch listファイル(tp_allrm.o)を再作成します(Windows版の場合,標準XA-switch listファイルはtp_allrm.objという名前になります)。
tslnkrmコマンドはOTSが動作している間は実行できません。また,再開始待ちの場合は,tslnkrmコマンドに-fオプションを指定してください。ただし,-fオプションを指定した場合には,トランザクションサービスを再開始することはできません。次回の開始モードは正常開始モードになります。
tslnkrmコマンドはC++コンパイラを使用します。tslnkrmコマンドがコンパイラを実行できるように,環境変数PATHにコンパイラがあるディレクトリをあらかじめ追加しておいてください(Windows版の場合,環境変数INCLUDEにヘッダファイルがあるディレクトリを,環境変数LIBにライブラリがあるディレクトリをあらかじめ追加しておいてください)。
このコマンドは,Cosminexus TPBrokerではサポートしていません。
オプション
-d 削除するリソースマネージャ名
〜<1〜32文字の英数字>
削除するリソースマネージャの名称を指定します。
このオプションで指定したリソースマネージャに対しては,リソースマネージャスイッチ名,リソースマネージャ関連オブジェクト名を指定する必要はありません。複数のリソースマネージャ名を指定する場合は,リソースマネージャ名とリソースマネージャ名との間を「,」(コンマ)で区切ってください。
-l
tslnkrmコマンドの実行経過の詳細が標準出力に出力されます。
-m
このオプションを指定してもしなくても,OTSデーモンはマルチスレッドで動作します。これによってトランザクションの決着処理や回復処理が同時実行できるようになるため,トランザクション処理全体の性能を向上できます。このオプションは互換性のために残してあります。
OTSで使用するすべてのリソースマネージャのXAインタフェースがマルチスレッドに対応している必要があります。TPBrokerは,マルチスレッドに対応していないXAインタフェースを持ったリソースマネージャを使用できません。
-f
OTSの状態に関係なく,強制的に実行されます。
ただし,デーモンを再作成するため,OTSが動作している間は実行されません。このオプションは,トランザクションサービスを正常終了以外(強制終了,異常終了)で終了したあと,使用するリソースマネージャを変更してトランザクションサービスを正常開始する場合にだけ指定してください。このオプションを指定した場合は,次回の開始モードは正常開始になります。
-n
登録しているリソースマネージャは変更されないで,デーモンの再作成だけが実行されます。
-a 追加するリソースマネージャ名
〜<1〜32文字の英数字>
追加するリソースマネージャの名称を指定します。
このオプションで指定したリソースマネージャに対しては,リソースマネージャスイッチ名,リソースマネージャ関連オブジェクト名を指定する必要があります。複数のリソースマネージャ名を指定する場合は,リソースマネージャ名とリソースマネージャ名との間を「,」(コンマ)で区切ってください。
-s リソースマネージャスイッチ名
〜<先頭が英字または_(アンダースコア)で始まる1〜32文字の英数字>
追加するリソースマネージャのスイッチ名を指定します。
スイッチ名は,追加するリソースマネージャのマニュアルを参照してください。複数のリソースマネージャスイッチ名を指定する場合は,リソースマネージャスイッチ名とリソースマネージャスイッチ名との間を「,」(コンマ)で区切ってください。
リソースマネージャスイッチ名とリソースマネージャ名は指定した順に対応します。
-o リソースマネージャ関連オブジェクト名
〜<英数字>
追加するリソースマネージャに関連のあるオブジェクトファイル(XAインタフェース用のオブジェクトファイル)の名称を指定します。
リソースマネージャ関連オブジェクト名は,追加するリソースマネージャのマニュアルを参照してください。
一つのリソースマネージャに対して複数のリソースマネージャ関連オブジェクトを指定できます。複数のリソースマネージャ関連オブジェクト名を指定する場合は,リソースマネージャ関連オブジェクト名とリソースマネージャ関連オブジェクト名との間をスペースで区切ってください。複数のリソースマネージャに対するリソースマネージャ関連オブジェクト名を指定する場合は,一つのリソースマネージャに対するリソースマネージャ関連オブジェクト名の集まりを「'」(アポストロフィ)で囲み,それぞれの集まりの間を「,」(コンマ)で区切ってください。
リソースマネージャ関連オブジェクト名とリソースマネージャ名は指定した順に対応します。
リソースマネージャ関連オブジェクトはデーモンの再作成のときに使われるため,それらを絶対パス名で指定してください。
-e
-sオプションで指定されたリソースマネージャスイッチ名がXA-Switch構造体へのポインタのシンボルとして参照されます。
このオプションは,Windows版だけに有効です。
-r
追加するリソースマネージャが動的登録をサポートしている場合に,このオプションを指定します。これによって,リソースマネージャからax_regおよびax_unreg関数を使用できます。
-i
-oオプションで指定されたオブジェクトをトランザクション制御用共用ライブラリにリンクします。
-iオプション付きで登録されたオブジェクトは,tslnkrmコマンドで生成される標準トランザクション制御用共用ライブラリと,tsmkobjコマンドで生成されるトランザクション制御用共用ライブラリにリンクされます。
なお,このオプションはWindows版では自動的に付加されます。
例
tslnkrm -a Oracle_XA -s xaosw -o '-L/export/Oracle/oracle816/app/oracle/product/8.1.6/lib -lclntsh' tslnkrm -d Oracle_XA