Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 運用と操作


trnmkobj

〈このページの構成〉

名称

トランザクション制御用オブジェクトファイルの作成

形式

trnmkobj -o トランザクション制御用オブジェクト名
       〔-R OpenTP1提供RM名〔,OpenTP1提供RM名〕…〕
       〔-r OpenTP1提供以外のRM名〔,OpenTP1提供以外のRM名〕…〕
       〔-C 'コンパイルオプション名〔△コンパイルオプション名〕…'〕
       〔-l〕〔-P〕

機能

UAPがアクセスするリソースマネジャに従って,$DCDIR/spool/trnrmcmd/userobj下に「トランザクション制御用オブジェクト名.o」という名称でトランザクション制御用オブジェクトファイルを作成します。作成したトランザクション制御用オブジェクトファイルと,リソースマネジャが提供するオブジェクトファイル(XAインタフェース用オブジェクトファイル)をUAPにリンケージしてください。リンケージすると,OpenTP1下でリソースマネジャにアクセスするトランザクションを実行できます。

なお,トランザクション制御用オブジェクトファイルをUAPにリンケージするためのccコマンドを実行するときは,「トランザクション制御用オブジェクト名.o」を-Lオプションの前に指定してください。

OpenTP1下でリソースマネジャにアクセスしないトランザクションを実行するUAPの場合,またはOpenTP1下でトランザクションを実行しないUAPの場合は,trnmkobjコマンドを実行する必要はありません。

ただし,グローバルトランザクションを構成するすべてのUAPに,同じリソースマネジャをリンケージすると,コミット処理を最適化(プロセス間通信を抑止)できて,トランザクション性能が向上します。

また,OpenTP1に登録されているすべてのリソースマネジャから成る標準トランザクション制御用オブジェクトファイル($DCDIR/spool/trnrmcmd/userobj/dc_trn_allrm.o)を使用する場合は,trnmkobjコマンドを実行する必要はありません。

-R,および-rオプションの指定を両方とも省略した場合,OpenTP1に登録されているリソースマネジャと同一のリソースマネジャを使用して,トランザクション制御用オブジェクトファイルを作成します。

trnlnkrmコマンドでリソースマネジャを静的から動的またはその逆に変更した場合やリソースマネジャのバージョンアップによってスイッチ構造体名称を変更した場合,次のどれかのファイルをリンケージしているUAPは,再びリンケージする必要があります。

また,標準トランザクション制御用オブジェクトファイル以外をリンケージしているときは,trnmkobjコマンドでトランザクション制御用オブジェクトファイルを再作成してから再びリンケージする必要があります。

トランザクション制御用オブジェクトは,同一のリソースマネジャを使用するUAP間で共用できます。そのため,UAPごとにtrnmkobjコマンドを実行する必要はありません。

OpenTP1に登録されていないリソースマネジャは指定できません。

trnmkobjコマンドは,Cコンパイラを次に示す順序で検索します。

  1. /bin/ccおよび/lib/ccom

    /bin/ccと/lib/ccomの両方が必要です。

  2. /usr/bin/cc

  3. /usr/vac/bin/cc

上記の検索順序でCコンパイラが見つからない場合には,trnmkobjコマンドを実行するプロセスの環境変数PATHの指定値に従います。trnmkobjコマンドを実行するプロセスの環境変数PATHの指定値を優先させたい場合は,-Pオプションを指定してください。

オプション

●-o トランザクション制御用オブジェクト名  〜〈1〜12文字の英数字〉

トランザクション制御用オブジェクトの名称を指定します。

●-R OpenTP1提供RM名  〜〈1〜31文字の英数字〉

UAPからアクセスするOpenTP1提供のリソースマネジャの名称を指定します。

OpenTP1に登録されていないリソースマネジャは指定できません。

OpenTP1提供のリソースマネジャ名を次に示します。

 OpenTP1_DAM :TP1/FS/Direct Accessのリソースマネジャ名

 OpenTP1_TAM :TP1/FS/Table Accessのリソースマネジャ名

 OpenTP1_MCF :TP1/Message Controlのリソースマネジャ名

 OpenTP1_MQA:TP1/Message Queueのリソースマネジャ名

 OpenTP1_ISM :ISAM/Bのリソースマネジャ名

複数のRM名を指定する場合は,RM名とRM名との間をコンマ(,)で区切ります。

●-r OpenTP1提供以外のRM名  〜〈1〜31文字の英数字〉

UAPからアクセスするOpenTP1提供以外のリソースマネジャの名称を指定します。

OpenTP1に登録されていないリソースマネジャは指定できません。

複数のRM名を指定する場合は,RM名とRM名との間をコンマ(,)で区切ります。

●-C コンパイルオプション名  〜〈1〜512文字の文字列〉

コンパイル実行時に使用するコンパイルオプションを指定します。

指定するコンパイルオプション名はアポストロフィ(’)で囲み,コンパイルオプション名にコンマ(,)を指定する必要がある場合は,コンマ(,)の前に'\'を挿入してください。複数のコンパイルオプション名を指定する場合は,コンパイルオプション名とコンパイルオプション名との間を空白で区切ります。

通常,このオプションを指定する必要はありません。

●-l

trnmkobjコマンドの実行経過を標準出力に出力します。

●-P

trnmkobjコマンドを実行するプロセスの環境変数PATHの指定値に従って,使用するCコンパイラを決定します。環境変数PATHの指定値の順番に「cc」を探して,最初に見つけた「cc」を使用します。

すべてのオプションの指定を省略すると,trnmkobjコマンドの指定方法が標準出力に出力されます。