Oracle Tuxedoコマンドの紹介

説明

『Oracle Tuxedoコマンド・リファレンス』では、Oracle Tuxedoソフトウェアで提供されるシェル・レベルのコマンドについてアルファベット順に説明します。

リファレンス・ページのコマンド構文

特に指定がないかぎり、リファレンス・ページの「形式」の項で説明されているコマンドは、次の構文に従ってオプションや引数を受け付け、次に説明するように解釈されます。

name [ -option . . . ] [cmdarg . . . ]
nameは実行可能ファイルの名前、optionは2つのタイプ(noargletter . . .またはargletter optarg [, . . .])のいずれかの文字列です
optionの前には常に「-」が付きます。
noargletter
オプション引数を必要としないoptionを表す単一の文字。「-」の後には複数のnoargletterを付けることができます
optarg
先行するargletterを満たす文字列。1つのargletterの次に来る複数のoptargsは、カンマで区切るか、あるいは空白で区切って引用符で囲む必要があります。
cmdarg
コマンドのオペランドを表すパス名(またはその他のコマンド引数)。
-
(ダッシュ)単独で使用された場合、追加引数を標準入力から指定することを意味します。
--
(2つのダッシュ)この後に続く項目を従属プログラムの引数とみなします。
[ ]
optionまたはcmdargを囲み、そのオプションまたは引数が必須でないことを示します。
{ }
or記号( | )で区切った複数のcmdargsを囲み、対応するoptionの使用時にそれらの中からいずれかを選択する必要があることを示します。
. . .
optionまたはcmdargを複数指定できることを意味します。

bldc_dce(1)

名前

bldc_dce - OSF/DCEを介して呼び出すことができるOracle Tuxedo ATMIクライアントを作成します。

形式

blds_dce [-o output_file] [-i idl_options] [-f firstfiles]
[-l lastfiles] [idl_file . . .]

説明

bldc_dceは、すべての入力IDLソース・ファイルおよび関連するACFソース・ファイルを解析し、それらをCのソース・ファイルとオブジェクト・ファイル、およびOSF/DCEライブラリと組み合せて、Oracle Tuxedo ATMIクライアントを生成します。この生成されたOracle Tuxedo ATMIクライアントは、DCE RPC (つまりDCE RPCクライアント)を介して呼び出すことができます。

コマンド行引数には、入力IDLソース・ファイルと、IDLコンパイラの動作を制御するオプションを指定します。使用できるオプションは次のとおりです。

-o output_file
デフォルトのファイル名はa.outです。
-i idl_options
IDLコンパイラに渡すオプションを指定します。Cのコンパイル・システムに関連するオプションは、このプログラムによって自動的に提供されます。このオプションを使用すると、アプリケーションでマネージャ・エントリ・ポイント・ベクトル(Manager Entry Point Vector)を使用するための-no_mepvオプションを指定できます。
-f firstfiles
Oracle Tuxedo ATMIシステム・ライブラリとOSF/DCEライブラリより前に取り込んでコンパイルする、コンパイラ・オプション、Cソース・ファイル、およびCオブジェクト・ファイルを指定します。
-l lastfiles
Oracle Tuxedo ATMIシステム・ライブラリとOSF/DCEライブラリの後に取り込んでコンパイルするCライブラリを指定します。

blds_dce(1)

名前

blds_dce - OSF/DCEを呼び出すOracle Tuxedo ATMIサーバーを作成します。

形式

blds_dce [-o output_file] [-i idl_options] [-f firstfiles]
[-l lastfiles] [-s service] [idl_file . . .]

説明

blds_dceは、すべての入力IDLソース・ファイルおよび関連ACFソース・ファイルを解析し、それらをCソース・ファイルとCオブジェクト・ファイル、およびOSF/DCE ライブラリと組み合せて、DCE RPC呼出しを作成できるOracle Tuxedo ATMIサーバーを生成します。このコマンドの主な使用目的は、Oracle TuxedoシステムからOSF/DCEへのゲートウェイ・プロセスを作成することです。

コマンド行引数には、入力IDLソース・ファイルと、IDLコンパイラの動作を制御するオプションを指定します。使用できるオプションは次のとおりです。
-ooutput_file
デフォルトのファイル名はa.outです。
-iidl_options
IDLコンパイラに渡すオプションを指定します。Cのコンパイル・システムに関連するオプションは、このプログラムによって自動的に提供されます。このオプションを使用すると、アプリケーションでマネージャ・エントリ・ポイント・ベクトル(Manager Entry Point Vector)を使用するための-no_mepvオプションを指定できます。
-f firstfiles
Oracle Tuxedo ATMIシステム・ライブラリとOSF/DCEライブラリより前に取り込んでコンパイルする、コンパイラ・オプション、Cソース・ファイル、およびCオブジェクト・ファイルを指定します。
-l lastfiles
Oracle Tuxedo ATMIシステム・ライブラリとOSF/DCEライブラリの後に取り込んでコンパイルするCライブラリを指定します
-s services [,service ...]
サーバーで通知するサービスを指定します。

buildclient(1)

名前

buildclient - Oracle Tuxedo ATMIクライアント・モジュールを構築します。

形式

buildclient [ -C ] [ -v ] [ {-r rmname | -w } ] [ -oname]
[ -f firstfiles] [ -l lastfiles] [ -k ]

説明

buildclientは、Oracle Tuxedo ATMIクライアント・モジュールを構築するために使用されます。このコマンドは、-fおよび-lオプションで指定されるファイルと標準Oracle Tuxedo ATMIライブラリを組み合せて、ロード・モジュールを作成します。ロード・モジュールは、使用しているオペレーティング・システム用に定義されたデフォルトのC言語コンパイル・コマンドを使用し、buildclientによって構築されます。UNIXシステム用のデフォルトのC言語コンパイル・コマンドは、UNIXシステムのリファレンス・マニュアルで説明されているcc(1)コマンドです。

-v
buildclientを冗長モードで実行することを指定します。特に、コンパイル・コマンドをその標準出力に書き出します。
-w
ワークステーション・ライブラリを使用してクライアントを作成することを指定します。デフォルトの設定では、ネイティブ・モードおよびワークステーション・モード両方のライブラリがある場合には、ネイティブ・クライアントが作成されます。このオプションは、-rオプションとともには使用できません。
-r rmname
クライアントに関連するリソース・マネージャを指定します。rmnameの値は、$TUXDIR/udataobj/RMにあるリソース・マネージャの表のものであることが必要です。このファイルの各行は次のような形式になります。
rmname:rmstructure_name:library_names
(詳細は、「buildtms(1)」を参照してください。)rmnameの値を使用することにより、$TUXDIR/udataobj/RMにあるエントリによってリソース・マネージャに関連するライブラリが自動的にインクルードされ、トランザクション・マネージャとリソース・マネージャ間のインタフェースを正しく設定するのに使用されます。他の値は、リソース・マネージャの表に追加されているものを指定できます。-rオプションを指定しない場合、デフォルトでは、クライアントはリソース・マネージャに関連付けられません。「UBBCONFIG(5)」リファレンス・ページを参照してください。
-o
出力ロード・モジュールのファイル名を指定します。このオプションの指定がない場合は、a.outという名前になります。
-f
buildclientのコンパイルおよびリンク・フェーズの最初に、Oracle Tuxedo ATMIライブラリより前に取り込む1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。コンパイラ・オプションおよび引数を含める場合は、次に説明するCFLAGSおよびALTCFLAGS環境変数を使用する必要があります。
-Cオプションが指定され、環境変数COBが「AcuCobol」に設定されている場合、このオプションはCOBOLソース・ファイルのみを受け入れます。ライブラリ・ファイル、Cソース・ファイルなど、他のユーザー・ファイルは、環境変数TM_COB_CC_FILESで指定する必要があります。「環境変数」の項を参照してください。
-l
buildclientのコンパイルおよびリンク・フェーズの最後で、Oracle Tuxedo ATMIライブラリの後に取り込む1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。
-C
COBOLのコンパイルを指定します。
-k
COBOLクライアント・スタブを保持します。buildclientは、COBOLプログラムで呼び出される関数表などのデータ構造を持つスタブを生成します。通常これは、クライアントの構築時にコンパイルの後で削除されます。このオプションは、ソース・ファイルを保持する必要があることを示します(ソース・ファイルの名前を調べるには、-vオプションを使用します)。このオプションは、-Cオプションが指定され、環境変数COBAcuCobolに設定されている場合にのみ有効です。

ノート:

このファイルの生成後の内容は、リリースによって異なる場合があります。このファイルにエクスポーズされているデータ構造やインタフェースに依存しないようにしてください。これは、ビルド時の問題のデバッグを支援するためのオプションです。

環境変数

TUXDIR
buildclientは、環境変数TUXDIRを使用して、クライアント・プロセスのコンパイル時に使用するOracle Tuxedo ATMIライブラリとインクルード・ファイルを見つけます。
CC
buildclientは通常、デフォルトのC言語コンパイル・コマンドを使用してクライアント実行可能コードを生成します。デフォルトのC言語コンパイル・コマンドは、サポートされているオペレーティング・システムごとに定義されており、UNIXシステムの場合はcc(1)です。代替コンパイラを指定できるようにするため、buildclientは環境変数CCが存在するかどうかを調べます。CCbuildclientの環境に存在しない場合、またはこの環境変数が文字列""である場合、buildclientはデフォルトのC言語コンパイラを使用します。環境内にCCが存在する場合、実行されるコンパイラの名前がCCの値となります。
CFLAGS
環境変数CFLAGSは、コンパイラ・コマンド行の一部として引き渡される引数のセットを指定するときに使用します。この変数は、コマンド行オプション「-I${TUXDIR}/include」とともにbuildclientにより自動的に引き渡されます。CFLAGSbuildclientの環境に存在しない場合、またはこの環境変数が文字列""である場合、buildclientはコンパイラ・コマンド行引数を追加しません。
ALTCC
COBOLコンパイルで-Cオプションが指定されると、通常、buildclientはOracle Tuxedoシェルcobccを使用します。このシェルがcobを呼び出して、クライアントの実行可能ファイルを生成します。代替コンパイラを指定できるようにするため、buildclientは環境変数ALTCCが存在するかどうかを調べます。ALTCCbuildclientの環境に存在しない場合、またはこの環境変数が文字列""である場合、buildclientcobccを使用します。環境内にALTCCが存在する場合、実行されるコンパイラ・コマンドの名前がALTCCの値となります。

ノート:

Windowsシステムでは、ALTCCおよびALTCFLAGS環境変数は使用できません。これらの変数を設定すると、予想外の結果が生じます。まずCOBOLコンパイラを使用してアプリケーションをコンパイルし、次に生成されたオブジェクト・ファイルをbuildclient(1)コマンドに渡す必要があります。
ALTCFLAGS
環境変数ALTCFLAGSには、-Cオプションを指定した場合に、COBOLコンパイラ・コマンド行の一部として渡す追加の引数を指定します。コマンド行オプションに対する追加です。
"-I${TUXDIR}/include"
このオプションは、buildclientによって自動的に渡されます。-Cオプションを使用する場合、コンパイラ・オプションと引数をbuildclient -fオプションに指定すると、エラーが生成されます。ALTCFLAGSに指定してください。設定しないと、前述のCFLAGSで使用されるのと同じ値に設定されます。
  1. ALTCFLAGSは、MicroFocus COBOLコンパイラでのみ機能します。他のサポートされているCOBOLコンパイラ(つまり、IBMCOBOLまたはAccuCOBOL)では、CFLAGSで十分に対応できます。
  2. ALTCC環境変数の説明の下のノートを参照してください。
COBOPT
環境変数COBOPTには、-Cオプションを指定した場合に、COBOLコンパイラが使用する追加の引数を指定します。
COBCPY
環境変数COBCPYには、-Cオプションを指定した場合に、COBOLコンパイラが使用するCOBOLコピー・ファイルが存在するディレクトリを指定します。
TM_COB_STATIC
環境変数TM_COB_STATICは、共有バージョンまたは静的バージョンのlibcobatmiライブラリをbuildclientでリンクするかどうかを示します。環境変数の値にはYesまたはNoを指定します。Yesに設定すると静的バージョンのlibcobatmiライブラリが使用され、それ以外の場合は共有バージョンが使用されます。この環境変数を指定しないと、共有バージョンのlibcobatmiライブラリがデフォルトで使用されます。

ノート:

10.0より前のTuxedoリリースの場合、buildserverは静的バージョンのlibcobatmiライブラリにリンクします。
COB
環境変数COBは、使用されるCOBOLコンパイラを示します。これは、AcuCobolおよびIBMCobolという2つのパラメータをサポートします。
AcuCobol」が指定されると、ACUCOBOLコンパイラが使用されます。「IBMCOBOL」が指定されると、IBMCOBOLコンパイラが使用されます。
パラメータが指定されないと、標準のCOBOLコンパイラが使用されます。
TM_COB_VERSION
環境変数TM_COB_VERSIONはACUCOBOLコンパイラのバージョンを示します。この環境変数は、-Cオプションが指定され、環境変数COBが「AcuCobol」に設定されている場合にのみ有効です。環境変数の値の形式は、「[0-9]+\.[0-9]」です。
  • TM_COB_VERSION値が7.0未満の場合、buildclientは古い形式のACUCOBOLスタブ・コードを生成します。それ以外の場合、buildclientは新しい形式のACUCOBOLスタブ・コードを生成します。
  • TM_COB_VERSIONを設定しない場合、buildclientによって新しい形式のACUCOBOLスタブ・コードがデフォルトで生成されます。
TM_COB_CC_FILES
ACUCOBOLコンパイラが使用される場合、COBOLソース・ファイルのみが-fオプションで指定できます。buildclientのコンパイルやリンク編集の段階でcc(1)に渡すユーザー・ファイルが他にある場合は、まず、Oracle Tuxedo ATMIライブラリの前に、これらのファイルを環境変数TM_COB_CC_FILESに指定する必要があります。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。この環境変数は、-Cオプションが指定され、環境変数COBが「AcuCobol」に設定されている場合にのみ有効です。

ノート:

ACUCOBOL CVMで使用されるACUCOBOLのシステム・ライブラリおよびオブジェクト・ファイルは、ファイル・リストに含める必要があります。
ACUCOBOL
COBOLコンパイルにACUCOBOLを使用する場合、環境変数ACUCOBOLはACUCOBOLがインストールされているディレクトリを示すため、クライアントのコンパイル時にACUCOBOLのシステム・ライブラリおよびファイルが検出されます。

ノート:

ファイルdirect.cは、ACUCOBOLがC外部変数およびCOBOLプログラムの関数にアクセスするために使用されます。プログラマがdirect.cをサード・パーティのソフトウェアをサポートするように変更した場合、変更されたdirect.c$ACUCOBOL/libディレクトリ下に配置する必要があります。
IBMCOBOL
COBOLコンパイルにIBMCOBOLを使用する場合、環境変数IBMCOBOLはIBMCOBOLがインストールされているディレクトリを示すため、クライアントのコンパイル時にIBMCOBOLのシステム・ライブラリおよびファイルが検出されます。

ノート:

IBM COBOL 2.0および3.1では、Cコンパイラ・メッセージはサポートされていません。

LANG=C」と指定すると、COBOL 2.0はエラーを返し、コンパイラが終了します。COBOL 3.1では警告が返されます。

IBM COBOL 2.0を使用する場合は、「LANG=en_US」と指定します。

IBM COBOL 3.1では「LANG=en_US」は必要ありません。

LD_LIBRARY_PATH (UNIXシステム)
環境変数LD_LIBRARY_PATHには、Oracle Tuxedoシステムの共有オブジェクトに加えて、COBOLコンパイラが使用する共有オブジェクトが存在するディレクトリを指定します。一部のUNIXシステムでは異なる環境変数が必要です: HP-UXシステムではSHLIB_PATH環境変数、AIXではLIBPATHを使用します。
LIB(Windows NTシステム)
ライブラリを検索するディレクトリのリストを示します。複数のディレクトリを指定する場合はセミコロン(;)で区切ります。

移植性

buildclientコンパイル・ツールは、以下のプラットフォームで使用できます。

  • Oracle Tuxedo ATMIサーバー環境がサポートされているプラットフォーム
  • 32ビットWindowsオペレーティング・システムを実行するワークステーション・プラットフォーム

buildclientコマンド行で指定するファイル名は、お使いのオペレーティング・システムの構文とセマンティクスに従ってください。

リスト1 BUILDCLIENT COBOLの例

CC=ncc CFLAGS="-I /APPDIR/include"; export CC CFLAGS
buildclient -o empclient -f emp.c -f "userlib1.a userlib2.a"

COBCPY=$TUXDIR/cobinclude
COBOPT="-C ANS85 -C ALIGN=8 -C NOIBMCOMP -C TRUNC=ANSI -C OSEXT=cbl"
COBDIR=/usr/lib/cobol LD_LIBRARY_PATH=$COBDIR/coblib:$TUXDIR/lib
export COBOPT COBCPY COBDIR LD_LIBRARY_PATH
buildclient -C -o empclient -f name.cbl -f "userlib1.a userlib2.a"

リスト2 BUILDCLIENT ACUCOBOLの例

TUXDIR=/opt/tuxedo10.0
TM_COB_STATIC=no
COB=AcuCobol
COBCPY=$TUXDIR/cobinclude
COBOPT="-Ca -v -w -Ga -Dw64 -Dl8 -Da8"
TM_COB_VERSION=7.2
ACUCOBOL=/opt/AcuCobol-7.2.1
TM_COB_CC_FILES="-lruncbl -lclnt -lacvt -lfsi -laregex -lacuterm -lextfh -laxml -lexpat -lvision -lesql -lacme -lz -lm"
LD_LIBRARY_PATH=$ACUCOBOL/lib:$TUXDIR/lib
export TUXDIR TM_COB_STATIC COB COBCPY COBOPT TM_COB_VERSION ACUCOBOL TM_COB_CC_FILES LD_LIBRARY_PATH
buildclient -C -o CSIMPCL -f CSIMPCL.cbl

リスト3 BUILDCLIENT IBMCOBOLの例

TUXDIR=/opt/tuxedo10.0
TM_COB_STATIC=no
COB=IBMCobol
IBMCOBOL=/usr/lpp/cobol
COBCPY=$TUXDIR/cobinclude
COBOPT="-Ca -v -w -Ga -Dw64 -Dl8 -Da8" LD_LIBRARY_PATH=$IBMCOBOL/lib:$TUXDIR/lib
export TUXDIR TM_COB_STATIC COB COBCPY COBOPT IBMCOBOL LD_LIBRARY_PATH
buildclient -C -o CSIMPCL -f CSIMPCL.cbl

関連項目:

UNIXシステムのリファレンス・マニュアルのbuildserver(1)buildtms(1)compilation(5)cc(1)、ld(1)。

buildmqadapter(1)

名前

buildmqadapter - TM_MQITM_MQOおよびTMQUEUE_MQMサーバーをリンクします

形式

buildmqadapter [-v] [-r rmname][-c] [-t]

説明

buildmqadapterはTM_MQITM_MQOおよびTMQUEUE_MQMサーバーを作成し、これらのサーバーを$TUXDIR/bin/TM_MQI、$TUXDIR/bin/TM_MQOおよび$TUXDIR/bin/TMQUEUE_MQMにインストールします。

ノート:

出力ファイルを別の場所に配置する必要がある場合は、コマンドbuildTM_MQI(1)buildTM_MQO(1)およびbuildTMQUEUE_MQM(1)をそれぞれかわりに使用する必要があります。

buildmqadapterで作成されるサーバーは、Tuxedo MQ AdapterがIBM WebSphere MQとのやり取りに使用します。詳細は、Oracle MQ Adapter for Tuxedo 11gR1ユーザーズ・ガイドを参照してください。

ユーザーは、MQ Adapterサーバー・ファイルを作成または上書きするためのパーミッションを持つ必要があります。

buildmqadapterは、buildserverコマンドを呼び出してそれぞれのMQ Adapterサーバーを作成します。

あらかじめリンクされたオブジェクトではなく、buildmqadapterを使用してMQ Adapterサーバー・ファイルを作成することで、Tuxedo管理者は次を構成できます。

  • MQ AdapterサーバーをWebSphere MQサーバー・ライブラリにリンクするか、WebSphere MQクライアント・ライブラリにリンクするか。
  • MQ Adapterサーバーを動的なXAスイッチMQRMIXASwitchDynamicにリンクするか、静的なRMスイッチMQRMIXASwitchにリンクするか。
  • リンクするWebSphere MQライブラリのパッチ・レベルおよびリリース。

buildmqadapterでは、MQリソース・マネージャのTMSサーバーが作成されないため、Tuxedo管理者はある時点でbuildtmsを実行してWebSphere MQ TMSサーバーを作成する必要があります。

オプション

v
buildmqadapterを冗長モードで実行することを指定します。具体的には、buildserverコマンドをその標準出力に出力し、buildserverに-vオプションを指定します。
-r rm_name
MQ Adapterサーバーに関連付けられるリソース・マネージャ名を指定します。この値rm_nameは、$TUXDIR/udataobj/RMにあるリソース・マネージャ表に登録されていなければなりません。rm_nameの値に対応するエントリは、リソース・マネージャに対する正しいライブラリを自動的に組み込み、かつトランザクション・マネージャとリソース・マネージャとの間のインタフェースを正しく設定(xa_switch_t structure構造体を使用して)するときに使用します。このパラメータのデフォルト値はMQSeries_XA_RMIです。
-c
WebSphere MQクライアント・ライブラリを使用するMQアダプタのビルドを指定します。
-t
マルチスレッド・サーバーのビルドを指定します。このオプションはTM_MQIサーバーのみで有効です。

buildmqadapterはbuildserverコマンドを使用して出力ファイルを生成します。buildserverは、コンパイラおよびコンパイラ・フラグに関してそれぞれCCおよびCFLAGS環境変数を使用します(設定されている場合)。詳細は、「buildserver(1)」を参照してください。

buildnetclient(1)

名前

buildnetclient - Oracle Tuxedo .NETワークステーション・クライアント・モジュールを構築します。

形式

buildnetclient [-v] [-o outfile] [-csflag flagstring] [.cs source files] [.dll assembly files] [.netmodule module files]

説明

buildnetclientは、Tuxedo .NETワークステーション・クライアント・アプリケーションを構築するために使用されるユーティリティです。このコマンドは、.csソース・ファイルの引数で指定されるファイルを、.dllアセンブリ・ファイル、.netmoduleモジュール・ファイルをTuxedo .NETワークステーション・クライアントのラッパー・ライブラリと組み合せて、クライアント・アプリケーションを形成します。その後、Microsoftの.NET Framework環境で提供されるC#コンパイラである(csc.exe)を使用してクライアント・アプリケーションが作成されます。

csflagオプションを設定すると、C#コンパイラに渡すオプションを指定できます。

ノート:

複数のC#コンパイラ・オプションを指定できます。複数のオプションを指定するときには、空白で区切り、引用符で囲む必要があります。

オプション

-v
buildnetclientコマンドを冗長モードで実行することを指定します。具体的には、コンパイル・コマンドが標準出力に書き出されます。
-o outfile
このコマンドによって生成されるクライアント・アプリケーションの名前を指定します。名前を指定しないと、静的メソッドMainが含まれるクラスを持つC#のソース・ファイルの名前を取ってアプリケーション・ファイルの名前が付けられます。ファイル名の拡張子は、そのアプリケーションが実行されるオペレーティング・システムによって異なります(Windowsシステムの場合は拡張子は.exeになります)。
-csflag flagstring
ファイル拡張子.csを持つファイルのC#コンパイラ・コマンド行の一部として渡される引数を指定します。複数のC#コンパイラ・オプションを指定する場合は、空白で区切り、引用符で囲みます。
.cs source
アプリケーション・ファイルのビルドに必要な、拡張子.csを持つC#のソース・ファイルを指定します。
.dll assembly files
アプリケーション・ファイルをビルドする際に、リストされた.csソース・ファイルから参照される.NETアセンブリを指定します。アセンブリ・ファイルのファイル拡張子は.dllです。
.netmodule module files
アプリケーション・ファイルのビルドに必要な、拡張子.netmoduleを持つ.NETモジュール・ファイルを指定します。

備考

buildnetclientは、コマンドラインから渡された引数を分析し、C#コンパイラを呼び出す別の有効なコマンド行を構築して、実行可能アプリケーションをビルドします。

たとえば、[buildnetclient -o t1.exe, t1.cs]は、Windowsシステム上ではbuildnetclientによってcsc /out:t1.exe/t:exe /r:%TUXDIR%\bin\libwscdnet.dll t1.csに変換されます。

次の例では、2つのC#ソース・ファイル、t1.cs、t2.csと、モジュール・ファイルt3.netmoduleを指定して、実行可能アセンブリfirst.exeをビルドする場合を示しています。この例では、t1.csから、これらのファイルと同じディレクトリにあるライブラリ・アセンブリfunc.dllが提供するメソッドを呼び出しています。

[buildnetclient -o first.exe func.dll t1.cs t3.netmodule t2.cs]

関連項目:

『Tuxedo .NETワークステーション・クライアントの使用』の「Tuxedo .NETワークステーション・クライアント・アプリケーションの作成」

buildobjclient(1)

名前

buildobjclient - CORBAクライアント・アプリケーションを構築します。

形式

buildobjclient [-v][-oname] [-f
         firstfile
            -syntax]

         [-l lastfile
            -syntax] -P

説明

buildobjclientコマンドを使用して、CORBAクライアント・アプリケーションを構築できます。このコマンドは、-fおよび-lオプションで指定されるファイルと標準のCORBAライブラリを組み合せて、クライアント・アプリケーションを形成します。クライアント・アプリケーションは、使用しているオペレーティング・システム用に定義されたデフォルトのC++言語コンパイル・コマンドによって作成されます。

指定したすべての.cおよび.cppファイルは、使用しているオペレーティング・システム用のコンパイル・システムを1回呼び出すことによってコンパイルされます。呼び出すコンパイラを指定するには、CC環境変数にコンパイラの名前を指定します。CC環境変数を定義していない状態でbuildobjclientが呼び出された場合は、すべての.cおよび.cppファイルがコンパイル時に、使用しているオペレーティング・システム用のデフォルトのC++言語コンパイル・コマンドが呼び出されます。

ユーザーは、CFLAGSまたはCPPFLAGS環境変数を使用すると、コンパイラに渡すオプションを指定できます。CPPFLAGSの値は、CFLAGSを定義していない状態でbuildobjclientが呼び出された場合に使用されます。

オプション

-v
buildobjclientコマンドを冗長モードで実行することを指定します。具体的には、コンパイル・コマンドが標準出力に書き出されます。
-o name
このコマンドによって生成されるクライアント・アプリケーションの名前を指定します。名前が指定されていない場合、アプリケーション・ファイルの名前はclient<.type>になります。typeは拡張子で、アプリケーションのオペレーティング・システムによって異なります。たとえば、UNIXシステムではtypeは付きませんが、Windowsシステムではtype.EXEになります。
-f firstfile-syntax
buildobjclientのコンパイルとリンクの段階で、最初にインクルードすべきファイルを指定します。指定したファイルは、CORBAライブラリよりも前にインクルードされます。次の表に示すように、ファイルを指定するには3つの方法があります。

表1-2 最初のファイル名の指定

ファイル名の指定 定義
-f firstfile 1つのファイルを指定します
-f "file.cpp file2.cpp file3.cpp ... " 名前を引用符で囲んで空白で区切ると、複数のファイルを指定できます。

ノート:

  • 名前に空白が含まれているファイルは指定できません。
  • -fオプションは何度でも指定できます。
-l lastfile-syntax
buildobjclientのコンパイルとリンクの段階で、最後にインクルードすべきファイルを指定します。指定したファイルは、CORBAライブラリよりも後にインクルードされます。次の表に示すように、ファイルを指定するには3つの方法があります。

表1-3 最後のファイル名の指定

ファイル名の指定 定義
-l lastfile 1つのファイルを指定します。
-l "file.cpp file2.cpp file3.cpp ... " 複数のファイルを指定できます。各ファイル名を引用符で囲んでホワイト・スペースで区切ります。

ノート:

-lオプションは何度でも指定できます。
-P
適切なPOAライブラリ(つまり、クライアントがサーバーとしても機能できるようにするライブラリ)をイメージにリンクすることを指定します。生成されるイメージがサーバーとして機能できるようになり、オブジェクトを作成するためにCallbacksラッパー・クラスを使用できます。生成される共同クライアント/サーバーは、Oracle Tuxedo TP Frameworkで提供されるオブジェクト状態管理とトランザクション管理は利用できません。クライアントを生成するときに、-PスイッチをIDLコンパイラに渡しておく必要があります。TP Frameworkで提供されるすべてのサポートを備えたサーバーを構築するにはbuildobjserverを使用します。デフォルトでは、サーバー・ライブラリにリンクしません。つまり、デフォルトでは、共同クライアント/サーバーではなくクライアントのみが作成されます。
-hまたは-?
buildobjclientコマンドの使用方法に関するヘルプを提供します。それ以外に行われるアクションはありません。

環境変数

TUXDIR
クライアント・アプリケーションのコンパイル時に使用するCORBAライブラリおよびインクルード・ファイルを検索します。
CC
拡張子が.cまたは.cppのすべてのファイルに使用するコンパイラを指定します。定義しない場合は、すべての.cおよび.cppファイルのコンパイル時に、使用しているオペレーティング・システム用のデフォルトのC++言語コンパイル・コマンドが呼び出されます。
CFLAGS
拡張子が.cまたは.cppのファイルのコンパイラ・コマンド行の一部として渡す引数を示します。buildobjclientコマンド環境内にCFLAGSが存在しない場合は、CPPFLAGS環境変数がチェックされます。
CPPFLAGS

ノート:

CFLAGS環境変数によって渡される引数は、CPPFLAGS変数よりも優先されます。
拡張子が.cまたは.cppのファイルのコンパイラ・コマンド行の一部として渡す引数のセットを保持します。
これは、buildobjclientコマンドによって自動的に渡される、コマンド行オプション"-I$(TUXDIR)/include" (UNIXシステムの場合)またはコマンド行オプション/I%TUXDIR%\include (Windowsシステムの場合)に追加されます。CPPFLAGSbuildobjclientコマンド環境に存在しない場合、コンパイラ・コマンドは追加されません。
LD_LIBRARY_PATH (UNIXシステム)
CORBAソフトウェアが共有するオブジェクトに加え、コンパイラで使用する共有オブジェクトを保持するディレクトリを示します。複数のディレクトリを指定する場合はコロン(:)で区切ります。一部のUNIXシステムでは異なる環境変数が必要になります: HP-UXシステムではSHLIB_PATH環境変数、AIXシステムではLIBPATH環境変数を使用します。
LIB
ライブラリを検索するディレクトリのリストを示します。複数のディレクトリを指定する場合はセミコロン(;)で区切ります。

移植性

buildobjclientコマンドは、クライアントのみのCORBAシステムではサポートされません。

次の例では、Windowsシステム上でCORBAクライアント・アプリケーションを作成します。

set CPPFLAGS=-I%APPDIR%\include
buildobjclient -o empclient.exe -f emp_c.cpp -l userlib1.lib

次の例では、cシェルを使用するUNIXシステム上でCORBAクライアント・アプリケーションを作成します。

setenv CPPFLAGS=$APPDIR/include
buildobjclient -o empclient -f emp_c.cpp -l userlib1.a

buildobjserver(1)

名前

buildobjserver - CORBAサーバー・アプリケーションを構築します。

形式

buildobjserver [-v] [-o name][-ffirstfile-syntax]
[-llastfile-syntax] [-rrmname][-t]

説明

buildobjserverコマンドを使用して、CORBAサーバー・アプリケーションを構築できます。このコマンドは、メイン・ルーチンで-fおよび-lオプションによって指定されるファイルと標準のCORBAライブラリを組み合せて、サーバー・アプリケーションを形成します。サーバー・アプリケーションは、プラットフォームのデフォルトのC++コンパイラによって作成されます。

指定したすべての.cおよび.cppファイルは、使用しているオペレーティング・システム用のコンパイル・システムを1回呼び出すことによってコンパイルされます。呼び出すコンパイラを指定するには、CC環境変数にコンパイラの名前を指定します。CC環境変数を定義していない状態でbuildobjserverが呼び出された場合は、すべての.cおよび.cppファイルがコンパイル時に、使用しているオペレーティング・システム用のデフォルトのC++言語コンパイル・コマンドが呼び出されます。

ユーザーは、環境変数CFLAGSまたはCPPFLAGSを設定することにより、コンパイラに渡すオプションを指定できます。buildobjserverの呼出し時に、CFLAGSは定義されていないが、CPPFLAGSが定義されている場合、このコマンドはCPPFLAGSの値を使用します。

オプション

-v
buildobjserverコマンドを冗長モードで実行することを指定します。コンパイル・コマンドを標準出力に書き出します。
-o name
このコマンドによって生成されるサーバー・アプリケーションの名前を指定します。名前を指定しない場合、アプリケーション・ファイルの名前はserver.typeになります。typeは拡張子で、アプリケーションに使用されるオペレーティング・システムを示します。たとえば、UNIXシステムでserverと呼ばれるアプリケーションは、Windows NTシステムではserver.EXEと呼ばれます。
-f firstfile-syntax
buildobjserverコマンドのコンパイルおよびリンク・フェーズで最初に(つまり、CORBAライブラリの前に)取り込むファイルを指定します。ファイルを指定する3つの方法の詳細は、表1-2を参照してください。
-l lastfile-syntax
buildobjserverコマンドのコンパイルおよびリンク・フェーズで最後に(つまり、CORBAライブラリの後に)取り込むファイルを指定します。ファイルを指定する3つの方法の詳細は、表1-3を参照してください。
-r rmname
このサーバーのリソース・マネージャを指定します。値rmnameは、リソース・マネージャ表に指定されている必要があります。この表は、UNIXシステムでは$TUXDIR/udataobj/RMに、Windows NTシステムでは%TUXDIR%\udataobj\RMに格納されています。
このファイルの各エントリは、rmname:rmstructure_name:library_namesのような形式です
rmname値を使用すると、$TUXDIR/udataobj/RMまたは%TUXDIR%\udataobj\RMのエントリに、リソース・マネージャに関連付けられたライブラリが自動的にインクルードされ、トランザクション・マネージャとリソース・マネージャの間のインタフェースが設定されます。値TUXEDO/SQLを指定すると、Oracle Tuxedoシステム/SQLリソース・マネージャのライブラリがインクルードされます。他の値は、リソース・マネージャの表に追加されているものを指定できます。-rオプションが指定されていない場合は、デフォルトでnullリソース・マネージャが使用されます。
-hまたは-?
ヘルプ(buildobjserverコマンドの実行時に役立つ情報)を起動します。それ以外に行われるアクションはありません。
-t
作成中のCORBAサーバー・アプリケーションでマルチスレッド処理を有効にします。このオプションを指定する場合は、UBBCONFIGファイルのMAXDISPATCHTHREADSパラメータを1より大きい値に設定する必要もあります。指定しない場合、CORBAサーバーはシングル・スレッドのアプリケーションとして動作します。

環境変数

TUXDIR
サーバー・アプリケーションのコンパイル時に使用するCORBAライブラリおよびインクルード・ファイルを検索します。
CC
-lまたは-fオプションを使用して渡される、拡張子が.cまたは.cppのすべてのファイルのコンパイルに使用するコンパイラを指定します。
CFLAGS
.cまたは.cppファイル拡張子を持つファイルのコンパイラ・コマンド行の一部として渡される引数を指定します。CFLAGSbuildobjserverコマンド環境で使用できない場合、buildobjserverコマンドはCPPFLAGS環境変数があるかどうかを調べます。
CPPFLAGS

ノート:

CFLAGS環境変数によって渡される引数は、CPPFLAGS環境変数より優先されます。
.cまたは.cppファイル拡張子を持つファイルのコンパイラ・コマンド行の一部として渡される引数を指定します。このオプションは、UNIXシステムのコマンド行オプション-I$TUXDIR/include、またはWindows NTシステムのコマンド行オプション/I%TUXDIR%\includeへの追加として、buildobjserverコマンドによって自動的に渡されます。buildobjserverコマンド環境内でCPPFLAGSが利用できない場合、コンパイラ・コマンドは追加されません。
LD_LIBRARY_PATH (UNIXシステム)
コンパイラが使用する共有オブジェクト、およびCORBAの共有オブジェクトが入っているディレクトリをリストで指定します。ディレクトリ名はコロン(:)で区切ります。一部のUNIXシステムでは異なる環境変数が必要になります: HP-UXシステムではSHLIB_PATH環境変数、AIXシステムではLIBPATH環境変数を使用します。
LIB (Windows NTシステム)
ライブラリにあるディレクトリを一覧表示します。ディレクトリ名はセミコロン(;)で区切ります。

移植性

buildobjserverコマンドは、クライアントのみのCORBAシステムではサポートされません。

次の例では、emp_s.cppおよびemp_i.cppファイルを使用して、UNIXシステム上でCORBAサーバー・アプリケーションを作成します。

buildobjserver -r TUXEDO/SQL -o unobserved 
-f “emp_s.cpp emp_i.cpp”

次の例は、buildobjserverコマンドで環境変数CCおよびCFLAGSを使用する方法を示しています。また、-fおよび-lmオプションを使用して、BourneまたはKornシェルで数学ライブラリをリンクする方法も示しています(UNIXシステム)。

CFLAGS=-g CC=/bin/cc \ 
buildobjserver -r TUXEDO/SQL -o TLR -f TLR.o -f util.o -l -lm

次の例は、リソース・マネージャを指定せずにUNIXシステム上でbuildobjserverコマンドを使用する方法を示しています。

buildobjserver -o PRINTER -f PRINTER.o

サンプルRMファイル

以下では、サポートされている各オペレーティング・システム・プラットフォーム用のRMファイルの例を示します。

Windows NT
Oracle_XA;xaosw;C:\Orant\rdbms73\xa\xa73.lib
C:\Orant\pro22\lib\msvc\sqllib18.lib
UNIX
Oracle_XA:xaosw:-L$ORACLE_HOME/rdbms/lib
-L$ORACLE_HOME/precomp/lib -lc
-L/home4/m01/app/oracle/product/7.3.2/lib -lsql -lclntsh
-lsqlnet -lncr -lcommon -lgeneric -lepc -lnlsrtl3 -lc3v6
-lcore3 -lsocket -lnsl -lm -ldl -lthread
Digital UNIX
Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lxa
${ORACLE_HOME}/lib/libsql.a -lsqlnet -lncr -lsqlnet
${ORACLE_HOME}/lib/libclient.a -lcommon -lgeneric -lsqlnet
-lncr -lsqlnet ${ORACLE_HOME}/lib/libclient.a -lcommon
-lgeneric -lepc -lepcpt -lnlsrtl3 -lc3v6 -lcore3
-lnlsrtl3 -lcore3 -lnlsrtl3 -lm
AIX
Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lxa -lsql
-lsqlnet
-lncr -lclient -lcommon -lgeneric -lepc -lnlsrtl3 -lc3v6
-lcore3 -lm -lld
Oracle 8.04のHP-UX
Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lclntsh

buildserver(1)

名前

buildserver - Oracle Tuxedo ATMIサーバーのロード・モジュールを構築します。

形式

buildserver [-C] [-M] [-s services[:func[()]]][-v] [-o outfile] [-f firstfiles] [-l lastfiles] [{-r|-g} rmname] [-E envlabel][-t] 
[-z]

説明

buildserverは、Oracle Tuxedo ATMIサーバーのロード・モジュールを構築するために使用されます。このコマンドは、-fおよび-lオプションで指定されるファイルと、標準サーバー・メイン・ルーチンおよび標準Oracle Tuxedo ATMIライブラリを組み合せて、ロード・モジュールを作成します。ロード・モジュールは、buildserverが呼び出すcc(1)コマンドによって構築されます。(UNIXシステム・リファレンス・マニュアルのcc(1)に関する項を参照してください。)buildserverコマンドには、以下のオプションがあります。

-v
buildserverを冗長モードで実行することを指定します。特に、コンパイル・コマンドをその標準出力に書き出します。
-o outfile
出力されるロード・モジュールを収めるファイルの名前を指定します。このファイル名を指定しない場合、ロード・モジュールの名前はSERVERになります。
-f firstfiles
buildserverのコンパイルおよびリンク・フェーズの最初に、Oracle Tuxedo ATMIライブラリより前に取り込む1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。コンパイラ・オプションおよび引数を含める場合は、次に説明するCFLAGSおよびALTCFLAGS環境変数を使用する必要があります。
-Cオプションが指定され、環境変数COBが「AcuCobol」に設定されている場合、このオプションはCOBOLソース・ファイルのみを受け入れます。ライブラリ・ファイル、Cソース・ファイルなど、他のユーザー・ファイルは、環境変数TM_COB_CC_FILESで指定する必要があります。「環境変数」の項を参照してください。
-l lastfiles
buildserverのコンパイルおよびリンク・フェーズの最後で、Oracle Tuxedo ATMIライブラリの後に取り込む1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。
-M
このサーバーに関連付ける複数のリソース・マネージャを指定します。サーバーを複数のXA準拠リソース・マネージャに関連付ける場合、このオプションは必須です。このオプションを指定せずにサーバーを起動しようとすると、使用する構成ファイルで、複数リソース・マネージャ以外のサーバー・グループにこのサーバーが指定されているため、警告メッセージがユーザー・ログに出力されます。buildserverコマンドを実行するときに「-r」オプションを指定していると、サーバーは、1つのリソース・マネージャと関連付けられた一般サーバーに戻ります。
-r rmname
このサーバーのリソース・マネージャを指定します。rmnameの値は、$TUXDIR/udataobj/RMにあるリソース・マネージャの表のものであることが必要です。このファイルの各行は次のような形式になります。
rmname:rmstructure_name:library_names
(詳細は、「buildtms(1)」を参照してください。)rmnameの値を使用することにより、$TUXDIR/udataobj/RMにあるエントリによってリソース・マネージャに関連するライブラリが自動的にインクルードされ、トランザクション・マネージャとリソース・マネージャ間のインタフェースを正しく設定するのに使用されます。他の値は、リソース・マネージャの表に追加されているものを指定できます。-rオプションが指定されない場合は、デフォルトでnullリソース・マネージャが使用されます。「UBBCONFIG(5)」リファレンス・ページを参照してください。
-Mが指定された場合は、buildserverによって最大32種類のリソース・マネージャが許可されます。32を超えるリソース・マネージャが-rオプションで指定されると、前のリソース・マネージャが置き換えられ、警告メッセージが出力されます。
重複するリソース・マネージャ名が指定されると、無視され、警告メッセージが出力されます。
buildserverは、RMファイルで構成されているlibrary_namesを比較することで重複するライブラリを無視し、警告メッセージを出力します。
-s { @filename | service[,service...][:func] | :func } ]
サーバーの起動時に通知するサービスの名前を指定します。サービス名および暗黙の関数名は127文字以下でなければなりません。明示的関数名(コロンの後に指定する名前)は、128文字まで使用できます。この文字数より長い名前が指定された場合は、警告メッセージが表示されて短縮されます。「Oracle Tuxedoコマンドの紹介」のtmadmin(1)またはTM_MIB(5)によって取得された場合、名前の最初の127文字のみが表示されます。(servopts(5)に関する項を参照。)サービスに関連付けるすべての関数は、このオプションに指定する必要があります。ほとんどの場合、サービスは同じ名前を持つ関数によって実行されます。つまり、xサービスは関数xによって実行されます。たとえば、次のように指定すると、サービスxyおよびzに関連付けられたサーバーが構築され、それぞれが同名の関数によって処理されます:
-s x,y,z
その他のケースでは、異なる名前の関数でサービスが実行されることもあります。次のように指定すると、サービスxyおよびzと関連付けられたサーバーが構築され、それぞれが関数abcによって処理されます:
-s x,y,z:abc
カンマとカンマの間に空白を入れてはいけません。関数名の前にはコロンを付けます。別のケースでは、実行時までサービス名がわからない場合もあります。サービスを関連付けられる関数は、buildserverに指定する必要があります。サービス名をマップできる関数を指定するには、関数名の前にコロンを付けます。たとえば、次のように指定すると、サービスとの関連付けを設定できるサーバーが、関数pqrによって構築されます。tpadvertise(3c)を使用して、サービス名をpqr関数にマッピングできます。
-s :pqr
ファイル名は、-sオプションを使用し、先頭に文字「@」を付けて指定できます。このファイルの各行は、-sオプションの引数とみなされます。このファイルにコメントを入力できます。コメントは必ず「#」記号で始めます。このファイルを使用すると、サービスをマップできるすべての関数をサーバーに指定できます。
-sオプションは何回使用してもかまいません。文字「.」で始まるサービスは、システムが使用するために予約されています。-sオプションを使用してそのようなサービスをサーバーに組み込むと、buildserverは失敗します。
-c
COBOLのコンパイルを指定します。
buildserverは通常、ccコマンドを使用してa.outを生成します。代替コンパイラを指定できるようにするため、buildserverはシェル変数CCが存在するかどうかを調べます。CCbuildserverの環境にない場合、または変数の値が文字列""である場合は、buildserverはコンパイラとしてccを使用します。環境内にCCが存在する場合、実行されるコンパイラの名前がCCの値となります。同様に、シェル変数CFLAGSも、コンパイラへ渡す一連のパラメータを取り込むためにチェックされます。
-k
サーバーのメイン・スタブを保持します。buildserverでは、サービス表やmain()関数などのデータ構造に基づいてメイン・スタブが生成されます。このスタブは、通常どおりコンパイルされ、サーバーがビルドされたときに削除されます。このオプションは、ソース・ファイルを保持することを示します(ソース・ファイルの名前を調べるには、-vオプションを使用します)。

ノート: このファイルの生成後の内容は、リリースによって異なる場合があります。このファイルにエクスポーズされているデータ構造やインタフェースに依存しないようにしてください。これは、ビルド時の問題のデバッグを支援するためのオプションです。

-t
マルチスレッド処理を指定します。サーバーをマルチスレッド操作で使用する場合は、必ずこのオプションを指定してください。構成ファイルのMAXDISPATCHTRHREADSに1より大きな値が設定されている場合に、このオプションを指定せずにサーバーを起動しようとすると、ユーザー・ログに警告メッセージが出力され、サーバーはシングル・スレッド操作に戻ります。
このオプションは、管理者がスレッド・セーフな方法でプログラミングされていないサーバーをマルチスレッド・サーバーとして起動するのを防止するために使用されます。
-z
XAスイッチ・インタフェースの__stdcall呼出し規約を指定します。

環境変数

TUXDIR
buildserverは、環境変数TUXDIRを使用して、サーバー・プロセスのコンパイル時に使用するOracle Tuxedo ATMIライブラリおよびインクルード・ファイルを見つけます。
CC
buildserverは通常、デフォルトのC言語コンパイル・コマンドを使用してサーバー実行可能コードを生成します。デフォルトのC言語コンパイル・コマンドは、サポートされているオペレーティング・システムごとに定義されており、UNIXシステムの場合はcc(1)です。代替コンパイラを指定できるようにするため、buildserverは環境変数CCが存在するかどうかを調べます。CCbuildserverの環境に存在しない場合、またはこの環境変数が文字列""である場合、buildserverはデフォルトのC言語コンパイラを使用します。環境内にCCが存在する場合、使用されるコンパイラの名前がCCの値となります。
CFLAGS
環境変数CFLAGSは、コンパイラ・コマンド行の一部として引き渡される引数のセットを指定するときに使用します。この変数は、コマンド行オプション「-I${TUXDIR}/include」とともにbuildserverにより自動的に引き渡されます。CFLAGSbuildserverの環境に存在しない場合、またはこの環境変数が文字列""である場合、buildserverはコンパイラ・コマンド行引数を追加しません。
ALTCC
COBOLコンパイルで-Cオプションが指定されると、通常、buildserver「Oracle Tuxedoコマンドの紹介」のOracle Tuxedoシェルcobcc(1)を使用します。このシェルがcobを呼び出して、サーバー実行可能ファイルを生成します。代替コンパイラを指定できるようにするため、buildserverは環境変数ALTCCが存在するかどうかを調べます。ALTCCbuildserverの環境に存在しない場合、またはこの環境変数が文字列""である場合、buildservercobccを使用します。環境内にALTCCが存在する場合、実行されるコンパイラ・コマンドの名前がALTCCの値となります。

ノート:

Windowsシステムでは、ALTCCおよびALTCFLAGS環境変数は使用できません。これらの変数を設定すると、予想外の結果が生じます。最初にCOBOLコンパイラを使用してアプリケーションをコンパイルし、次に生成されたオブジェクト・ファイルをbuildserver(1)コマンドに渡す必要があります。
ALTCFLAGS
環境変数ALTCFLAGSには、-Cオプションを指定した場合に、COBOLコンパイラ・コマンド行の一部として渡す追加の引数を指定します。この変数は、コマンド行オプション「-I${TUXDIR}/include」とともにbuildserverにより自動的に引き渡されます。-Cオプションを使用する場合、コンパイラのオプションと引数をbuildserver -fオプションに指定すると、エラーが生成されます。ALTCFLAGSに指定してください。設定しないと、前述のCFLAGSで使用されるのと同じ値に設定されます。

ノート:

  1. ALTCFLAGSは、MicroFocus COBOLコンパイラでのみ機能します。他のサポートされているCOBOLコンパイラ(つまり、IBMCOBOLまたはAccuCOBOL)では、CFLAGSで十分に対応できます。
  2. ALTCC環境変数の説明の下のノートを参照してください。
COBOPT
環境変数COBOPTには、-Cオプションを指定した場合に、COBOLコンパイラが使用する追加の引数を指定します。
COBCPY
環境変数COBCPYには、-Cオプションを指定した場合に、COBOLコンパイラが使用するCOBOLコピー・ファイルが存在するディレクトリを指定します。
TM_COB_STATIC
環境変数TM_COB_STATICは、共有バージョンまたは静的バージョンのlibcobatmiライブラリをbuildserverでリンクするかどうかを示します。環境変数の値にはYesまたはNoを指定します。Yesに設定すると静的バージョンのlibcobatmiライブラリが使用され、それ以外の場合は共有バージョンが使用されます。この環境変数を指定しないと、共有バージョンのlibcobatmiライブラリがデフォルトで使用されます。

ノート:

10.0より前のTuxedoリリースの場合、buildserverは静的バージョンのlibcobatmiライブラリにリンクします。
COB
環境変数COBは、使用されるCOBOLコンパイラを示します。これは、AcuCobolおよびIBMCobolという2つのパラメータをサポートします。
AcuCobol」が指定されると、ACUCOBOLコンパイラが使用されます。「IBMCOBOL」が指定されると、IBMCOBOLコンパイラが使用されます。
パラメータが指定されないと、標準のCOBOLコンパイラが使用されます。
TM_COB_VERSION
環境変数TM_COB_VERSIONはACUCOBOLコンパイラのバージョンを示します。この環境変数は、-Cオプションが指定され、環境変数COBが「AcuCobol」に設定されている場合にのみ有効です。環境変数の値の形式は、「[0-9]+\.[0-9]」です。
  • TM_COB_VERSION値が7.0未満の場合、buildserverは古い形式のACUCOBOLスタブ・コードを生成し、それ以外の場合、buildserverは新しい形式のACUCOBOLスタブ・コードを生成します。
  • TM_COB_VERSIONを設定しない場合、buildserverによって新しい形式のACUCOBOLスタブ・コードがデフォルトで生成されます。
TM_COB_CC_FILES
ACUCOBOLコンパイラが使用される場合、COBOLソース・ファイルのみが-fオプションで指定できます。buildserverのコンパイルやリンク編集の段階でcc(1)に渡すユーザー・ファイルが他にある場合は、まず、Oracle Tuxedo ATMIライブラリの前に、これらのファイルを環境変数TM_COB_CC_FILESに指定する必要があります。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。この環境変数は、-Cオプションが指定され、環境変数COBが「AcuCobol」に設定されている場合にのみ有効です。
ACUCOBOL CVMで使用されるACUCOBOLのシステム・ライブラリおよびオブジェクト・ファイルは、ファイル・リストに含める必要があります。
ACUCOBOL
COBOLコンパイルにACUCOBOLを使用する場合、環境変数ACUCOBOLはACUCOBOLがインストールされているディレクトリを示すため、サーバー・プロセスのコンパイル時にACUCOBOLのシステム・ライブラリおよびファイルが検出されます。
COBOLコンパイルにACUCOBOLを使用する場合、環境変数ACUCOBOLはACUCOBOLがインストールされているディレクトリを示すため、サーバー・プロセスのコンパイル時にACUCOBOLのシステム・ライブラリおよびファイルが検出されます。
ノート: ファイルdirect.cは、ACUCOBOLがC外部変数およびCOBOLプログラムの関数にアクセスするために使用されます。プログラマがdirect.cをサード・パーティのソフトウェアをサポートするように変更した場合、変更されたdirect.c$ACUCOBOL/libディレクトリ下に配置する必要があります。
IBMCOBOL
COBOLコンパイルにIBMCOBOLを使用する場合、環境変数IBMCOBOLはIBMCOBOLがインストールされているディレクトリを示すため、サーバーのコンパイル時にIBMCOBOLのシステム・ライブラリおよびファイルが検出されます。
ノート: IBM COBOL 2.0および3.1では、Cコンパイラ・メッセージはサポートされていません。「LANG=C」と指定すると、COBOL 2.0はエラーを返し、コンパイラが終了します。COBOL 3.1では警告が返されます。IBM COBOL 2.0を使用する場合は、「LANG=en_US」と指定します。IBM COBOL 3.1では「LANG=en_US」は必要ありません。
TM_COBOLIT_VERSION
TM_COBOLIT_VERSIONは、COBOLコンパイラ・バージョンを判断するために使用されます。COBOL-ITコンパイラ3.5以上使用している場合は、この環境変数を設定します。設定しないと、ビルドは失敗します。これを設定すると、Tuxedoにより自動的にCOBOLメイン関数のコンパイルにCOBITOPT=-fno-mainが指定されます。
LD_LIBRARY_PATH (UNIXシステム)
環境変数LD_LIBRARY_PATHには、Oracle Tuxedoシステムの共有オブジェクトに加えて、COBOLコンパイラが使用する共有オブジェクトが存在するディレクトリを指定します。一部のUNIXシステムでは異なる環境変数が必要です: HP-UXシステムではSHLIB_PATH環境変数、AIXではLIBPATHを使用します。
LIB (Windows NTシステム)
ライブラリを検索するディレクトリのリストを示します。複数のディレクトリを指定する場合はセミコロン(;)で区切ります。

互換性

以前のリリースでは、sqlつまりdatabasegenoptionを指定するのに-gオプションを使用できました。上位互換性を保持するため、このオプションは-rオプションの同義語になっています。

移植性

buildserverコンパイル・ツールは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで使用できます。RM XAライブラリは、Windowsプラットフォームではサポートされていません。

注意事項

コンパイル・システムによっては、main()へのコードの追加が必要になる場合があります。たとえば、C++でコンストラクタを初期化したり、COBOL用のライブラリを初期化するような場合です。サーバーのmain()のすべての変数宣言の直後で、すべての実行文の前に、アプリケーションのコードをインクルードするための全般的な機構が用意されています。これによって、アプリケーションは変数の宣言と文の実行を1ブロックのコードで行うことができます。アプリケーションexitは、#ifdef TMMAINEXIT #include "mainexit.h" #endifのように定義できます。この機能を使用するためには、環境変数ALTCFLAGS (COBOLの場合)またはCFLAGS (Cの場合)に"-DTMMAINEXIT"を指定し、カレント・ディレクトリにmainexit.hを置く(または-Iインクルード・オプションを使用して他のディレクトリからインクルードする)必要があります。

たとえば、Micro Focus Cobol V3.2.xでPRN番号の最後の数字が11.03より大きい場合、共有ライブラリの使用時には、main()のすべてのCOBOLルーチンの前で(おそらく関数プロトタイプ宣言の後で) cobinit()を呼び出す必要があります。これを行うには、cobinit()の呼出しが入ったmainexit.hを作成し、上記の手順に従ってください。

ACUCOBOLコンパイラでコンパイルするサーバーに関しては、servopts(5)が特別な意味を持ちます。サーバーCLOPTパラメータのuargs ('--'の後に指定する値)は、ACUCOBOL CVMを起動するために、引数としてacu_initv()サブルーチンに渡されます。

次の例は、リソース・マネージャ(-r TUXEDO/SQL)ライブラリをbuildserverコマンド行で指定する方法を示しています。

buildserver -r TUXEDO/SQL -s OPEN_ACCT -s CLOSE_ACCT -o ACCT
-f ACCT.o -f appinit.o -f util.o

次の例は、buildserverに変数CCおよびCFLAGS変数を与える方法、および-fを使用してCC行への-lmオプションを指定して数学ライブラリをリンクする方法を示したものです。

CFLAGS=-g CC=/bin/cc buildserver -r TUXEDO/SQL -s DEPOSIT
-s WITHDRAWAL -s INQUIRY -o TLR -f TLR.o -f util.o -f -lm

次の例は、リソース・マネージャの指定のないbuildserverコマンドの使用方法を示しています: buildserver -s PRINTER -o PRINTER -f PRINTER.o

リスト4に、一般的なCOBOLコンパイラの例を示します。

リスト4 BUILDSERVER COBOLの例

COBCPY=$TUXDIR/cobinclude
COBOPT="-C ANS85 -C ALIGN=8 -C NOIBMCOMP -C TRUNC=ANSI -C OSEXT=cbl"
COBDIR=/usr/lib/cobol
LD_LIBRARY_PATH=$COBDIR/coblib
export COBOPT COBCPY COBDIR LD_LIBRARY_PATH
buildserver -C -r TUXEDO/SQL -s OPEN_ACCT -s CLOSE_ACCT -o ACCT -f ACCT.o -f appinit.o -f util.o

リスト5に、ACUCOBOLコンパイラの例を示します。

リスト5 BUILDSERVER ACUCOBOLの例

TM_COB_STATIC=no
COB=AcuCobol
COBCPY=$TUXDIR/cobinclude
COBOPT="-Ca -v -w -Ga -Dw64 -Dl8 -Da8"
TM_COB_VERSION=7.2
ACUCOBOL=/opt/AcuCobol-7.2.1
TM_COB_CC_FILES="-lruncbl -lclnt -lacvt -lfsi -laregex -lacuterm -lextfh -laxml -lexpat -lvision -lesql -lacme -lz -lm"
LD_LIBRARY_PATH=$ACUCOBOL/lib:$TUXDIR/lib
export TUXDIR TM_COB_STATIC COB COBCPY COBOPT TM_COB_VERSION
ACUCOBOL TM_COB_CC_FILES LD_LIBRARY_PATH
buildserver -C -sTOUPPER -sTOLOWER -o CSIMPSRV -f CTOUPPER.cbl -f CLOWER.cbl -f TPSVRINIT.cbl

リスト6に、IBMCOBOLコンパイラの例を示します。

リスト6 BUILDSERVER IBMCOBOLの例

TUXDIR=/opt/tuxedo10.0
TM_COB_STATIC=no
COB=IBMCobol
IBMCOBOL=/usr/lpp/cobol
COBCPY=$TUXDIR/cobinclude
COBOPT="-Ca -v -w -Ga -Dw64 -Dl8 -Da8"
LD_LIBRARY_PATH=$IBMCOBOL/lib:$TUXDIR/lib
export TUXDIR TM_COB_STATIC COB COBCPY COBOPT IBMCOBOL LD_LIBRARY_PATH
buildserver -C -sTOUPPER -sTOLOWER -o CSIMPSRV -f CTOUPPER.cbl -f CLOWER.cbl -f TPSVRINIT.cbl

関連項目:

お使いのオペレーティング・システムのリファレンス・マニュアルで説明するCコンパイラとリンカーに関する記述

buildTM_MQI(1)、buildTM_MQO(1)、buildTMQUEUE_MQM(1)

名前

buildTM_MQI(1) - TM_MQIサーバーをリンクします

buildTM_MQO(1) - TM_MQOサーバーをリンクします

buildTMQUEUE_MQM(1) - TMQUEUE_MQMサーバーをリンクします

形式

buildTM_MQI [-v] [-r rmname] [-c] [-t] [-o outfile]
buildTM_MQO [-v] [-r rmname] [-c] [-t] [-o outfile]
buildTMQUEUE_MQM [-v] [-r rmname] [-c] [-t] [-o outfile]

説明

これらのコマンドはそれぞれTM_MQITM_MQO、またはTMQUEUE_MQMサーバーを作成します。デフォルトの出力場所は$TUXDIR/bin/TM_MQI$TUXDIR/bin/TM_MQO、または$TUXDIR/bin/TMQUEUE_MQMです。この場所は-oオプションで変更できます。

これらのコマンドで作成されるサーバーは、Tuxedo MQ AdapterがIBM WebSphere MQとのやり取りに使用します(Oracle MQ Adapter for Tuxedo 10.0ユーザー・ガイドで説明されています)。

ユーザーは、サーバー出力ファイルを作成または上書きするためのパーミッションを持つ必要があります。

これらのコマンドはbuildserverを呼び出して適切なMQ Adapterサーバーを作成します。

あらかじめリンクされたオブジェクトではなく、これらのコマンドを使用してMQ Adapterサーバー・ファイルを作成することで、Tuxedo管理者は次を構成できます。

  • MQ AdapterサーバーをWebSphere MQサーバー・ライブラリにリンクするか、WebSphere MQクライアント・ライブラリにリンクするか。
  • MQ Adapterサーバーを動的なXAスイッチMQRMIXASwitchDynamicにリンクするか、静的なRMスイッチMQRMIXASwitchにリンクするか。
  • リンクするWebSphere MQライブラリのパッチ・レベルおよびリリース。

システム管理者はMQ Adapterサーバーの作成に加え、ある時点でbuildtmsを実行し、WebSphere MQ TMSサーバーを作成する必要があります。

オプション

-v
コマンドを冗長モードで実行することを指定します。具体的には、buildserverコマンドをその標準出力に出力し、buildserverに -vオプションを指定します。
-r rm_name
MQ Adapterサーバーに関連付けられるリソース・マネージャ名を指定します。この値rm_nameは、$TUXDIR/udataobj/RMにあるリソース・マネージャ表に登録されていなければなりません。rm_nameの値に対応するエントリは、リソース・マネージャに対する正しいライブラリを自動的に組み込み、かつトランザクション・マネージャとリソース・マネージャとの間のインタフェースを正しく設定(xa_switch_t structure構造体を使用して)するときに使用します。このパラメータのデフォルト値はMQSeries_XA_RMIです。
-c
WebSphere MQクライアント・ライブラリを使用するMQアダプタのビルドを指定します。
-t
マルチスレッド・サーバーのビルドを指定します。このオプションはTM_MQIサーバーのみで有効です。
-o outfile
出力されるロード・モジュールを収めるファイルの名前を指定します。指定しない場合、デフォルトは$TUXDIR/bin/TM_MQI$TUXDIR/bin/TM_MQO、または$TUXDIR/bin/TMQUEUE_MQMです。

buildTM_MQI -v -o $TUXDIR/bin/TM_MQI
buildTM_MQO -v -o $TUXDIR/bin/TM_MQO
buildTMQUEUE_MQM -v -o $TUXDIR/bin/TMQUEUE_MQM

buildtms(1)

名前

buildtms - トランザクション・マネージャ・サーバーのロード・モジュールを構築します。

形式

buildtms [ -v ] -o name-rrm_name [-z]

説明

buildtmsは、トランザクション・マネージャ・サーバーのロード・モジュールを構築するために使用されます。

Oracle TuxedoシステムではいくつかのTMサーバーが一緒に提供されますが、分散トランザクション処理用にOracle Tuxedoシステムとともに使用する新しいリソース・マネージャを提供することもできます。このようなリソース・マネージャは、X/OpenのXAインタフェースに準拠する必要があります。リソース・マネージャ・ベンダーは、次の4つの項目を提供しなければなりません: リソース・マネージャの名前、リソース・マネージャの機能を示すフラグ、および実際のXAの関数ポインタを収めるxa_switch_t型の構造体の名前、xa_switch_t構造体のname要素に格納されるリソース・マネージャの名前、XAインタフェースのサービスを提供しソフトウェアをサポートするオブジェクト・ファイルの名前、そしてUBBCONFIG構成ファイルのパラメータOPENINFOおよびCLOSEINFOに提供される情報文字列の形式。「UBBCONFIG(5)」を参照してください。

新しいリソース・マネージャをOracle Tuxedoシステムに統合化する際には、ファイル$TUXDIR/udataobj/RMを更新して、そのリソース・マネージャに関する情報を組み込むようにしなければなりません。このファイルの形式は次のとおりです。

rm_name :rm_structure_name:library_names

ここで、rm_nameはリソース・マネージャの名前、rm_structure_namexa_switch_t構造体の名前、library_namesはリソース・マネージャのオブジェクト・ファイルのリストです。空白類(タブやスペース)は各値の前後で使用でき、library_namesの中に挿入することもできます。値の中にコロン(:)を含めることはできません。また、シャープ(#)で始まる行はコメントとして扱われ、無視されます。

ノート:

UNIXシステムの場合はリストをコロン(:)で区切ります。Windowsシステムの場合はコロンのかわりにセミコロン(;)を使用してください。

新しいリソース・マネージャのトランザクション・マネージャ・サーバーはbuildtmsを使用して構築し、$TUXDIR/binにインストールする必要があります。buildtmsbuildserver(1)コマンドを使用してa.outを生成します。buildtmsのオプションには、次の意味があります:

-v
buildtmsを冗長モードで実行することを指定します。具体的には、buildserverコマンドをその標準出力に書き出し、buildserver-vオプションを指定します。
-o name
出力されるロード・モジュールを収めるファイルの名前を指定します。
-r rm_name
このサーバーのリソース・マネージャを指定します。値rm_nameは、$TUXDIR/udataobj/RMにあるリソース・マネージャ表に登録されている必要があります。rm_nameの値に対応するエントリは、リソース・マネージャに対する正しいライブラリを自動的に組み込み、かつトランザクション・マネージャとリソース・マネージャとの間のインタフェースを正しく設定(xa_switch_t構造体を使用して)するときに使用します。
-z
XAスイッチ・インタフェースの__stdcall呼出し規約を指定します。

buildtmsは、buildserverコマンドを使用してa.outを生成します。buildserverは、コンパイラおよびコンパイラ・フラグに関してそれぞれCCおよびCFLAGS環境変数を使用します(設定されている場合)。

移植性

buildtmsは、Oracle Tuxedo ATMIまたはCORBAサーバー環境をサポートするすべてのプラットフォームで、Oracle Tuxedoシステム提供のコンパイル・ツールとしてサポートされています。RM XAライブラリは、Windowsプラットフォームではサポートされていません。

buildtms -o $TUXDIR/bin/TMS_XYZ -r XYZ/SQL # TMS for XYZ resource manager

buildwsh(1)

名前

buildwsh - カスタマイズしたワークステーション・ハンドラ・プロセスを構築します。

形式

buildwsh [ -v ] [ -o name ] [ -f files ]

説明

buildwshは、カスタマイズしたOracle Tuxedo ATMIワークステーション・ハンドラ・モジュールを構築するために使用されます。呼出し側によって組み込まれるファイルは、アプリケーション・バッファ型スイッチと必要なサポート・ルーチンのみを含む必要があります。このコマンドは、-fオプションで指定されるファイルと、必要な標準Oracle Tuxedo ATMIライブラリを組み合せて、ワークステーション・ハンドラ・ロード・モジュールを作成します。ロード・モジュールは、buildwshが呼び出すcc(1)コマンドによって構築されます(コマンドの説明はUNIXシステム・リファレンス・マニュアルを参照)。buildwshコマンドには、以下のオプションがあります。

-v
buildwshを冗長モードで実行することを指定します。ccコマンドの実行結果が、標準出力へ書き込まれます。
-o name
出力されるワークステーション・ハンドラ・ロード・モジュールのファイル名を指定します。ここで指定した名前は、構成ファイルのSERVERセクションにあるWSL(5)サーバーの-w WSHnameオプションでも指定する必要があります。指定しない場合、ロード・モジュールの名前はWSHになります。
-f firstfiles
buildwshのコンパイル・フェーズやリンク・フェーズで取り込む1つまたは複数のユーザー・ファイルを指定します。ソース・ファイルは、ccコマンドまたは環境変数CCによって指定されたコマンドによってコンパイルされます。ソース・ファイルのコンパイルによって生成されたオブジェクト・ファイルと、-fオプションのパラメータとして直接指定されたオブジェクト・ファイルは、基本となるワークステーション・ハンドラ・プロセスを構築するために必要なすべてのオブジェクト・ファイルの後で、かつOracle Tuxedo ATMIライブラリの前に取り込まれます。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは、何回も指定することができます。

buildwshは通常、ccコマンドを使用してa.outを生成します。代替コンパイラを指定できるようにするため、buildwshはシェル変数CCが存在するかどうかを調べます。CCbuildwshの環境にない場合、または変数の値が文字列""である場合は、buildwshはコンパイラとしてccを使用します。環境内にCCが存在する場合、実行されるコンパイラの名前がCCの値となります。同様に、シェル変数CFLAGSも、コンパイラへ渡す一連のパラメータを取り込むためにチェックされます。

アプリケーションが共有ライブラリを使用する場合は、ここで説明したコンパイルとリンクの作業をする必要はありません。詳細は、『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』の「型付きバッファの管理」を参照してください。

移植性

buildwshコンパイル・ツールは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで使用できます。

CC=ncc CFLAGS=”-I $TUXDIR/include”; export CC CFLAGS buildwsh
-o APPWSH -f apptypsw.o

関連項目:

cobcc(1)

名前

cobcc - COBOLコンパイル・インタフェース。

形式

cobcc [option . . . ] filename . . .

説明

cobccは、COBOLコンパイラに対するインタフェース・シェルとして使用します。-C (COBOL)オプションを指定してbuildclient(1)またはbuildserver(1)が実行された場合に、デフォルトで呼び出されます。ALTCC環境変数を指定するとオーバーライドできます。

以下にcobccで指定可能なオプションを示します。これらのオプションを使用するには、buildclientbuildserverを実行する際に、環境変数ALTCFLAGScobccが認識できるオプション文字列に設定します。各オプションの詳細は、COBOLとCコンパイラのドキュメントを参照してください。

ノート:

Windowsシステムでは、ALTCCおよびALTCFLAGS環境変数は使用できません。これらの変数を設定すると、予想外の結果が生じます。まず、COBOLコンパイラを使用してアプリケーションをコンパイルしてから、生成されたオブジェクト・ファイルをbuildclient(1)またはbuildserver(1)コマンドに渡す必要があります。

cccobとは異なり、cobccの場合、すべてのオプションをファイル名より前に置く必要があります。

-c
このオプションは、リンク・フェーズを抑制することを指定します。つまりコンパイルは行われますが、実行可能プログラムは作成されません。
-p -g -r -O
これらのオプションは直接COBOLコンパイラに渡されます。
-l argument
オプションと引数は、直接COBOLコンパイラに渡されます(両者を分離する空白文字は除きます)。
-L argument
オプションと引数は、直接COBOLコンパイラに渡されます(両者を分離する1つの空白文字も含みます)。
-o output_file
リンク・ステージからの出力である実行可能ファイルの名前を指定します。
-E -P -S
COBOLコンパイラを介してCコンパイラに渡されます。またリンク・フェーズを抑制します。
-A -C -H -f -G
COBOLコンパイラを介してCコンパイラに渡されます。
-w
COBOLとCコンパイラの警告メッセージを抑制します。
-D argument
このオプションと引数は、COBOLコンパイラを介してCコンパイラに渡されます。C言語でのマクロ定義に使用します。
{-T -Y -U -I -B -X -F -q} argument
これらのオプションはそれぞれ引数を取ります。このオプションと引数は、COBOLコンパイラを介してCコンパイラに渡されます。
-V -v
各オプションはCOBOLコンパイラとCコンパイラに渡されます。
-a -s
各オプションはローダーに渡されます。
-u argument
このオプションと引数はローダーに渡されます。
-W argument
argumentは、カンマで区切られた最大3個のフィールドで構成します。引数の最初の部分が -pまたは -0であれば、Cコンパイラに渡されます。-aで始まる場合には、アセンブラに渡されます。-lで始まる場合にはローダーに渡されます。-Cで始まるのであれば、COBOLコンパイラに渡されます。それ以外の場合には、Cコンパイラに渡されます。

オプションと引数、およびファイル名は該当するオプションと共にCOBOLコンパイラに渡され、適切な情報がCOBOLコンパイラ、Cコンパイラ、あるいはローダーで処理されます。COBOLコンパイラの名前は"cob"と想定されており、PATHで定義されています。

関連項目:

  • buildclient(1)
  • buildserver(1)
  • UNIXシステムのリファレンス・マニュアルのcc(1)
  • 『Micro Focus COBOL/2 Operating Guide』 Micro Focus Ltd.

cpy2record

名前

cpy2record - Oracle Tuxedo RECORD記述ファイルをコピーブック・ファイルから生成します。

形式

cpy2record [OPTION...] FILE

説明

このユーティリティは、COBOLコピーブック・ファイルを解析し、対応するOracle Tuxedo RECORD記述ファイルを生成します。このツールは、COBOLコピーブック・プログラムの解析にのみ使用され、COBOLソース文を含むファイルの解析には使用されません。

cpy2recordでは、次のオプションがサポートされています:

-b
FML32表のベース番号を指定します。デフォルトは10000です。
-i
-iオプションを使用する場合、#vnameがコピーブック・ファイルで指定されていないと、rnameはデフォルトのvnameとして小文字に変換されません。-iオプションを使用しない場合、rnameは小文字に変換されます。
-R
このツールがコピーブック記述ファイルを作成することを示します。
-t
生成されるFML32表ファイルを指定します。後に続くパラメータは、出力FML32表ファイル名です。
-o
出力ファイル名を指定します。後に来るパラメータが出力ファイル名になります。このパラメータを指定しないと、出力ファイル名によって入力ファイル名の接尾辞が.Rに変更されます。たとえば、abc.cblabc.Rに変換されます。

環境変数

PATH

cpy2recordを使用する前に、TUXDIR/binおよびJavaコマンドjavaをシステム環境PATHに追加します。

  • 次のサンプルは、コピーブック・ファイルabc.cblをRECORDファイルabc.Rに変換します。
    • cpy2record /home/abc.cbl

      または

    • cpy2record -R /home/abc.cbl
  • 次のサンプルは、コピーブック・ファイルabc.cblを変換し、ビュー・ファイルxyz.Rに出力します。
    • cpy2record -o xyz.R /home/abc.cbl
  • 次のサンプルは、COBOLコピーブック・ファイルの例です。
    * customer.cpy
              01     CUSTOMER.
                  05    name         PIC X(10).
                  05    balance      PIC S9(9) COMP-5.
                  05    address      PIC X(80).

関連項目:

dmadmin(1)

名前

dmadmin - Oracle Tuxedo Domains管理コマンド・インタプリタ。

形式

dmadmin [ -c ] [-2] [-s] [-e]

説明

dmadminは対話型のコマンド・インタプリタで、Domains構成に含まれる特定のOracle Tuxedoアプリケーション用に定義されたドメイン・ゲートウェイ・グループを管理するために使用します。ここでは、Oracle Tuxedo DomainsコンポーネントのTDomainゲートウェイ、SNA Gateway (SNAX)およびOSI TPゲートウェイでdmadminを使用する方法について説明します。Oracle Tuxedo Domainsコンポーネントについては、『Oracle Tuxedo Domainsコンポーネントの使用』を参照してください。

dmadminには、管理モードと構成モードの2つのモードがあります。

dmadminはパラメータなしで呼び出すと管理モードになります。管理モードはデフォルトのモードです。このモードでは、dmadminは、アクティブなアプリケーション内のアクティブなノード(ワークステーションを除く)で実行できます。アプリケーション管理者は、このモードを使用して、アクティブな任意のドメイン・ゲートウェイ・グループのパラメータを取得または変更できます。アプリケーション管理者は、このモードを使用して、特定のローカル・ドメイン・アクセス・ポイントのDomainsトランザクション・ログを作成、廃棄または再初期化することもできます。この場合、そのローカル・ドメイン・アクセス・ポイントに関連付けられたドメイン・ゲートウェイ・グループをアクティブにせず、対応するゲートウェイ・グループに関連するマシン上でdmadminを実行する必要があります。

dmadminでは、BDMCONFIGファイルの管理にDomains管理サーバー(DMADM)を、アクティブなDOMAINゲートウェイ・グループの再構成にゲートウェイ管理サーバー(GWADM)を使用する必要があります。Domains構成で起動される各Oracle Tuxedoアプリケーションに1つのDMADMプロセスが、各ドメイン・ゲートウェイ・グループに1つのGWADMプロセスが実行されます。

オプション

-c
dmadminは、-cオプションを使用して呼び出されるか、configサブコマンドが呼び出されると、構成モードに入ります。アプリケーション管理者は、このモードを使用して、新しい構成情報を更新したり、ドメイン構成ファイル(BDMCONFIG)のバイナリ・バージョンに追加したりできます。
-2
2つ目のパスワード・ペア(パスワード・ペア2)を追加、更新または削除するかどうか指定します。指定しない場合、デフォルトはパスワード・ペア1です。
-s <start-time>
パスワード・ペアがいつ有効になるかを指定します。指定しない場合、パスワードは即座に有効になります。これはUTC文字列形式(yyyy/mm/dd/hh:mm:ss)で指定する必要があります。
-e <end-time>
パスワード・ペアがいつ期限切れになるかを指定します。指定しない場合、パスワード・ペアは、システムから明示的に削除または更新されるまで期限切れになりません。これはUTC文字列形式(yyyy/mm/dd/hh:mm:ss)で指定する必要があります。

管理モードのコマンド

dmadminが呼び出された後は、次に示す構文に従って、プロンプト(">")からコマンドを入力してください。

command [arguments]

共通して出現するいくつかの引数には、defaultコマンドを使用してデフォルト値が与えられます。defaultコマンドによって設定されたパラメータを受け付けるコマンドは、defaultに値が設定されているかどうかを調べます。値が設定されていない場合は、エラー・メッセージが戻されます。

一度設定したデフォルト値は、defaultコマンドで変更しないかぎり、セッション終了まで有効です。このデフォルト値は、コマンド行で明示的に値を入力してオーバーライドするか、値* (アスタリスク)を入力して設定解除します。オーバーライドの効果は、コマンドの単一のインスタンスの間有効です。

dmadminコマンドからの出力は、使用しているページ別表示コマンドに従ってページ別に表示されます(後述のpaginateサブコマンドを参照してください)。

コマンドは、完全な名前または省略形(カッコ内に示す形式)で入力できます。その後に適切な引数を指定します。大カッコ[ ]で囲まれている引数は省略可能で、中カッコ{ }で囲まれている引数は、相互に排他的な選択肢を示します。

ノート:

多くのコマンドでlocal_domain_access_point_nameは必須引数ですが、defaultコマンドでも設定できることに注意してください。

以下のコマンドは、管理モードで使用できます。

advertise (adv) -d local_domain_access_point_name [{service}]
指定されたローカル・ドメイン・アクセス・ポイントが提供するすべてのリモート・サービス、または指定されたリモート・サービスを公開します。-dオプションで指定されたローカル・ドメインがバイパス・ドメイン・モデルで動作している場合、advertiseは接続先の非バイパス・リモート・ドメインによってエクスポートされたサービスのみを通知します。サービス名が指定され、サービスがバイパス・ドメイン・モデルで動作する未接続のリモート・ドメインに配置されている場合、advertiseでエラーが発生します。
advertiseevent (advevt) -d local_domain_name_[{-all | event}]
すべての構成済イベント(-all)または指定したイベント(指定のevent)のリモート・ドメインへの送信を許可します。これらのイベントは、"*DM_EVT_OUT"セクションでLACCESSPOINT=local_domain_nameを使用して構成されます。
audit (audit) -d local_domain_access_point_name [{off | on}]
指定されたローカル・ドメイン・アクセス・ポイントに対して、監査トレースをアクティブ化(on)にまたはアクティブ解除(off)します。オプションが設定されていない場合は、現在の設定値がonoffで切り替わり、新しい設定が表示されます。初期設定はoffです。
Oracle Tuxedo 8.0以降のソフトウェアでマルチ・ドメイン・トランザクションを作成した場合は、Domainsトランザクション監査機能によって、リモート(親)アプリケーションからローカル(従属)アプリケーションの監査ログに、ローカルGTRIDに加えてグローバル・トランザクションID (GTRID)が自動的に書き込まれます。
監査レコードには、プロセスID、ローカル・ドメイン・アクセス・ポイント名、リモート・ドメイン・アクセス・ポイント名、サービス名、ローカルGTRID (トランザクション・モードの場合のみ)、親GTRID (トランザクション・モードの場合のみ)、監査レコードの型(文字列)、および現在のタイムスタンプの順に、コロンで区切った文字列フィールドが並びます。
chbktime (chbt) -d local_domain_access_point_name-tbktime
特定のローカル・ドメイン・アクセス・ポイントのブロッキング・タイムアウトを変更します。
config (config)
構成モードに入ります。このモードで発行されたコマンドは、「構成モードのコマンド」で定義された規則に従います。
connect (co) -d local_domain_access_point_name [-R remote_domain_access_point_name]
ローカル・ドメイン・ゲートウェイをリモート・ドメイン・ゲートウェイに接続します。ローカル・ドメイン・ゲートウェイが接続を再試行するように構成している場合は接続が失敗しても、自動接続再試行プロセスによって接続試行が繰り返されます。(-Rが指定されていない場合、このローカル・ドメイン・ゲートウェイに構成されているすべてのリモート・ドメイン・アクセス・ポイントに対してコマンドが適用されます。)
crdmlog (crdlog)[-d local_domain_access_point_name]
現在のマシン(dmadminが動作しているマシン)上の指定されたローカル・ドメイン・アクセス・ポイントに対して、Domainsトランザクション・ログを作成します。このコマンドでは、DMCONFIGファイルで指定したパラメータが使用されます。指定のローカル・ドメイン・アクセス・ポイントに関連付けられているドメイン・ゲートウェイ・グループが現在のマシンでアクティブであるか、ログがすでに存在する場合は、このコマンドは失敗します。

ノート:

OracleデータベースにログをエクスポートするためにDMCONFIG(5) DMTLOGDEVを設定すると、DMTLOGは自動的に作成されなくなります。
default (d) [-d local_domain_access_point_name]
デフォルトのローカル・ドメイン・アクセス・ポイントにするための、対応する引数を設定します。デフォルトの設定は、引数として* (アスタリスク)を指定すると設定を解除できます。defaultコマンドを引数なしで入力した場合は、現在のデフォルトの値が表示されます。
disconnect (dco) -d local_domain_access_point_name [-R remote_domain_access_point_name]
ローカル・ドメイン・ゲートウェイとリモート・ドメイン・ゲートウェイの接続を切断し、接続再試行処理を開始しません。アクティブな接続がなくても、自動接続再試行処理が有効な場合は、このコマンドによって自動再試行処理が停止されます。(-Rが指定されていない場合、このローカル・ドメイン・ゲートウェイに構成されているすべてのリモート・ドメイン・アクセス・ポイントに対してコマンドが適用されます。)
dsdmlog (dsdlg) -d local_domain_access_point_name [ -y]
現在のマシン(dmadminが動作しているマシン)上の指定されたローカル・ドメイン・アクセス・ポイントに対して、Domainsトランザクション・ログを破棄します。このローカル・ドメイン・アクセス・ポイントにDomainsトランザクション・ログが定義されていないか、ローカル・ドメイン・アクセス・ポイントに関連付けられているドメイン・ゲートウェイ・グループがアクティブであるか、または未処理のトランザクション・レコードがログ内に存在している場合は、エラーが戻されます。「未処理のトランザクション」とは、グローバル・トランザクションがすでにコミットされているが、トランザクションの終了がまだ書き込まれていないトランザクションのことです。このコマンドは、-yオプションを指定していない場合に確認のためのプロンプトを表示します。
echo (e) [{off | on}]
onに設定すると、入力コマンド行をエコーします。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。初期設定はoffです。
forgettrans (ft) -d local_domain_access_point_name [ -t tran_id]
指定されたローカル・ドメイン・アクセス・ポイントのヒューリスティック・ログ・レコードを1つまたはすべてを無視します。トランザクション識別子tran_idが指定されている場合、そのトランザクションのヒューリスティック・ログ・レコードのみが無視されます。トランザクション識別子tran_idは、printtransコマンドまたはULOGファイルから取得できます。
help (h) [command]
ヘルプ・メッセージを出力します。commandを指定すると、そのコマンドの省略形、引数および説明が出力されます。引数をすべて省略すると、すべてのコマンドの構文が表示されます。
indmlog (indlg) -d local_domain_access_point_name [ -y]
現在のマシン(dmadminが動作しているマシン)上の指定されたローカル・ドメイン・アクセス・ポイントに対して、Domainsトランザクション・ログを再初期化します。このローカル・ドメイン・アクセス・ポイントにDMTLOGが定義されていないか、ローカル・ドメイン・アクセス・ポイントに関連付けられているドメイン・ゲートウェイ・グループがアクティブであるか、または未処理のトランザクション・レコードがログ内に存在している場合は、エラーが戻されます。「未処理のトランザクション」とは、グローバル・トランザクションがすでにコミットされているが、トランザクションの終了がまだ書き込まれていないトランザクションのことです。このコマンドは、-yオプションを指定していない場合に確認のためのプロンプトを表示します。
paginate (page) [{off | on}]
ページ単位で出力します。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。標準入力または標準出力が非端末デバイスでない限り、初期設定はonです。ページ別表示は標準入力と標準出力の両方が端末デバイスの場合にのみオンに設定できます。シェル環境変数PAGERを使用すると、ページ別表示出力に使用されるデフォルトのコマンドをオーバーライドできます。デフォルトのページ別表示コマンドは、ネイティブのオペレーティング・システム環境に固有のコマンドです(たとえば、コマンドpgは、UNIXシステム・オペレーティング環境のデフォルトです)。
passwd (passwd) [ -r ] local_domain_access_point_name remote_domain_access_point_name [ LDOM RDOM |-2 | –s <start-time> -e <end-time>]
指定したローカルおよびリモート・ドメイン・アクセス・ポイントの新しいパスワードの入力を管理者に求めます。-rオプションは、既存のパスワードと新しいパスワードを、システムが生成した新しいキーを使用して暗号化することを指定します。パスワードの最大文字数は30文字に制限されています。passwdはTDomainゲートウェイのみでサポートされます。
LDOM RDOM
TDOMAINセッション<LDOM, RDOM>.にパスワード・ペア1を追加します。パスワードは即座に有効になり、期限切れになることはありません。古いパスワード・ペア1が存在する場合、このコマンドは失敗します。
LDOM RDOM -2
TDOMAINセッション<LDOM, RDOM>.にパスワード・ペア2を追加します。パスワードは即座に有効になり、期限切れになることはありません。古いパスワード・ペア1が存在する場合、このコマンドは失敗します。
LDOM RDOM –s <start-time> -e <end-time>
TDOMAINセッション<LDOM, RDOM>にパスワード・ペア1 (-2が含まれている場合は、パスワード・ペア2)を追加します。パスワードは<start-time>に有効になり、<end-time>に期限切れになります。古いパスワード・ペア1が存在する場合、このコマンドは失敗します。
printdomain (pd) -d local_domain_access_point_name
指定のローカル・ドメイン・アクセス・ポイントに関する情報を表示します。接続されたリモート・ドメイン、ゲートウェイ・グループ・プロセスによって共有されているグローバル情報、およびドメイン・ゲートウェイ・タイプのインスタンスによって変化する追加情報などが表示されます。
printstats (pstats) -d local_domain_access_point_name
指定のローカル・ドメイン・アクセス・ポイントによって収集された統計情報およびパフォーマンス情報を表示します。表示される情報は、ドメイン・ゲートウェイのタイプによって変わります。
printtrans (pt) -d local_domain_access_point_name
指定のローカル・ドメイン・アクセス・ポイントに関するトランザクション情報を出力します。各トランザクション・レコードの出力には、次のようなコロンで区切った文字列フィールドが並びます。
process ID:local domain access point name:remote domain access point name:service name:local GTRID:remote GTRID:record type:timestamp
トランザクションがドメイン・ローカルな場合、remote GTRIDフィールドはコロン・デリミタの間で空白になります。
quit (q)
セッションを終了します。
resume (res) -d local_domain_access_point_name [{ -all | service}]
指定のサービスの処理、または指定のローカル・ドメイン・アクセス・ポイントで処理するすべてのリモート・サービスの処理を再開します。
stats (stats) -d local_domain_access_point_name [{ off | on | reset }]
指定のローカル・ドメイン・アクセス・ポイントに関する統計収集を、アクティブ化(on)、アクティブ解除(off)または再設定(reset)します。オプションを何も指定しない場合は、現在の設定値がonoffで切り替わり、新しい設定が表示されます。初期設定はoffです。
statsvc (statsvc) -d local_domain_access_point_name -t interval_time_number
リモート・サービス呼出しで指定のローカル・ドメイン・アクセス・ポイントの統計監査トレースをアクティブ化(on)または非アクティブ化(off)します。間隔時間が0より大きい場合、この機能はアクティブ化されます。現在の間隔時間設定が有効になり、初期設定はオフになります。統計監査トレースをアクティブ化(on)すると、間隔時間内にイベントが発生しなかった場合、GWADMはデータを監査ファイルにフラッシュしません。つまり、GWADMは、間隔時間内に発生した新しいデータのみを監査ログ・ファイルにフラッシュします。
suspend (susp) -d local_domain_access_point_name [{ -all | service}]
指定のローカル・ドメイン・アクセス・ポイントの1つまたはすべてのリモート・サービスを中断します。
topendpasswd (tepasswd) [ -r]
指定したTOP ENDドメインの新しいパスワードを管理者に求めます。-rオプションは、既存のパスワードと新しいパスワードを、システムが生成した新しいキーを使用して暗号化することを指定します。
unadvertise (unadv) -d local_domain_access_point_name [{service}]
指定のローカル・ドメイン・アクセス・ポイントの1つまたはすべてのリモート・サービスを公開解除します。-dオプションで指定されたローカル・ドメインがバイパス・ドメイン・モデルで動作している場合、unadvertiseは接続先の非バイパス・リモート・ドメインによってエクスポートされたサービスのみを通知解除します。サービス名が指定され、サービスがバイパス・ドメイン・モデルで動作するリモート・ドメインに配置されている場合、advertiseでエラーが発生します。
unadvertiseevent (unadvevt) -d local_domain_name_[{-all | event}]
すべての構成済イベント(-all)または指定したイベント(指定のevent)のリモート・ドメインへの送信を禁止します。これらのイベントは、"*DM_EVT_OUT"セクションでLACCESSPOINT=local_domain_nameを使用して構成されます。
verbose (v) [{off | on}]
冗長モードで出力を生成しますオプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。初期設定はoffです。
! shellcommand
シェルにエスケープして、shellcommandを実行します。
!!
直前のシェル・コマンドを再実行します。
# [text]
"#"で始まる行はコメント行で、無視されます。
<CR>
最後のコマンドを繰り返します

構成モードのコマンド

dmadminコマンドは、-cオプションで実行するか、configサブコマンドを使用すると構成モードになります。このモードでは、dmadminを使用して、BDMCONFIGファイルの実行時更新を行うことができます。dmadminは、追加または取得される入力フィールド値を含むバッファを管理し、各処理が終了すると出力フィールド値とステータスを表示します。ユーザーは任意のテキスト・エディタを使用して入力バッファを更新できます。

dmadminはまず希望のセクションを求めるプロンプトを表示し、次に希望の操作を求めるプロンプトを表示します。

BDMCONFIGファイルのセクションを求めるプロンプトは次のとおりです。

Section:
         1) RESOURCES                 2) LOCAL_DOMAINS
         3) REMOTE_DOMAINS            4) LOCAL_SERVICES
         5) REMOTE_SERVICES           6) ROUTING
         7) ACCESS_CONTROL            8) PASSWORDS
         9) TDOMAINS                  10) OSITPS
         11) SNADOMS                  12) LOCAL_REMOTE_USER
         13) REMOTE_USERS             14) SNACRMS
         15) SNASTACKS                16) SNALINKS
         19) OSITPX
         20) EVENTS_IN                21) EVENTS_OUT
         q) QUIT
Enter Section [1]:

デフォルト・セクションの番号は、プロンプトの終わりに大カッコ内に表示されます。デフォルトの値を受け入れるときは、[RETURN]または[Enter]を押します。別のセクションを選択するときは、その番号を入力して[RETURN]または[Enter]を押します。

次にdmadminは、希望の操作を求めるプロンプトを表示します。

Operations:
         1) FIRST                 2) NEXT
         3) RETRIEVE              4) ADD
         5) UPDATE                6) DELETE
         7) NEW_SECTION           8) QUIT
Enter Operation [1]:

デフォルトの操作番号がプロンプトの終わりの大カッコ内に表示されます。[RETURN]または[Enter]を押してこのオプションを選択します。別の操作を選択するときは、その番号を入力して[RETURN]または[Enter]を押します。

現在サポートされている操作は次のとおりです。

  1. FIRST - 指定されたセクションから最初のレコードを取り出します。キー・フィールドは必要ありません(入力バッファに格納されていても、無視されます)。
  2. NEXT - 入力バッファ内のキー・フィールドに基づいて、指定されたセクションから次のレコードを取り出します。
  3. RETRIEVE - キー・フィールドで指定されたセクションから、指定されたレコードを取り出します(次のフィールドの説明を参照してください)。
  4. ADD - 指定されたセクションに、指定されたレコードを追加します。フィールドが指定されていない場合(フィールドが不要である場合にかぎり)、DMCONFIG(5)で指定されたデフォルト値が使用されます。すべてのフィールドの現在の値は、出力バッファ内に戻されます。この操作は、Oracle Tuxedo管理者だけが行えます。
  5. UPDATE - 選択されたセクションの入力バッファ内で指定されたレコードを更新します。入力バッファ内で指定されていないフィールドは変更されません。すべてのフィールドの現在の値は、入力バッファ内に戻されます。この操作は、Oracle Tuxedo管理者だけが行えます。
  6. DELETE - 入力バッファ内で指定されたレコードを、選択されたセクションから削除します。この操作は、Oracle Tuxedo管理者しか実行できません。
  7. NEW SECTION - 入力バッファをクリアします(すべてのフィールドが削除されます)。この操作の直後に、dmadminによって再度セクションを指定するように求められます。
  8. QUIT - プログラムを正常に終了します(dmadminは終了します)。プロンプトで値qを入力してもプログラムを終了できます。

構成操作を行う場合は、有効なユーザー識別子は、このプログラムが実行されるマシンのOracle Tuxedo管理者ユーザー識別子(UID)と一致している必要があります。レコードの更新や追加を行う場合には、dmloadcf(1)が使用するすべてのデフォルト値と検証機能が有効になります。

dmadminは次に、入力バッファを編集するかどうかを確認するプロンプトを表示します:

Enter editor to add/modify fields [n]?

yを入力すると、入力バッファが一時ファイルに変換され、テキスト・エディタが実行されます。環境変数EDITORを使用して、使用するエディタを決定します。デフォルト値はed (UNIXテキスト・エディタ)です。入力形式は、一連のフィールド名とフィールド値の組合せです。「構成の入力形式」を参照してください。その後の項の表に、各DMCONFIGセクションに関連付けられているフィールド名を示します。フィールドのセマンティクスと、関連する範囲、デフォルト、制限などは、「DMCONFIG(5)」および「DM_MIB(5)」を参照してください。多くの場合、フィールド名はDMCONFIGファイルのKEYWORDと同じで、接頭辞として「TA_」が付いています。ユーザーが入力バッファの編集を完了すると、dmadminはそれを読み取ります。特定のフィールド名に対して複数の行がある場合、最初の行が使用され、他の行は無視されます。なんらかのエラーが発生すると、構文エラーが出力され、その問題を解決するためにファイルを編集するかどうかを確認するdmadminプロンプトが表示されます:

Enter editor to correct? 

問題を訂正しない場合(レスポンスn)は、入力バッファにフィールドは含まれません。問題を訂正する場合は、エディタが再度実行されます。

最後に、dmadminは操作を実行するかどうかを確認するプロンプトが表示されます:

Perform operation [y]?

操作が完了すると、dmadminReturn value TAOKのように戻り値を出力し、続いて出力バッファ・フィールドを表示します。次に、プロセスが再開され、セクションを求めるプロンプトが表示されます。すべての出力バッファ・フィールドは、バッファがクリアされないかぎり、入力バッファ内で利用できます。

いつでもブレークを入力して、セクションを求めるプロンプトでの対話を再開できます。

"QUIT"を選択すると、テキスト・バージョンの構成ファイルのバックアップを作成する認可を求めるプロンプトが表示されます。

Unload BDMCONFIG file into ASCII backup [y]?

バックアップを選択した場合、ファイル名の入力を求めるプロンプトが表示されます。

Backup filename [DMCONFIG]

成功時にはバックアップが作成されたことが示され、失敗時にはエラーが表示されます。

構成の入力形式

入力パケットは、次のようにフォーマットされた行で構成されます。

fldname fldval

フィールド名は、1つまたは複数のタブ(または空白)によってフィールド値と区別されます。

長いフィールド値は、1つまたは複数のタブ(dmadminに再度読み込まれたときに破棄されます)で始まる継続行を使用することで、次の行に継続できます。

改行文字だけで構成される空の行は無視されます。

表示できない文字をフィールド値に入力したり、タブをフィールド値の先頭に付けたりするには、バックスラッシュを入力し、その後に必要な文字を2文字の16進表現で入力します(UNIXリファレンス・マニュアルでASCII(5)の項を参照)。たとえば、空白は「\20」として入力データに入力できます。バックスラッシュそのものは、2つのバックスラッシュ記号を使用して入力できます。dmadminでは、このフォーマットのすべての入力が認識されます。このフォーマットは表示できない文字の場合に最も役立ちます。

構成の制限事項

次に動的Domainsを再構成する機能についての全般的な制限事項を示します。

  • キー・フィールドの値(次のセクションを参照)は変更できません。システムが停止しているときに、構成ファイルを再ロードすれば、キー・フィールドを変更できます。
  • 動的削除は、ローカル・ドメイン・アクセス・ポイントに関連付けられたドメイン・ゲートウェイ・グループがアクティブ(動作中)のときは実行できません。

Domains関連の新しい用語

Oracle Tuxedoのリリース7.1以降では、Domains用のMIBで、ローカル・ドメインとリモート・ドメインとの相互作用を記述するため、クラスと属性の用語が改善されています。新しい用語は、DM_MIBのリファレンス・ページ、クラスおよびエラー・メッセージや、DMCONFIGのリファレンス・ページ、セクション名、パラメータ名およびエラー・メッセージで使用されています。新しい用語はdmadminのユーザー・インタフェースには適用されていませんが、dmadminDMCONFIGの従来の用語と新しい用語の両方を認識します。

後方互換性のため、Oracle Tuxedo 7.1より前に使用されていたDMCONFIG用語とDomains用のMIBの新しい用語との間で別名が提供されています。Oracle Tuxedoリリース7.1以降のdmadminでは、両方のバージョンのDMCONFIG用語を使用できます。詳細は、「DM_MIB(5)」リファレンス・ページの「Domains関連の新しい用語」を参照してください。

構成フィールド識別子/更新に関する制限事項

この後では、各DMCONFIGについて、どのフィールド識別子が各DMCONFIGフィールドに関連しているか、識別子のフィールド・タイプは何か、およびいつフィールドを更新できるかを説明しています。適用可能なフィールド値はすべて、取出し操作によって返されます。レコードを追加できるフィールド、またはレコードを追加するために必要なフィールドについては、「DMCONFIG(5)」および「DM_MIB(5)」で説明しています。以降でキーと示すフィールドは、セクション内のレコードを一意に識別するために使用するキー・フィールドです。これらのキー・フィールドは、更新を行うとき入力バッファ内になければならないほか、動的に更新することができません。更新列は、どのようなときにフィールドを更新できるかを示しています。可能な値は次のとおりです:

  • Yes - いつでも更新できます。
  • NoGW - ローカル・ドメイン・アクセス・ポイントに関連付けられたドメイン・ゲートウェイ・グループが実行中の間は動的に更新できません。
  • No - ドメイン・ゲートウェイ・グループが1つでも実行中であれば動的に更新できません。

DM_LOCALセクションの構成

次の表に、DM_LOCALセクション(DM_LOCAL_DOMAINSセクション)のフィールドの一覧を示します。dmadmin操作プロンプトでこのセクションにアクセスするには、2 (LOCAL_DOMAINS)を入力します。

表1-4 DM_LOCALセクション

フィールド識別子 更新 ノート
TA_LDOM 文字列 NoGW キー:ローカル・ドメイン・アクセス・ポイント名
TA_GWGRP 文字列 NoGW -
TA_TYPE 文字列 NoGW 形式: {TDOMAIN | SNAX | OSITP | OSITPX}
TA_DOMAINID 文字列 NoGW 新しいDMCONFIG用語では、DOMAINIDACCESSPOINTID
TA_AUDITLOG 文字列 NoGW -
TA_BLOCKTIME 数値 NoGW -
TA_CONNECTION_POLICY 数値 NoGW 形式:
{ON_DEMAND | ON_STARTUP |
                     INCOMING_ONLY}
TA_MAXRETRY 数値 NoGW TA_CONNECTION_POLICYに伴うパラメータ
TA_RETRY_INTERVAL 数値 NoGW TA_CONNECTION_POLICYに伴うパラメータ
TA_DMTLOGDEV 文字列 NoGW -
TA_DMTLOGNAME 文字列 NoGW -
TA_DMTLOGSIZE 数値 NoGW -
TA_MAXRDTRAN 数値 NoGW 新しいDMCONFIG用語では、MAXRDTRANMAXRAPTRAN
TA_MAXTRAN 数値 NoGW -
TA_MAXRDOM 数値 NoGW OSITPにのみ適用可能(新しいDMCONFIG用語では、MAXRDOMはMAXACCESSPOINT)
TA_SECURITY 文字列 NoGW TDOMAIN (TDomain)形式:
{NONE | APP_PW | DM_PW}
SNAX (SNA)形式: {NONE|DM_USER_PW} OSITPX (OSI TP 4.x)形式: {NONE|DM_PW}

DM_REMOTEセクションの構成

次の表に、DM_REMOTEセクション(DM_REMOTE_DOMAINSセクション)のフィールドの一覧を示します。dmadmin操作プロンプトでこのセクションにアクセスするには、3 (REMOTE_DOMAINS)を入力します。

表1-5 DM_REMOTEセクション

フィールド識別子 更新 ノート
TA_RDOM 文字列 いいえ キー:リモート・ドメイン・アクセス・ポイント名
TA_TYPE 文字列 いいえ 形式: {TDOMAIN | SNAX | OSITP | OSITPX}
TA_DOMAINID 文字列 いいえ 新しいDMCONFIG用語では、DOMAINIDACCESSPOINTID

DM_TDOMAINセクションの構成

DM_TDOMAINセクションには、TDOMAINタイプ・ドメインが必要とするネットワーク・アドレッシング・パラメータが含まれています。次の表に、このセクションのフィールドの一覧を示します。

表1-6 DM_TDOMAINセクション

フィールド識別子 更新 ノート
TA_LDOMまたはTA_RDOM 文字列 いいえ/NoGW キー:ローカルまたはリモート・ドメイン・アクセス・ポイント名
TA_LDOM (オプション)*** 文字列 いいえ/NoGW TDomainセッションを確立するオプションとして、TA_RDOMと一緒に使用することもできます(TA_RDOMを使用してリモート・ドメイン・アクセス・ポイント名を確立する場合のみ)。
TA_DMFAILOVERSEQ*** 数値 いいえ/NoGW 形式: -1 <= num <= 32767 TDomainセッションのフェイルオーバー・シーケンス番号とプライマリ・レコードを指定します
TA_NWADDR 文字列 いいえ/NoGW テキスト(ASCII)形式(NULL文字を除く)
TA_NWDEVICE 文字列 いいえ/NoGW -
TA_CONNECTION_POLICY * ** 文字列 いいえ/NoGW 形式:
{LOCAL | ON_DEMAND | ON_STARTUP | INCOMING_ONLY}
TA_MAXRETRY * 数値 いいえ/NoGW TA_CONNECTION_POLICYに伴うパラメータ
TA_RETRY_INTERVAL * 数値 いいえ/NoGW TA_CONNECTION_POLICYに伴うパラメータ
TA_TCPKEEPALIVE * 文字列 いいえ/NoGW 形式: {LOCAL | N | Y} ドメインTCPレベルのキープアライブ
*** Oracle Tuxedoリリース8.1以降で使用可能。

** DM_LOCALセクションの同じパラメータより優先されます。

*** Oracle Tuxedoリリース9.0以降で使用可能。

TA_KEEPALIVE * 数値 いいえ/NoGW 形式: -1 <= 2147483647ミリ秒(秒に丸められる)} ドメイン・アプリケーション・レベルのキープアライブ
TA_KEEPALIVEWAIT * 数値 いいえ/NoGW 形式: 0 <= 2147483647ミリ秒(秒に丸められる)} TA_KEEPALIVEに伴うパラメータ
*** Oracle Tuxedoリリース8.1以降で使用可能。

** DM_LOCALセクションの同じパラメータより優先されます。

*** Oracle Tuxedoリリース9.0以降で使用可能。

ローカル・ドメイン・アクセス・ポイント識別子(TA_LDOM)の場合、TA_NWADDRフィールドおよびTA_NWDEVICEフィールドは、そのローカル・ドメイン・アクセス・ポイントに関連付けられたゲートウェイ・グループが実行中でないときに更新できます。

DM_OSITPセクションの構成

DM_OSITPセクションには、OSITPタイプ・ドメインが必要とするOSI TP 1.3対応のネットワーク・アドレッシング・パラメータが含まれています。次の表に、このセクションのフィールドの一覧を示します。

表1-7 DM_OSITPセクション

フィールド識別子 更新 ノート
TA_LDOMまたはTA_RDOM 文字列 いいえ/NoGW キー:ローカルまたはリモート・ドメイン・アクセス・ポイント名
TA_APT 文字列 いいえ/NoGW -
TA_AEQ 文字列 いいえ/NoGW -
TA_AEQ 文字列 いいえ/NoGW -
TA_ACN 文字列 いいえ/NoGW -
TA_APID 文字列 いいえ/NoGW -
TA_AEID 文字列 いいえ/NoGW -
TA_PROFILE 文字列 いいえ/NoGW -

ローカル・ドメイン・アクセス・ポイント識別子(TA_LDOM)の場合、この表に記載されていないフィールドは、そのローカル・ドメイン・アクセス・ポイントに関連付けられたゲートウェイ・グループが実行中でないときに更新できます。

DM_OSITPXセクションの構成

DM_OSITPXセクションには、OSITPXタイプ・ドメインが必要とするOSI TP 4.0以降に対応するネットワーク・アドレッシング・パラメータが含まれています。次の表に、このセクションのフィールドの一覧を示します。

ノート:

DM_OSITPXセクションは、Oracle Tuxedoリリース8.0以降が動作していないと使用できません。

表1-8 DM_OSITPXセクション

フィールド識別子 更新 ノート
TA_LDOMまたはTA_RDOM 文字列 いいえ/NoGW キー:ローカルまたはリモート・ドメイン・アクセス・ポイント名
TA_AET 文字列 いいえ/NoGW -
TA_NWADDR 文字列 いいえ/NoGW -
TA_TSEL 文字列 いいえ/NoGW -
TA_DNSRESOLUTION 文字列 いいえ/NoGW -
TA_PSEL 文字列 いいえ/NoGW -
TA_SSEL 文字列 いいえ/NoGW -
TA_TAILORPATH 文字列 いいえ/NoGW -
TA_MINENCRYPTBITS 文字列 いいえ/NoGW -
TA_MAXENCRYPTBITS 文字列 いいえ/NoGW -
TA_MULTIPLEXING 文字列 いいえ/NoGW -
TA_XATMIENCODING 文字列 いいえ/NoGW -
TA_EXTENSIONS 文字列 いいえ/NoGW -
TA_OPTIONS 文字列 いいえ/NoGW -

ローカル・ドメイン・アクセス・ポイント識別子(TA_LDOM)の場合、この表に記載されていないフィールドは、そのローカル・ドメイン・アクセス・ポイントに関連付けられたゲートウェイ・グループが実行中でないときに更新できます。

DM_EXPORTセクションの構成

次の表に、DM_EXPORTセクション(DM_LOCAL_SERVICESセクション)のフィールドの一覧を示します。dmadmin操作プロンプトでこのセクションにアクセスするには、4 (LOCAL_SERVICES)を入力します。

表1-9 DM_EXPORTセクション

フィールド識別子 更新 ノート
TA_SERVICENAME 文字列 いいえ キー: エクスポートするローカル・サービスの名前(Oracle Tuxedo CORBA環境では、ローカルUBBCONFIGファイルで指定されているローカル・ドメインのドメイン名、serviceの形式は"//domain_name")
TA_LDOM 文字列 はい キー:ローカル・ドメイン・アクセス・ポイント名新しいDMCONFIG用語では、LDOMLACCESSPOINTです。
TA_ACLNAME 文字列 はい -
TA_CONV 文字列 NoGW 形式: {Y | N}
TA_RNAME 文字列 はい TDOMAINSNAXOSITP、およびOSITPXに適用可能
TA_BUFTYPE 文字列 はい SNAXOSITP、およびOSITPXに適用可能
TA_BUFSTYPE 文字列 はい SNAXOSITPおよびOSITPXに適用可能(BUFSTYPEの「S」は「サブタイプ」を表します)
TA_OBUFTYPE 文字列 はい SNAXOSITP、およびOSITPXに適用可能
TA_OBUFSTYPE 文字列 はい SNAXOSITPおよびOSITPXに適用可能(OBUFSTYPEの「S」は「サブタイプ」を表します)
TA_COUPLING 文字列 はい OSITPXにのみ適用可能
TA_INRECTYPE 文字列 はい OSITPXにのみ適用可能
TA_INRECSTYPE 文字列 はい OSITPXにのみ適用可能(INRECSTYPEの「S」は「サブタイプ」を表します)
TA_OUTRECTYPE 文字列 はい OSITPXにのみ適用可能
TA_OUTRECSTYPE 文字列 はい OSITPXにのみ適用可能(OUTRECSTYPEの「S」は「サブタイプ」を表します)

DM_IMPORTセクションの構成

次の表に、DM_IMPORTセクション(DM_REMOTE_SERVICESセクション)のフィールドの一覧を示します。dmadmin操作プロンプトでこのセクションにアクセスするには、5 (REMOTE_SERVICES)を入力します。

表1-10 DM_IMPORTセクション

フィールド識別子 更新 ノート
TA_SERVICENAME 文字列 いいえ キー: インポートするリモート・サービスの名前(Oracle Tuxedo CORBA環境では、リモートUBBCONFIGファイルで指定されているリモート・ドメインのドメイン名、serviceの形式は"//domain_name")
TA_RDOM 文字列 いいえ キー:リモート・ドメイン・アクセス・ポイント名新しいDMCONFIG用語では、RDOMRACCESSPOINTです。
TA_LDOM 文字列 いいえ キー:ローカル・ドメイン・アクセス・ポイント名新しいDMCONFIG用語では、LDOMLACCESSPOINTです。
TA_CONV 文字列 NoGW 形式: {Y | N}
TA_LOAD 数値 - -
TA_RNAME 文字列 - TDOMAINSNAXOSITP、およびOSITPXに適用可能
TA_ROUTINGNAME 文字列 - -
TA_BUFTYPE 文字列 - SNAXOSITP、およびOSITPXに適用可能
TA_BUFSTYPE 文字列 - SNAXOSITPおよびOSITPXに適用可能(BUFSTYPEの「S」は「サブタイプ」を表します)
TA_OBUFTYPE 文字列 - SNAXOSITP、およびOSITPXに適用可能
TA_OBUFSTYPE 文字列 はい SNAXOSITPおよびOSITPXに適用可能(OBUFSTYPEの「S」は「サブタイプ」を表します)
TA_AUTOPREPARE 文字列 はい OSITPXにのみ適用可能
TA_INRECTYPE 文字列 はい OSITPXにのみ適用可能
TA_INRECSTYPE 文字列 はい OSITPXにのみ適用可能(INRECSTYPEの「S」は「サブタイプ」を表します)
TA_OUTRECTYPE 文字列 はい OSITPXにのみ適用可能
TA_OUTRECSTYPE 文字列 はい OSITPXにのみ適用可能(OUTRECSTYPEの「S」は「サブタイプ」を表します)
TA_TPSUTTYPE 文字列 はい OSITPXにのみ適用可能
TA_REMTPSUT 文字列 はい OSITPXにのみ適用可能

DM_EVT_INセクションの構成

次の表に、DM_EVT_INセクションのフィールドの一覧を示します。

表1-11 DM_EVT_INセクション

フィールド識別子 更新 ノート
TA_EVTNAME 文字列 いいえ キー: 受信するローカル・イベントの名前
TA_LDOM 文字列 はい キー: ローカル・ドメイン・アクセス・ポイントの名前
TA_ACLNAME 文字列 はい N/A
TA_EVT_EXPR 文字列 はい N/A
TA_EVT_FILTER 文字列 はい N/A
TA_REVTNAME 文字列 はい N/A

ノート:

すべてのFIELDS定義は、$TUXDIR/udataobj/dmadminおよび$TUXDIR/udataobj/dmadmin32内で定義されています。

DM_EVT_OUTセクションの構成

次の表に、DM_EVT_OUTセクションのフィールドの一覧を示します。

表1-12 DM_EVT_OUTセクション

フィールド識別子 更新 ノート
TA_EVTNAME 文字列 いいえ キー: 送信するリモート・イベントの名前
TA_LDOM 文字列 いいえ キー: ローカル・ドメイン・アクセス・ポイントの名前
TA_RDOM 文字列 いいえ キー: リモート・ドメイン・アクセス・ポイントの名前
TA_PRIO Short はい N/A
TA_EVT_TRAN 文字列 はい N/A
TA_EVT_EXPR 文字列 はい N/A
TA_EVT_FILTER 文字列 はい N/A
TA_REVTNAME 文字列 はい N/A

ノート:

すべてのFIELDS定義は、$TUXDIR/udataobj/dmadminおよび$TUXDIR/udataobj/dmadmin32内で定義されています。

DM_ROUTINGセクションの構成

次の表に、DM_ROUTINGセクションのフィールドの一覧を示します。

表1-13 DM_ROUTINGセクション

フィールド識別子 更新 ノート
TA_ROUTINGNAME 文字列 いいえ キー: ルーティング基準表の名前
TA_FIELD 文字列 はい -
TA_RANGE 文字列 はい -
TA_BUFTYPE 文字列 はい -

DM_ACCESS_CONTROLセクションの構成

次の表に、DM_ACCESS_CONTROLセクションのフィールドの一覧を示します。

表1-14 DM_ACCESS_CONTROLセクション

フィールド識別子 更新 ノート
TA_ACLNAME 文字列 いいえ キー:アクセス制御リストの名前
TA_RDOM 文字列 はい キー:リモート・ドメイン・アクセス・ポイント名

DM_PASSWORDSセクションの構成

次の表に、DM_PASSWORDSセクションのフィールドの一覧を示します。このセクションは、TDomainゲートウェイにのみ適用されます。

表1-15 DM_PASSWORDSセクション

フィールド識別子 更新 ノート
TA_LDOM 文字列 いいえ キー:ローカル・ドメイン・アクセス・ポイント名
TA_RDOM 文字列 いいえ キー:リモート・ドメイン・アクセス・ポイント名
TA_LPWD 文字列 はい 形式: {Y | N | U}
TA_RPWD 文字列 はい 形式: {Y | N | U}

TA_LPWDおよびTA_RPWDは、ローカル・ドメイン・アクセス・ポイントまたはリモート・ドメイン・アクセス・ポイント(あるいはその両方)について定義済のパスワードがあるかどうかを示します。パスワードは表示されません。UPDATE操作を選択した場合は、対応するフィールドの値をUに設定する必要があります。この場合、エコーがオフになり、対応するパスワードの入力を求めるプロンプトが表示されます。

構成モードでの診断

dmadminは、FML型付きバッファを割当てできない場合、ユーザーの/etc/passwdエントリを判別できない場合、または環境変数FIELDTBLSまたはFLDTBLDIRを再設定できない場合に失敗します。

各操作の完了後、dmadminによって表示される戻り値は、リクエストされた操作のステータスを示します。戻り値には3つのクラスがあります。

次の戻り値は、権限に関する問題またはOracle Tuxedoの通信エラーを示しています。戻り値は、操作が正常に完了しなかったことを示しています。

[TAEPERM]
呼出し側プロセスでADDUPDATEまたはDELETEのいずれかの操作が指定されましたが、Oracle Tuxedo管理者として実行されていません。更新操作は管理者(つまり、TUXCONFIGファイルのRESOURCESセクションのUID属性で指定されたユーザー)が実行する必要があります。
[TAESYSTEM]
Oracle Tuxedoエラーが発生しました。エラーの正確な性質はuserlog(3c)に書き込まれます。
[TAEOS]
オペレーティング・システムのエラーが発生しました。
[TAETIME]
ブロッキング・タイムアウトが発生しました。入力バッファは更新されなかったので、検索操作に使用される情報は何も戻されませんでした。更新操作のステータスは、更新されたレコードで取出しを行うことでチェックできます。

以下の戻り値は、処理そのものの実行に問題があることを示します。通常は、入力バッファ内のアプリケーション・データに関するセマンティクスの問題です。文字列フィールドTA_STATUSが出力バッファに設定されます。このフィールドは、問題を説明する短いテキストを含みます。文字列フィールドTA_BADFLDNAMEに、問題を引き起こした値が含まれるフィールドの名前が設定されます(エラーが1つのフィールドに関係している場合)。

[TAECONFIG]
BDMCONFIGファイルの読取り中にエラーが発生しました。
[TAEDUPLICATE]
重複するレコードを追加しようとしました。
[TAEINCONSIS]
1つまたは一連のフィールド値の指定が矛盾しています。
[TAENOTFOUND]
操作対象として指定されたレコードが見つかりませんでした。
[TAENOSPACE]
更新を行う操作が試行されましたが、BDMCONFIGファイル内に十分なスペースがありませんでした。
[TAERANGE]
フィールド値が範囲外であるか、無効です。
[TAEREQUIRED]
フィールド値が必要ですが、設定されていません。
[TAESIZE]
文字列フィールドのフィールド値が長すぎます。
[TAEUPDATE]
実行できない更新を試行しました。

次の戻り値は、操作が成功したことを示します。

[TAOK]
操作が成功しました。BDMCONFIGファイルに対する更新は行われていません。
[TAUPDATED]
操作が成功しました。BDMCONFIGファイルに対する更新が行われました。

dmunloadcfを使用して構成のエントリを表示するとき、オプションのフィールド値は、値が設定されていない(文字列の場合)か0 (整数の場合)の場合には表示されません。これらのフィールドは、dmadminを使用するときに、出力バッファ内に常に表示されます。この方法で、管理者がエントリを取り出しやすくし、また以前に設定されていないフィールドを更新しやすくします。エントリには、フィールド名が含まれ、タブが後に続きますが、フィールド値はありません。

構成の例

次の例では、dmadminを使用して新しいリモート・ドメイン・アクセス・ポイントを追加します。ed(1)がエディタとして使用されます。

$ EDITOR=ed dmadmin
> config
Sections:
         1) RESOURCES           2) LOCAL_DOMAINS
         3) REMOTE_DOMAINS      4) LOCAL_SERVICES
         5) REMOTE_SERVICES     6) ROUTING
         7) ACCESS_CONTROL      8) PASSWORDS
         9) TDOMAINS            10) OSITPS
         11) SNADOMS            12) LOCAL_REMOTE_USER
         13) REMOTE_USERS       14) SNACRMS
         15) SNASTACKS          16) SNALINKS
         19) OSITPX
         q) QUIT
Enter Section [1]:
Enter Section [1]: 2
Operations:
         1) FIRST           2) NEXT
         3) RETRIEVE        4) ADD
         5) UPDATE          6) DELETE
         7) NEW_SECTION     8) QUIT
Enter Operation [1]: 4
Enter editor to add/modify fields [n]? y
a
TA_RDOM         B05
TA_DOMAINID     BA.BANK05
TA_TYPE         TDOMAIN
.
w
53
q
Perform operation [y]? <return>
Return value TAUPDATED
Buffer contents:
TA_OPERATION           4
TA_SECTION             2
TA_DOMAINID            BA.BANK05
TA_RDOM B05
TA_TYPE TDOMAIN
TA_STATUS              Update completed successfully
Operations:
         1) FIRST           2) NEXT
         3) RETRIEVE        4) ADD
         5) UPDATE          6) DELETE
         7) NEW_SECTION     8) QUIT
Enter Operation [4]: 7
Section:
         1) RESOURCES           2) LOCAL_DOMAINS
         3) REMOTE_DOMAINS      4) LOCAL_SERVICES
         5) REMOTE_SERVICES     6) ROUTING
         7) ACCESS_CONTROL      8) PASSWORDS
         9) TDOMAINS            10) OSITPS
         11) SNADOMS            12) LOCAL_REMOTE_USER
         13) REMOTE_USERS       14) SNACRMS
         15) SNASTACKS          16) SNALINKS
         19) OSITPX
         q) QUIT
Enter Section [1]: 9
Operations:
         1) FIRST 2) NEXT
         3) RETRIEVE 4) ADD
         5) UPDATE 6) DELETE
         7) NEW_SECTION 8) QUIT
Enter Operation [6]: 4
Enter editor to add/modify fields [n]? y
a
TA_RDOM        B05
TA_NWADDR      0x00020401c0066d05
TA_NWDEVICE    /dev/tcp
.
w
55
q
Perform operation [y]? <return>
Return value TAUPDATED
Buffer contents:
TA_OPERATION         4
TA_SECTION           8
TA_RDOM              B05
TA_NWADDR            0x00020401c0066d05
TA_NWDEVICE          /dev/tcp
TA_STATUS            Update completed successfully
Operations:
         1) FIRST               2) NEXT
         3) RETRIEVE            4) ADD
         5) UPDATE              6) DELETE
         7) NEW_SECTION         8) QUIT
Enter Operation [4]: 8
> quit

dmadminプログラムが終了します。

セキュリティ

dmadminがアプリケーション管理者のUIDを使用して実行された場合、信頼性のあるユーザーであると想定され、セキュリティはバイパスされます。dmadminが別のユーザーIDで実行された場合、およびセキュリティ・オプションがTUXCONFIGファイル内で使用可能になっている場合は、dmadminプログラムを開始するための対応するアプリケーション・パスワードが必要です。標準入力が端末である場合、dmadminはエコーをオフの状態でユーザーにパスワードの入力を求めます。標準入力が端末でない場合は、パスワードは環境変数APP_PWから取り出されます。この環境変数が指定されていないときに、アプリケーション・パスワードが必要な場合は、dmadminを開始できません。

別のユーザーID (管理者のUID以外)で実行中の場合、制限されたセットのコマンドしか使用できません。

環境変数

dmadminは環境変数FIELDTBLSおよびFLDTBLDIRを再設定して、${TUXDIR}/udataobj/dmadminフィールド表をピックアップします。このため、TUXDIR環境変数は適切に設定する必要があります。

アプリケーションでセキュリティが必要なときに、dmadminへの標準入力が端末からではない場合、APP_PW環境変数は対応するアプリケーション・パスワードに設定する必要があります。

TUXCONFIG環境変数は、Oracle Tuxedo構成ファイルのパス名に設定する必要があります。

全般的な診断

dmadminコマンドをシステムがブートする前に入力すると、次のメッセージが表示されます。

BBL and DMADM need to be booted before running dmadmin. Exiting...  

次にdmadminは、対応するコマンドを求めるプロンプトを表示します。

間違ったアプリケーション・パスワードが入力された場合、または環境を通してシェル・スクリプトで利用できない場合は、ログ・メッセージが生成され、次のメッセージが表示されてコマンドが終了します: Invalid password entered.

相互運用性

dmadminは、Oracle Tuxedoリリース5.0以降にインストールする必要があります。リリース5.0のゲートウェイが存在するドメイン内の他のマシンの場合は、Oracle Tuxedoリリース4.1以降でもかまいません。

移植性

dmadmin管理ツールは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで使用できます。

関連項目:

dmloadcf(1)

名前

dmloadcf - DMCONFIGファイルを解析し、バイナリのBDMCONFIG構成ファイルをロードします。

形式

dmloadcf [-c] [-n] [-y] [-b blocks] {DMCONFIG_file| - }

説明

dmloadcfは、ファイルまたはDMCONFIG構文による標準入力を読み取り、構文をチェックして、オプションでバイナリのBDMCONFIG構成ファイルをロードします。BDMCONFIG環境変数は、情報の格納先となるBDMCONFIGファイルのパス名を指しています。

dmloadcfは、DMCONFIGファイルの必要なセクションがないことを検出すると、エラー・メッセージを出力します。入力ファイルを構文解析しているときに構文エラーを検出すると、dmloadcfBDMCONFIGファイルを更新せずに終了します。

dmloadcfを使用する場合は、$TUXDIR/udataobj/DMTYPEファイルが存在している必要があります。このファイルは有効なドメイン・タイプを定義します。このファイルが存在しないと、dmloadcfBDMCONFIGファイルを更新せずに終了します。

dmloadcfを使用するユーザーの実効ユーザー識別子は、TUXCONFIGファイルのRESOURCESセクションのUIDと一致していなければなりません。

dmloadcfにオプション-cを付けると、プログラムはこの構成に含まれるローカル・ドメイン(ゲートウェイ・グループ)ごとに必要とされる最小限のIPCリソースを表示します。BDMCONFIGファイルは更新されません。

dmloadcf-nオプションを付けると、プログラムはテキスト形式のDMCONFIGファイルの構文チェックだけを行い、BDMCONFIGファイルの更新は行いません。

構文チェックの後、dmloadcfは、環境変数BDMCONFIGが参照するファイルが存在するかどうか、存在する場合はそのファイルが有効なOracle Tuxedoファイルであるかどうか、およびBDMCONFIG表を含んでいるかどうかを調べます。これらの条件が真でなかった場合、そのユーザーにはファイルを作成して初期化するよう、次のような指示が出されます。

Initialize BDMCONFIG file:  path  [y,q]? 

pathは、BDMCONFIGファイルの完全なファイル名です。標準入力および標準出力が端末に送られない場合、またはコマンド行で-yオプションが指定されている場合は、このプロンプトは表示されません。このプロンプトに対して「y」または「Y」以外で答えると、dmloadcfはバイナリの構成ファイルを作成せずに終了します。

BDMCONFIGファイルが正しく初期化されない場合、BDMCONFIGファイルを初期化しますかというプロンプトの後でユーザーがyを入力すると、dmloadcfはOracle Tuxedoファイル・システムを作成し、BDMCONFIG表を作成します。-bオプションがコマンド行に指定されると、その引数により、Oracle Tuxedoファイル・システムの作成時にデバイスのブロック数が定義されます。-bオプションの値が新しいBDMCONFIG表を収容できるほど大きい場合、dmloadcfは、指定された値を使用して新しいファイル・システムを作成します。それ以外の場合、dmloadcfはエラー・メッセージを出力して終了します。-bオプションが指定されない場合、dmloadcfは、BDMCONFIG表を保持するのに十分な大きさの新しいファイル・システムを作成します。ファイル・システムがすでに存在している場合、-bオプションは無視されます。BDMCONFIGがrawデバイス(初期化されていないデバイス)の場合は、-bオプションを強く推奨します。その場合、rawデバイスのブロック数を設定するために-bを使用する必要があります。BDMCONFIGが通常のUNIXファイルである場合には、-bオプションは使用しないようにしてください。

BDMCONFIGファイルがすでに初期化されていることがわかると、dmloadcfは、BDMCONFIGファイルで記述されているローカル・ドメインが動作していないことを確認します。ローカル・ドメインが動作している場合は、dmloadcfがエラー・メッセージをプリントして終了します。そうでない場合、dmloadcfは、ファイルを上書きするかどうかを確認するため、次のプロンプトを表示します:

“Really overwrite BDMCONFIG file [y, q]?”

標準入力または標準出力が端末でない場合、または-yオプションをコマンド行で指定した場合、このプロンプトは表示されません。このプロンプトに対して「y」または「Y」以外で答えると、dmloadcfはファイルを上書きせずに終了します。

TUXCONFIGファイルのRESOURCESセクションにSECURITYパラメータが指定されている場合、dmloadcfは標準入力をフラッシュし、端末エコーをオフにして、ユーザーに次のようにアプリケーション・パスワードの入力を求めます: Enter Application Password?パスワードは、30文字以内の長さで入力できます。ファイルではなく標準入力を介してテキスト形式のDMCONFIGファイルをロードするオプションは、このSECURITYパラメータがオンのときには使用できません。標準入力が端末でない場合、つまり、ユーザーにパスワードの入力を求めることができない場合(たとえば、hereファイルの場合)、アプリケーション・パスワードの設定のために環境変数APP_PWが参照されます。APP_PW環境変数が設定されておらず、標準入力が端末でない場合には、dmloadcfはエラー・メッセージを出し、ログ・メッセージを生成して、BDMCONFIGファイルのロードに失敗します。

エラーが発生せず、チェックの結果がすべて条件を満たしていると、dmloadcfDMCONFIGファイルをBDMCONFIGファイルにロードします。BDMCONFIG表内に存在するすべての情報は上書きされます。

Domains関連の新しい用語

Oracle Tuxedoのリリース7.1以降では、Domains用のMIBで、ローカル・ドメインとリモート・ドメインとの相互作用を記述するため、クラスと属性の用語が改善されています。新しい用語は、DM_MIBのリファレンス・ページ、クラスおよびエラー・メッセージや、DMCONFIGのリファレンス・ページ、セクション名、パラメータ名およびエラー・メッセージで使用されています。詳細は、「DM_MIB(5)」リファレンス・ページの「Domains関連の新しい用語」を参照してください。

後方互換性のため、Oracle Tuxedo 7.1より前に使用されていたDMCONFIG用語とDomains用のMIBの新しい用語との間で別名が提供されています。Oracle Tuxedo 7.1以降では、dmloadcfは両方のDMCONFIG用語を使用できます。dmunloadcfは、デフォルトで新しいドメイン関連の用語を使用するDMCONFIGファイルを生成します。以前のドメイン関連の用語を使用するDMCONFIGファイルを生成するには、dmunloadcf-cオプションを使用します。

移植性

dmloadcf管理ツールは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで使用できます。

環境変数

BDMCONFIG環境変数は、BDMCONFIGファイルを指している必要があります。

次の例は、バイナリ構成ファイルをbank.dmconfigテキスト・ファイルからロードする方法を示しています。ブロック数が2000のBDMCONFIGデバイスが作成(または初期化)されます。

dmloadcf -b 2000 bank.dmconfig

診断

入力にエラーが検出されると、エラーの原因となった行が、問題を指摘するメッセージとともに、標準エラーにプリントされます。DMCONFIGファイルに構文エラーが見つかったり、システムが稼働中の場合は、BDMCONFIGファイルの情報は更新されず、dmloadcfは終了コード1で終了します。

dmloadcfをアクティブなノード上で実行すると、次のエラー・メッセージが表示されます。

*** dmloadcf cannot run on an active node ***

dmloadcfを実行するユーザーの実効ユーザー識別子が、TUXCONFIGファイルで指定されたUIDと一致しない場合は、次のエラー・メッセージが表示されます。

*** UID is not effective user ID ***

dmloadcfが正しく完了すると、終了コード0で終了します。BDMCONFIGファイルが更新されると、このイベントを記録するためのuserlogメッセージが生成されます。

関連項目:

dmunloadcf(1)

名前

dmunloadcf - バイナリのBDMCONFIG Domains構成ファイルをアンロードします。

形式

dmunloadcf [-c]

説明

dmunloadcfは、BDMCONFIG構成ファイルをバイナリ表現からテキストに変換します。この変換処理は、バイト・オーダーが異なるマシン間でファイルを簡潔に移送したり、ファイルのバックアップ・コピーを簡潔に作成して信頼性を高める場合に役立ちます。テキスト形式は、「DMCONFIG(5)」で説明した内容と同じです。

dmunloadcfは、BDMCONFIG環境変数が参照するBDMCONFIGファイルから値を読み取り、その値を標準出力に書き込みます。

Oracle Tuxedoリリース7.1以降では、dmunloadcfは、デフォルトで新しいドメイン関連の用語を使用するDMCONFIGファイルを生成します。詳細は、次の「Domains関連の新しい用語」を参照してください。以前のドメイン関連の用語を使用するDMCONFIGファイルを生成するには、-cオプションを使用します。

Domains関連の新しい用語

Oracle Tuxedoのリリース7.1以降では、Domains用のMIBで、ローカル・ドメインとリモート・ドメインとの相互作用を記述するため、クラスと属性の用語が改善されています。新しい用語は、DM_MIBのリファレンス・ページ、クラスおよびエラー・メッセージや、DMCONFIGのリファレンス・ページ、セクション名、パラメータ名およびエラー・メッセージで使用されています。詳細は、「DM_MIB(5)」リファレンス・ページの「Domains関連の新しい用語」を参照してください。

旧バージョンとの互換性のため、Oracle Tuxedo 7.1より前に使用されたDMCONFIG用語と、新しいDomains用のMIB用語との間に別名が提供されています。Oracle Tuxedo 7.1以降では、dmloadcfは両方のDMCONFIG用語を使用できます。dmunloadcfは、デフォルトで新しいドメイン関連の用語を使用するDMCONFIGファイルを生成します。以前のドメイン関連の用語を使用するDMCONFIGファイルを生成するには、dmunloadcf-cオプションを使用します。

移植性

dmunloadcfコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。

/usr/tuxedo/BDMCONFIGの構成をbdmconfig.backupファイルにアンロードするには:

BDMCONFIG=/usr/tuxedo/BDMCONFIG dmunloadcf >bdmconfig.backup
          

診断

dmunloadcfは、BDMCONFIG環境変数によって参照されるファイルが存在していること、そのファイルがOracle Tuxedoシステムの有効なファイル・システムであること、そしてそのファイルにBDMCONFIG表が含まれていることを確認します。これらの条件が1つでも満たされないと、dmunloadcfはエラー・メッセージをプリントして、エラー・コード1で終了します。dmunloadcfが正しく完了すると、終了コード0で終了します。

関連項目:

  • dmloadcf(1)DMCONFIG(5)
  • Oracle Tuxedo Domainsコンポーネントの使用
  • 『ATMIアプリケーションでのOracle Tuxedo TOP END Domain Gatewayの使用』

gencat(1)

名前

gencat - フォーマットされたメッセージ・カタログを生成します。

形式

gencat [-m] catfile msgfile . . .

説明

gencatユーティリティは、メッセージ・テキスト・ソース・ファイルmsgfileをフォーマットされたメッセージ・データベースcatfileにマージします。このデータベースがなければ、データベースcatfileが作成されます。catfileが存在する場合、そのメッセージが新しいcatfileに組み込まれます。セット番号とメッセージ番号が矛盾する場合には、msgfileに定義されている新しいメッセージ・テキストがcatfileに現在格納されている古いメッセージ・テキストと置き換わります。gencatに入力されるメッセージ・テキストのソース・ファイル(またはソース・ファイル・セット)には、セット番号とメッセージ番号を含めることも、メッセージ番号のみを含めることもできます。この場合、セットNL_SETD (「nl_types(5)」を参照)が想定されます。

メッセージ・テキストのソース・ファイルの形式は、次のように定義されています。

ノート:

メッセージ・テキストのソース行のフィールドは1つのASCIIの空白またはタブ文字で区切ります。その他のASCIIの空白やタブは、次のフィールドの一部とみなされます。
$set n comment
nは、$set$delsetまたはファイルの終わりが現れるまで、次のメッセージのセット識別子を指定します。nは、一定の範囲内(1-{NL_SETMAX})の数である必要があります。単一のソース・ファイル内のセット識別子は、連続している必要はありません。セット識別子に続く文字列はすべてコメントとして扱われます。$setディレクティブがメッセージ・テキスト・ソース・ファイルに指定されない場合、すべてのメッセージはデフォルトのメッセージ・セットに含まれます。NL_SETD
$delset n comment
既存のメッセージ・カタログからメッセージ・セットnを削除します。セット番号に続く文字列はすべて、注釈として扱われます。(ノート: nが有効なセットでない場合は無視されます。)
$ comment
ドル記号($)に続いてASCIIの空白またはタブ文字がある行は、注釈として扱われます。
m message_text
mはメッセージ識別子で、これは範囲(1-{NL_MSGMAX})内の番号です。このメッセージ・テキストの構文と、「ノート」で説明する-mコマンド行オプションの構文とを混同しないようにしてください。メッセージ・テキストは、セット識別子が最後の$setディレクティブによって指定され、かつメッセージ識別子がmである状態でメッセージ・カタログに格納されます。メッセージ・テキストが空で、ASCIIの空白またはタブ・フィールド区切り文字があると、空の文字列がメッセージ・カタログに格納されます。メッセージ・ソース行にメッセージ番号があっても、フィールド区切り文字もメッセージ・テキストもない場合は、その番号を持つメッセージ(ある場合)がカタログから削除されます。メッセージ識別子は必ずしも連続している必要はありません。メッセージ・テキストの長さは、範囲(0-{NL_TEXTMAX})内とします。
$quote c
この行は任意の引用符文字cを指定します。この文字は、後続のスペースやnull (空)メッセージをメッセージ・ソース行で見分けやすいようにメッセージ・テキストを囲むときに使用できます。デフォルトでは、あるいは空の$quoteディレクティブが指定された場合は、メッセージ・テキストの引用は認識されません。メッセージ・テキスト・ソース・ファイルの空の行は無視されます。テキスト文字列は、次の表に定義する特殊な文字とエスケープ・シーケンスを含むことができます。
説明 記号 エスケープ・シーケンス
改行 NL(LF) \n
水平タブ HT \t
垂直タブ VT \v
バックスペース BS \b
キャリッジ・リターン CR \r
改ページ FF \f
円マーク \ \\
ビット・パターン ddd \ddd

エスケープ・シーケンス\dddは、円マークとそれに続く1、2または3桁の8進数からなり、目的の文字の値を指定します。円マークに続く文字が指定されたものの1つでない場合には、円マークは無視されます。

円マークの次にASCIIの改行文字を使用して、文字列を次の行に継続させることもできます。たとえば、次の2行は1つのメッセージ文字列を表しています。

1 This line continues \ 
to the next line

上記のメッセージは下のメッセージと同じです。

1 This line continues to the next line

移植性

gencatは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。

注意事項

このバージョンのgencatで生成されるカタログは、mallocされた領域に実行時に読み込まれます。gencatの一部のバージョンで使用できる共有カタログは使用できません。システムによっては、mallocされるカタログの生成には-mオプションを指定する必要があります。このオプションはコマンド行に指定できますが、効果はありません。mallocされるカタログはデフォルトです。-mオプションは互換性を維持するためだけにサポートされます。

このコマンドで生成されるカタログ・ファイルのサイズは64Kまでに限定されています。それ以上のサイズになるような場合には、このコマンドからエラーが報告され、カタログ・ファイルは生成されません。

関連項目:

genicf(1)

名前

genicf - 実装構成ファイル(ICF)を生成します。

形式

genicf [options] idl-filename...

説明

idl-filename(s)が指定されると、ICFファイルが生成されます。このファイルによって、コード生成プロセスと、実装のポリシーや、実装と実装するインタフェースとの関係に関する追加情報が提供されます。ICFファイルがidlコマンドの入力として提供されると、idlコマンドは、ICFファイルに指定された実装/インタフェースのペアに対してサーバー・コードを生成します。

生成されるICFファイルのファイル名は、コマンドラインで指定する最初のidl-filenameと同じですが、拡張子は.icfになります。

idl-filename(s)ファイルで間違ったOMG IDL構文を指定すると、それに応じたエラーが返されます。

オプション

-D identifier=[definition]
C++プリプロセッサ・ディレクティブの#defineと同じ働きをします。つまり、-Dオプションは、定義ファイル内にある特定の識別子のかわりに使用するトークン文字列またはマクロを定義します。definitionが指定されていない場合、identifierは1に定義されます。複数の-Dオプションを指定できます。-Dオプションとidentifierの間の空白は省略できます。
-I pathname
OMG IDLプリプロセッサ・ディレクティブ#includeで指定するディレクトリのほか、インクルード・ファイルを検索するディレクトリを指定します。複数のディレクトリを指定する場合は、複数の-Iオプションを指定します。
OMG IDLプリプロセッサ・ディレクティブ#includeには、システム(<a.idl>など)とユーザー("a.idl"など)の2種類があります。UNIXシステムでは、システムの#includeディレクトリのパスは、/usr/includeと、-Iオプションで指定されるすべてのディレクトリです。ユーザー・ディレクティブ#includeのパスは、#includeディレクティブを含むファイルの場所と、その後に続く、システム#includeディレクティブに指定されたパスで構成されます。Windows 2003システムでは、システムの#includeディレクトリとユーザー・ディレクティブ#includeの区別はありません。
-hおよび-?
genicfコマンドの使用方法に関するヘルプを提供します。それ以外に行われるアクションはありません。

このコマンドは、emp.icfファイルを作成します:
genicf emp.idl

関連項目:

idl(1)

名前

idl - Object Management Group (OMG)インタフェース定義語(IDL)ファイルをコンパイルし、インタフェースに必要なファイルを生成します。

形式

idl [-i] [-D identifier [=value]] [-Ipathname][-h] [-P] [-T] 
idl-filename... [icf-filename...] 

説明

提供されているidl-filename()ファイルおよびオプションのicf-filename()ファイルを指定すると、idlコマンドは次のファイルを生成します:

idl-filename _c.cpp
クライアント・スタブ。ユーザー定義のデータ型の関数が埋め込まれます。
idl-filename _c.h
インタフェースのクラス定義。
idl-filename _s.cpp
POA_skeletonクラスの実装を含むサーバー・スケルトン。
idl-filename _s.h
POA_skeletonクラス定義。
idl-filename _i.cpp
実装の例。このファイルは、-iオプションが指定されている場合にのみ生成されます。
idl-filename _i.h
POA_skeletonクラスから継承される、実装の例のクラス定義。このファイルは、-iオプションが指定されている場合にのみ生成されます。

ノート:

ICFファイルが指定されている場合は、そのICFファイル内の情報を基に、デフォルト値をオーバーライドするインタフェース/実装に関する情報がコード・ジェネレータに渡されます。通常、実装のアクティブ化ポリシーおよびトランザクション・ポリシーはICFファイルに指定されます。ICFファイルが指定されていない場合は、OMG IDLファイルで指定されるすべてのインタフェースに対してデフォルトのポリシーが有効になり、すべてのインタフェースに対してスケルトン・コードが生成されます。icf-filenameidlコマンドへの入力として指定すると、icf-filenameに指定された実装/インタフェースのペアのみが、サーバーの一部として生成されます。

IDLコンパイラは、生成するクライアント・スタブの情報をfilename_c.cppファイルおよびfilename_c.hファイルに格納します。生成されたサーバー・スケルトンの情報は、filename_s.cppファイルおよびfilename_s.hファイルに格納されます。

IDLコンパイラは、すでに生成されているクライアント・スタブ・ファイル(filename_c.cppおよびfilename_c.h)や、すでに生成されているサーバー・スケルトン・ファイル(filename_s.cppおよびfilename_s.h)を上書きします。以前のバージョンのファイルはすべて破棄されます。

-iオプションを使用すると、IDLコンパイラはサンプルの実装クラス定義ファイル(filename_i.h)を上書きします。以前のバージョンのファイルは破棄されます。サンプル実装ファイル(filename_i.cpp)も上書きされますが、コード保護ブロック内のコードは上書きされず、新しく生成されるファイルに復元されます。データが失われるのを避けるために、サンプル実装ファイル(filename_i.hおよびfilename_i.cpp)を再生成する場合は、あらかじめそれらのファイルを安全な場所にコピーしておくことをお薦めします。

不明なオプションがこのコマンドに渡されると、そのオプションおよび使用方法を通知するメッセージがユーザーに表示され、コンパイルは実行されません。

パラメータ

idl filename
OMG IDL文を含む1つまたは複数のファイルの名前。

オプション

-D identifier[=definition]
C++プリプロセッサ・ディレクティブの#defineと同じ働きをします。つまり、-Dオプションは、定義ファイル内にある特定の識別子のかわりに使用するトークン文字列またはマクロを定義します。definitionが指定されていない場合、identifierは次のように定義されます
  1. 複数の-Dオプションを指定できます。-Dオプションと名前の間の空白は省略できます。
-I pathname
OMG IDLプリプロセッサ・ディレクティブ#includeで指定するディレクトリのほか、インクルード・ファイルを検索するディレクトリを指定します。複数のディレクトリを指定する場合は、複数の-Iオプションを指定します。
OMG IDLプリプロセッサ・ディレクティブ#includeで指定するディレクトリのほか、インクルード・ファイルを検索するディレクトリを指定します。複数のディレクトリを指定する場合は、複数の-Iオプションを指定します。
OMG IDLプリプロセッサ・ディレクティブ#includeには、システム(<a.idl>など)とユーザー("a.idl"など)の2種類があります。システム・ディレクティブ#includeのパスは、システム・インクルード・ディレクトリおよび-Iオプションで指定されるディレクトリで構成されます。ユーザー・ディレクティブ#includeのパスは、#includeディレクティブを含むファイルの場所と、その後に続く、システム・ディレクティブ#includeに指定されたパスで構成されます。
デフォルトでは、#includeディレクティブで取り込むファイル内のテキストは、クライアント・コードおよびサーバー・コードには取り込まれません。
-i
idl-filename_i.cppファイルを生成します。これらのファイルには、OMG IDLファイルで指定されたインタフェースを実装する実装用のサンプル・テンプレートが入っています。

ノート:

idlコマンドに-iオプションを使用して実装ファイルを更新する手順は以下のとおりです。
  1. 実装ファイルをバックアップします。
  2. Oracle ObjectBrokerからOracle Tuxedoに移行する場合は、生成されている実装ファイルでコード保護ブロックのデリミタの"OBB_PRESERVE_BEGIN"および"OBB_PRESERVE_END""M3_PRESERVE_BEGIN"および"M3_PRESERVE_END"に変更します。
  3. インクルード・ファイルをメソッド実装ファイル(*_i.cpp)に追加した場合は、そのファイルを編集して、取り込んだ要素をINCLUDES保護ブロック内に移動します。
  4. idlコマンドで-iオプションを使用して、編集した実装ファイルを再生成します。
  5. 再生成する前の実装定義ファイル(*_i.h)に修正を加えていた場合は、新しく生成された定義ファイルにその修正箇所を反映させます。修正箇所はコード保護ブロック内に配置します。これにより、以降更新を行ってもその修正箇所は自動的に保護されるようになります。実装のコンストラクタ関数およびデストラクタ関数に特に注意してください。関数シグネチャがOracle Tuxedoリリース7.1で変更されました。
  6. メソッド実装ファイル(*_i.cpp)の保護ブロックの外側に、または実装のコンストラクタ関数またはデストラクタ関数に修正を加えていた場合は、新しく生成されたファイルを編集して、その修正箇所を反映させます。修正箇所は保護ブロック内に配置します。これにより、以降更新を行ってもその修正箇所は自動的に保護されるようになります。
-P
TPフレームワークのかわりにPOAを使用するサーバー・コードを生成します。このオプションを指定すると、スケルトン・クラスはTPフレームワークのTobj_ServantBaseクラスからは継承しませんが、直接PortableServer::ServantBaseクラスから継承します。デフォルトでは、スケルトン・クラスはTPフレームワークを使用します。そのため、これらのサーバーはTPフレームワークを使用しないので、共同クライアント/サーバーを開発している場合はこのスイッチを使用する必要があります。
サーバーントの継承ツリーにTobj_ServantBaseクラスがないということは、そのサーバーントにactivate_objectメソッドとdeactivate_objectメソッドがないことを意味します。CORBAサーバーでは、これらのメソッドはTPフレームワークによって呼び出され、サーバーントに対してあるメソッドを呼び出す前に、そのサーバーントの状態を動的に初期化して保存します。CORBA共同クライアント/サーバーの場合、ユーザー作成コードで明示的にサーバーントを作成し、サーバーントの状態を初期化する必要があります。したがって、Tobj_ServantBaseの操作は必要ありません。-Pオプションを使用すると、TP Frameworkが使用できないため、ICFファイルは使用されません。
-T
tieベースのサーバーント・コードを生成します。これにより、C++実装クラスのインスタンスをサーバーントに結び付ける委任機能を使用できます。このオプションを使用すると、継承によるスケルトンに関係しないクラスでCORBAオブジェクト操作を実装できます。デフォルトでは、このオプションはオフに設定されます。
-hまたは-?
idlコマンドの使用方法に関するヘルプを提供します。それ以外に行われるアクションはありません。

idl emp.idl
idl emp.idl emp.icf

関連項目:

idl2ir(1)

名前

idl2ir - インタフェース・リポジトリを作成し、インタフェース定義をそれにロードします。

形式

idl2ir [options] definition-filename-list

オプション

使用できるオプションは次のとおりです。

[-f repository-name] [-c]
[-D identifier[=definition]]
[-I pathname[-I pathname] [...]] [-N{i|e}]

説明

このコマンドを使用すると、インタフェース・リポジトリを作成し、そのインタフェース・リポジトリにインタフェース定義をロードできます。リポジトリ・ファイルがない場合は作成されます。リポジトリ・ファイルが存在する場合は、指定されたインタフェース定義がそのファイルにロードされ、その結果、ファイルが更新されます。

このコマンドを使用すると、新しいインタフェース・リポジトリ・データベース・ファイルが作成されます。

パラメータ

definition-filename-list
リポジトリ定義を含むファイルを指定します。指定されたファイルは1つの論理ファイルとしてみなされ、一度の操作でロードされます。
-f repository-name
インタフェース・リポジトリ・ファイルのファイル名。-fオプションを指定しない場合、idl2irコマンドは、UNIXシステムではrepository.ifr as theインタフェース・リポジトリ・ファイルが、Microsoft Windows 2003システムではrepository_1.ifrが作成されます。
-c
新しいリポジトリを作成します。既存のリポジトリが存在する場合に、このオプションが指定されると、そのリポジトリは無視されて新しいリポジトリで置き換えられます。既存のリポジトリが存在する場合に、このオプションが指定されていないときは、既存のリポジトリが更新されます。
-D identifier[=definition]
プリプロセッサ・ディレクティブの#defineと同じ働きをします。つまり、-Dオプションは、定義ファイル内にある特定の識別子のかわりに使用するトークン文字列またはマクロを定義します。definitionが指定されていない場合、identifierは1に定義されます。複数の-Dオプションを指定できます。
-I pathname
OMG IDLプリプロセッサ・ディレクティブ#includeで指定するディレクトリの他、インクルード・ファイルを検索するディレクトリを指定します。
OMG IDLプリプロセッサ・ディレクティブ #includeには、システム(<a.idl>など)とユーザー("a.idl"など)の2種類があります。システム・ディレクティブ#includeのパスは、UNIXシステムの/usr/includeおよび-Iオプションで指定されるディレクトリで構成されます。システム・ディレクティブ#includeのパスは、Windows NTシステムのローカル・ディレクトリおよび-Iオプションで指定されるディレクトリで構成されます。
ユーザー・ディレクティブ#includeのパスは、カレント・ディレクトリおよび-Iオプションで指定されるディレクトリで構成されます。複数の-Iオプションを指定できます。

ノート:

インタフェース・リポジトリに対するサーバー・プロセスの実行中にインタフェース・リポジトリにロードされる追加定義は、そのサーバー・プロセスが停止して再起動するまでは受け付けられません。

ir2idl(1)

名前

インタフェース・リポジトリの内容を表示

形式

ir2idl [options] [ interface-name]

オプション

使用できるオプションは次のとおりです。

[-f repository-name] [-n]
[-t interface-type] [-o filename]

説明

このコマンドはインタフェース・リポジトリの内容を表示します。-oオプションを使用して出力をファイルに送れば、リポジトリからOMG IDLファイルを抽出できます。デフォルトでは、リポジトリ・ファイルはrepository.ifrです。

パラメータ

interface-name
内容を表示するインタフェースの名前。インタフェース名を指定しない場合、リポジトリ内のすべてのインタフェースが表示されます。
-f repository-name
インタフェース定義を検索するリポジトリの名前。-fオプションを指定しない場合、repository.ifrが使用されます。
-n
継承されたオブジェクトを出力に含めないように指定します。
-t interface-type
表示するオブジェクトのタイプを指定します。オブジェクトのタイプは、以下のキーワードのいずれかです。
Attribute
Constant
Exception
Interface
Method
Module
Operation
Typedef
このオプションを指定しない場合、デフォルトですべてのタイプが表示されます。
-o filename
取り出したOMG IDL文を書き込むファイルを指定します。デフォルトは標準出力です。

irdel(1)

名前

指定されたオブジェクトをインタフェース・リポジトリから削除

形式

irdel [-f repository-name] [-i id]object-name
          

説明

このコマンドは、指定されたインタフェースをリポジトリから削除します。削除できるのは、他のインタフェースから参照されていないインタフェースだけです。デフォルトでは、リポジトリ・ファイルはrepository.ifrです。

パラメータ

-f repository-name
インタフェース・リポジトリを指定するオプション・パラメータ。repository-nameの値は、インタフェース・リポジトリのファイル指定です。このオプションが指定されない場合、repository.ifrがデフォルトとして使用されます。
-i id
指定されたオブジェクトのリポジトリididは第2レベルのルックアップとして使用されます。このidと指定されたオブジェクトのidが一致しない場合、オブジェクトは削除されません。
object-name
リポジトリから削除するインタフェースの名前。名前は、単純なオブジェクト名でもスコープ指定された名前でもかまいません。たとえば、MOD1::INTERF2::OP3と指定できます。この場合、操作OP3はインタフェースINTERF2内にあり、そのインタフェースはアプリケーションMOD1内にあります。

mkfldcs、mkfldcs32(1)

名前

mkfldcsmkfldcs32 - フィールド表からC#のヘッダー・ファイルを作成します

形式

mkfldcs [-d outdir] [ field_table... ]
mkfldcs32 [-d outdir] [ field_table... ]

説明

mkfldcsmkfldhdrに似ていますが、出力されるファイルがC#のソース・ファイルの生成に使用されることが異なります。このソース・ファイルには、入力ファイルで与えられた各FMLフィールドIDの定義などのパブリック・クラスが含まれます。

mkfldcsコマンド行オプションは、mkfldhdr、mkfldhdr32(1)と同じです。mkfldcs32は32ビットFMLで使用されます。

関連項目:

mkfldhdr、mkfldhdr32(1)

名前

mkfldhdrmkfldhdr32 - フィールド表からヘッダー・ファイルを作成します。

形式

mkfldhdr [-d outdir] [ field_table... ]
mkfldhdr32 [-d outdir] [ field_table... ]

説明

mkfldhdrは、各フィールド表をCプログラムでの組込みに適したヘッダー・ファイルに変換します。結果として得られたヘッダー・ファイルからは、フィールド名からフィールドIDへの変換を行うための#defineマクロが得られます。ヘッダー・ファイルの名前は、変換する各ファイルのファイル名に.hを付けることによって得られます。

フィールド表名は、コマンド行で指定してもかまいません。また、各ファイルは対応するヘッダー・ファイルに変換されます。

フィールド表名をコマンド行で指定しなかった場合には、プログラムは変換するフィールド表のリストとしてFIELDTBLS環境変数を、またファイルの検索に使用するディレクトリのリストとしてFLDTBLDIR環境変数を使用します。FIELDTBLSは、フィールド表ファイル名の、カンマで区切られたリストを指定します。FIELDTBLSに値がない場合、(唯一の)フィールド表ファイルの名前としてfld.tblが使用されます(この場合、結果として得られるヘッダー・ファイルはfld.tbl.hになります)。

FLDTBLDIR環境変数は、コロンで区切られたディレクトリのリストで、この中から名前が絶対パス名でないフィールド表が検索されます。フィールド表の検索は、UNIXシステムのPATH変数を使用した実行可能コマンドの検索と非常によく似ています。FLDTBLDIRが定義されない場合は、現在のディレクトリのみが検索されます。このため、コマンド行にフィールド表名が指定されず、FIELDTBLSFLDTBLDIRが設定されない場合は、mkfldhdrによって、現在のディレクトリのフィールド表fld.tblがヘッダー・ファイルfld.tbl.hに変換されます。

mkfldhdr32は、32ビットのFMLで使用します。環境変数FIELDTBLS32およびFLDTBLDIR32を使用します。

オプション

-d
出力ヘッダー・ファイルを現在の作業ディレクトリ以外のディレクトリに作成したいときに使用します。

エラー

フィールド表のロードに失敗した場合、あるいは出力ファイルを生成できなかった場合には、エラー・メッセージが出力されます。

FLDTBLDIR=/project/fldtbls
FIELDTBLS=maskftbl,DBftbl,miscftbl,
export FLDTBLDIR FIELDTBLS

mkfldhdrは、ディレクトリ/project/fldtblsのファイルmaskftblDBftblおよびmiscftblを処理することにより、#includeファイルmaskftbl.hDBftbl.hおよびmiscftbl.hをカレント・ディレクトリに作成します。

前述の例のように環境変数を設定すると、コマンドmkfldhdr -d $FLDTBLDIRは同じ入力フィールド表ファイルを処理して、同じ出力ファイルを生成しますが、それらは環境変数FLDTBLDIRの値で指定されたディレクトリに格納されます。

コマンドmkfldhdr myfieldsは、入力ファイルmyfieldsを処理して、カレント・ディレクトリにmyfields.hを生成します。

関連項目:

  • 『Oracle Tuxedo ATMI FML関数リファレンス』のFML関数の紹介に関する項、「field_tables(5)」

mklanginfo(1)

名前

mklanginfo - ロケールの言語情報定数をコンパイルします。

形式

mklanginfo [ fname ]

説明

このプログラムは引数として指定されたファイルを取り込み、その入力を$TUXDIR/locale/xx/LANGINFOに配置するのに適したファイルに変換します(xxは特定のロケール)。ファイルの引数が指定されていない場合は、標準入力が使用されます。この言語値は、「セクション3c - C関数」setlocale(3c)strftime(3c)およびnl_langinfo(3c)で使用されます。

mklanginfoは入力行を読み取ります。このとき、空白または「#」で始まる行は無視されます。値入力行は次の形式で指定する必要があります。

<token> = "value"

tokenと二重引用符で囲んだvalueの間の文字は、二重引用符以外の任意の文字にできます(トークンの後に空白がある場合)。0valueがnull文字列であると、その行は無視されます。それ以外の場合、tokenは、次に示すように、1から48までの整数か、文字列にする必要があります:

Integer String Value 1

DAY_1     Day 1 of the week, for example, Sunday 2
DAY_2     Day 2 of the week, for example, Monday 3
DAY_3     Day 3 of the week, for example, Tuesday 4
DAY_4     Day 4 of the week, for example, Wednesday 5
DAY_5     Day 5 of the week, for example, Thursday 6
DAY_6     Day 6 of the week, for example, Friday 7
DAY_7     Day 7 of the week, for example, Saturday 8
ABDAY_1   Abbreviated day 1 of the week, for example, Sun 9
ABDAY_2   Abbreviated day 2 of the week, for example, Mon 10
ABDAY_3   Abbreviated day 3 of the week, for example, Tue 11
ABDAY_4   Abbreviated day 4 of the week, for example, Wed 12
ABDAY_5   Abbreviated day 5 of the week, for example, Thu 13
ABDAY_6   Abbreviated day 6 of the week, for example, Fri 14
ABDAY_7   Abbreviated day 7 of the week, for example, Sat 15
MON_1     Month 1 of the year, for example, January 16
MON_2     Month 2 of the year, for example, February 17
MON_3     Month 3 of the year, for example, March 18
MON_4     Month 4 of the year, for example, April 19
MON_5     Month 5 of the year, for example, May 20
MON_6     Month 6 of the year, for example, June 21
MON_7     Month 7 of the year, for example, July 22
MON_8     Month 8 of the year, for example, August 23
MON_9     Month 9 of the year, for example, September 24
MON_10    Month 10 of the year, for example, October 25
MON_11    Month 11 of the year, for example, November 26
MON_12    Month 12 of the year, for example, December 27
ABMON_1   Abbreviated month 1 of the year, for example, Jan 28
ABMON_2   Abbreviated month 2 of the year, for example, Feb 29
ABMON_3   Abbreviated month 3 of the year, for example, Mar 30
ABMON_4   Abbreviated month 4 of the year, for example, Apr 31
ABMON_5   Abbreviated month 5 of the year, for example, May 32
ABMON_6   Abbreviated month 6 of the year, for example, Jun 33
ABMON_7   Abbreviated month 7 of the year, for example, Jul 34
ABMON_8   Abbreviated month 8 of the year, for example, Aug 35
ABMON_9   Abbreviated month 9 of the year, for example, Sep 36
ABMON_10  Abbreviated month 10 of the year, for example, Oct 37
ABMON_11  Abbreviated month 11 of the year, for example, Nov 38
ABMON_12  Abbreviated month 12 of the year, for example, Dec 39
RADIXCHAR Radix character, for example, '.' 40
THOUSEP   Separator for thousands 41
YESSTR    Affirmative response string, for example, yes 42
NOSTR     Negative response string, for example, no 43
CRNCYSTR  Currency symbol 44
D_T_FMT   string for formatting date and time, for example, “%a%b%d%H:%M:0Y” 45
D_FMT     string for formatting date, for example, “%m/%d/%y” 46
T_FMT     string for formatting time, for example, “H:%M:%S” 47
AM_FMT    Ante Meridian affix, for example, AM 48
PM_FMT    Post Meridian affix, for example, PM

入力行は任意の順序で表示される可能性があります。入力行が同じ値に対して複数回表示される場合、その値の最後の行が使用されます。

mklanginfoは、ファイルを処理すると、前のコード・リストに示した各言語情報定数の文字列名と文字列値を、リストの順に標準エラーに出力します。指定されていない言語情報定数の値としてNULL文字列が使用されます。nl_langinfoは、このような未設定定数についてCロケールのデフォルト値(米国向け英語)を使用します。

コマンド名にファイル名が指定されている場合、mklanginfoコンパイルされた出力をfname.outに書き出します。指定されていない場合は標準出力に書き出します。形式は、NULLで終わる文字列値のみのリストです(改行文字は入りません)。

診断

ファイルの読取りエラーや構文エラーがあると、エラー・メッセージが標準エラー出力に書き出された後、終了コード1でプログラムは終了します。成功時には、プログラムは終了コード0で終了します。

Oracle Tuxedoシステム(Cロケール)のデフォルトは、$TUXDIR/locale/C/lang.textに格納されています。フランス語の値を入力するには、(UNIXシステムプラットフォーム上で)管理者が次の操作を行います。

mkdir $TUXDIR/locale/french
cd $TUXDIR/locale/french
cp $TUXDIR/locale/C/lang.text .
ed lang.text

フランス語の値に変換

w
q
mklanginfo lang.text > LANGINFO

ファイル

$TUXDIR/locale/C/lang.text - Cロケールのデフォルト値

$TUXDIR/locale/C/LANGINFO - Cロケール用の「コンパイル済」ファイル

$TUXDIR/locale/xx/LANGINFO - xxロケール用の「コンパイル済」ファイル

注意事項

mklanginfoコマンドと、その実行結果として得られるLANGINFOファイルは、setlocale()strftime()、あるいはnl_langinfo()のOracle Tuxedoシステムの互換関数を使用する場合にのみ必要となります。UNIXで提供される関数は、別のファイル・セットおよびファイル形式を使用します。

関連項目:

qmadmin(1)

名前

qmadmin - キュー・マネージャ管理プログラム。

形式

[QMCONFIG=<device>] qmadmin [<device>]

説明

qmadminは、次の一覧で示す各種コマンドを使用することにより、メッセージ・キューの作成、検査および変更を行います。汎用デバイス・リスト(UDL)は、Oracle Tuxedo ATMIシステムが稼働するマシンに物理ストレージ・スペースをマップします。UDLのエントリは、キューとキュー・スペースのメッセージが格納される、ディスク空間を指定します。キュー・スペースのための汎用デバイス・リストが存在する(または存在することになる)デバイス(ファイル)名は、コマンド行引数として指定することも、環境変数QMCONFIGを介して指定することもできます。この両方で指定された場合には、コマンド・オプションが使用されます。

qmadminはシステム付属のサーバーとして、通常の初期化プロセスを行わないため、UBBCONFIGファイルからULOGPFXの値を参照しません。その結果、qmadminコマンドによって生成されたすべてのログ・エントリが、現在の作業ディレクトリに書き込まれます。これに対処するには、ULOGPFX環境変数をユーザー・ログのあるディレクトリのパス名に設定して、エクスポートします。

qmadminは、プロンプトとして不等号(>)を使用します。引数はタブまたは空白(あるいは両方)で区切って入力します。空白を含む引数は二重引用符で囲むこともできます。二重引用符で囲んだ引数に二重引用符が含まれる場合は、含まれる二重引用符の前にバックスラッシュを付ける必要があります。必要な情報がコマンド行に指定されない場合は、コマンドによって情報の入力を求められます。必須の引数が入力されないと、警告メッセージが表示され、プロンプトが再び表示されます。オプションのパラメータに関する情報に対してはプロンプトは表示されません。

ユーザーは、コマンドの入力を求められた際にqまたは<CTRL-d>と入力するとプログラムを終了できます。[Break]キーを押すと、コマンドからの出力を終了でき、新しいコマンドを入力するように求められます。コマンドの入力を求められた際に[Return]キーを押すと、[Break]キーを押した後を除き、直前のコマンドが繰り返し実行されます。

ノート:

[Return]を押した後でコマンドを取り消す方法はありません。[Break]を押してもコマンドの出力(ある場合)が終了するだけです。したがって、[Return]を押す前にコマンドを正しく入力したことを確認してください。

qmadminコマンドからの出力は、使用しているページ別表示コマンドに従ってページ別表示されます(後述のpaginateサブコマンドを参照)。

qmadminを初めて入力するときは、開いているキュー・スペースはありません。キュー・スペースを作成するにはqspacecreateを実行します。このキュー・スペースを開くには、qopenを実行します。qaborttransqcloseqchangeprioqchangequeueqchangetimeqchangeexptimeqcommittransqchangeqcreateqdeletemsgqinfoqlistqprinttrans、およびqsetは、キュー・スペースが開いているときのみ実行できます。

次の表は、機能タイプ別にグループ化したqmadminコマンドをリストしています。

コマンド・タイプ コマンド 目的
全般
  echo 入力コマンド行をエコーする
  help ヘルプ・メッセージを出力する
  paginate ページ別に出力する
  quit セッションを終了する
  verbose 冗長モードで出力を生成します
  ! shellcommand シェルにエスケープして、shellcommandを実行する
  !! 直前のシェル・コマンドを再実行します
  # コメント行を指定する
<CR> 最後のコマンドを繰り返します
キュー・スペース
  chdl 汎用デバイス・リストのエントリ名を変更する
  crdl 汎用デバイス・リストにエントリを作成する
  dsdl 汎用デバイス・リストにあるエントリを破棄します
  ipcrm キュー・スペースに使用されるIPCデータ構造体を削除する
  ipcs キュー・スペースに使用されるIPCデータ構造体を一覧表示する
  lidl 汎用デバイス・リストを表示します
  livtoc VTOC表のすべてのエントリについて情報を表示する
  qaddext キュー・スペースにエクステントを追加します
  qclose 現在開いているキュー・スペースを閉じる
  qopen キュー・スペースの構造体を開いて初期化する
  qsize キュー・スペースに必要な共有メモリーのサイズを計算する
  qspacechange キュー・スペースのパラメータを変更する
  qspacecreate キューに入れられたメッセージ用のキュー・スペースを作成する
  qspacedestroy 指定されたキュー・スペースを破棄する
  qspacedestroy キュー・スペースの作成パラメータを一覧表示する
キュー
  qchange 現在開いているキュー・スペースのキューを修正する
  qcreate 現在開いているキュー・スペースにキューを作成する
  qdestroy 指定されたキューを破棄する
  qinfo 関連付けられているキューまたはすべてのキューについて情報を一覧表示する
メッセージ
  qchangeexp キューのメッセージの期限を変更する
  qchangeprio キューのメッセージの優先度を変更できます
  qchangequeue 同じキュー・スペース内の別のキューにメッセージを移動する
  qchangetime キューのメッセージの実行時間を変更する
  qdeletemsg キューからメッセージを削除する
  qlist キューのメッセージを一覧表示する
  qscan ほかのコマンドで使用する選択基準を設定する
  qset ほかのコマンドで使用するキュー名を設定する
トランザクション
  qaborttrans プリコミット・トランザクションを中断する
  qcommittrans プリコミット・トランザクションをコミットする
  qprinttrans 未処理のトランザクションのトランザクション表情報を表示する

qmadminコマンド

コマンドの形式は、完全名でも省略形でも(省略形がある場合は、完全名の後にカッコで示されます)入力することができ、該当する引数がその後に付きます。大カッコ[ ]で囲まれている引数は省略可能で、中カッコ{ }で囲まれている引数は、相互に排他的な選択肢を示します。

chdl [dlindex [newdevice]]
汎用デバイス・リストのエントリ名を変更する第1引数は、汎用デバイス・リストの中の変更するデバイスのインデックスです(デバイス・インデックスはlidlで戻されます)。第1引数をコマンド行で指定しなかった場合は、プログラムによって入力が要求されます。
第2引数は新しいデバイス名です。デバイス名がコマンド行に指定されていない場合、現在のデバイス名が表示され、新しいデバイス名の入力を求めるプロンプトが表示されます。デバイス名の長さは64文字以内に制限されています。デバイス名を変更すると、前のデバイス名を介してファイルやデータにアクセスすることはできなくなるので、このコマンドはよく注意して使用しなければなりません。
汎用デバイス・リスト(UDL)とボリューム一覧(VTOC)の詳細は、『Oracle Tuxedoアプリケーション実行時の管理』を参照してください。
crdl [device [offset [size]]]
汎用デバイス・リストにエントリを作成するノート: デバイス・リスト内の最初のエントリが、QMCONFIGによって参照されるデバイスと一致し、0オフセットを含んでいる必要があります。コマンド行に引数が入力されていない場合は、プログラムから入力するように要求されます。
引数は、デバイス名、割当て開始空間のブロック番号および割当て物理ページ(ディスク・セクター)の数です。
特定のファイルに1つ以上のエクステントを割り当てることができます。たとえば、/app/queues/myspace 0 500の後に、/app/queues/myspace 1000 500と割り当てると、500から999までのブロックを使用しない合計1000個のブロックが割り当てられます。
デバイス・リストおよび目次用に、最初のデバイス・エントリのうちの数エントリが使用されます。デバイス・リストには、最大25エントリまで作成できます。
dsdl [-y] [dlindex]
汎用デバイス・リストにあるエントリを破棄します。dlindex引数は、デバイス・リストから削除するデバイスの、汎用デバイス・リストでの索引です。コマンド行に入力されていない場合は、プログラムから入力するように要求されます。エントリ0は、すべてのVTOCファイルと他のデバイス・リスト・エントリが破棄されないかぎり削除できません。(エントリ0に含まれるデバイスはデバイス・リストと目次を保持するため、このエントリを破棄すると、これら2つの表も破棄されるためです。)VTOCファイルを削除するには、関連するエンティティを削除するしかありません(たとえば、デバイスに存在するキュー・スペースの破棄)。-yオプションを指定されないかぎり、このコマンドは確認のためのプロンプトを表示します。
echo (e) [{off | on}]
onに設定すると、入力コマンド行をエコーします。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。初期設定はoffです。
help (h) [{command | all}]
ヘルプ・メッセージを出力します。commandを指定すると、そのコマンドの省略形、引数および説明が出力されます。allを指定すると、すべてのコマンドに関する説明が表示されます。
引数がコマンド行に指定されていない場合、すべてのコマンドの構文が表示されます。
ipcrm [-f] [-y] [queue_space_name]
指定されたキュー・スペースに使用されるIPCデータ構造体を削除します。コマンド行にキュー・スペース名が入力されていない場合は、プログラムから入力するように要求されます。指定されたキュー・スペースがqmadminで開かれている場合は、閉じられます。ipcrmは、キュー・スペースで使用されるすべてのIPCリソースを把握しているため、IPCリソースを削除するただ1つの方法です。qmadminは、他のプロセスがキュー・スペースにアタッチしていないことを確認してから、IPCリソースを削除します。-fオプションを指定すると、他のプロセスがアタッチしている場合でもIPCリソースを強制的に削除できます。-fオプションが指定された場合に-yオプションの指定がなければ、このコマンドは、実行の前に確認のためのプロンプトを表示します。コマンドが正常に完了すると、指定されたキュー・スペースのすべての一時的メッセージが完全に失われます。
ipcs [queue_space_name]
キュー・スペースで使用されるIPCデータ構造体(ある場合)を表示します(キュー・スペースがプロセスによって開かれていないと、IPCデータ構造体が使用されない場合があります)。コマンド行にキュー・スペース名が入力されていない場合は、プログラムから入力するように要求されます。
lidl [dlindex]
汎用デバイス・リストを表示します。デバイスごとに、索引、名前、先頭ブロックおよびデバイスのブロック数が一覧表示されます。冗長モードでは、未使用領域を示すマップが表示されます(未使用領域の先頭アドレスおよびサイズ)。dlindexを指定すると、デバイス・リストのそのエントリについての情報のみが表示されます。
livtoc
VTOC表のすべてのエントリについて情報を表示します。各エントリについて表示される情報は、VTOC表の名前、VTOC表のあるデバイス、デバイスの先頭からのVTOC表のオフセットおよびこの表に割り当てられているページ数があります。VTOCには、最大100のエントリがあります。
paginate (page) [{off | on}]
ページ単位で出力します。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。標準入力または標準出力が非端末デバイスでないかぎり、初期設定はonです。標準入力と標準出力の両方が端末デバイスの場合にのみonに設定できます。
デフォルトのページ別表示コマンドは、ネイティブのオペレーティング・システム環境に固有のページャになります。たとえば、コマンドpgは、UNIXオペレーティング・システムにおけるデフォルトのコマンドです。シェル環境変数PAGERを使用すると、ページ別表示出力に使用されるデフォルトのコマンドをオーバーライドできます。
qaborttrans (qabort) [-y] [tranindex]
指定したトランザクション索引tranindexに関連付けられている、プリコミットされているトランザクションをヒューリスティックに中断します。トランザクション索引をコマンド行で指定しなかった場合は、プログラムはその入力を要求します。トランザクションが決定されることがわかっていて、その決定がコミットすることであった場合は、qaborttransは失敗します。索引は、事前のqprinttransコマンドの実行から取得されます。-yオプションが指定されていなければ、確認がリクエストされます。このコマンドは、慎重に使用する必要があります。
qaddext [queue_space_name [pages]]
キュー・スペースにエクステントを追加しますキュー・スペースの最大数は36です。キュー・スペースをアクティブ化しないでください(キュー・スペースにプロセスをアタッチできません)。キュー・スペース名と、キュー・スペースに割り当てる追加の物理ページ数がコマンド行に指定されていない場合、プログラムによって入力が求められます。指定したキュー・スペースがqmadminで開かれている場合は、閉じられます。物理ページ数は、最も近い4の倍数に切り捨てられます(説明と例は、「qspacecreate」を参照)。スペースは、QMCONFIGデバイスに関連付けられたUDLに定義されたエクステントから割り当てられます。新しいキュー・スペース・エクステントそれぞれが、VTOCの追加エントリを使用します(最大100エントリが使用可能)。キュー・マネージャによって、キュー・スペースがすぐに識別して関連付けることができるように、エクステントの名前が付けられます。コマンドが正常に完了すると、指定されたキュー・スペースのすべての一時的メッセージが完全に失われます。
qchange [-dpersist|nonpersist] [-nnhigh , nlow , ncmd] [-e default_relative_expiration_time] [queue_name [out-of-order [retries [delay [high [low [cmd]]]]]]]
現在開いているキュー・スペースのキューを修正する引数はコマンド行で指定します。指定しないと、プログラムにより入力が求められます。引数には、キューの名前、順序を無視したキュー登録を許可するかどうか(許可しない、キューの先頭に登録、指定したmsgidの前に登録)、再試行の回数、各再試行の間の遅延時間(秒)、しきい値コマンドを実行するための上限値と下限値、および永続メッセージに対するしきい値コマンドそのものを指定できます。
out-of-orderの値は、nonetopおよびmsgidです。topmsgidの両方をカンマで区切って指定できます。
しきい値を使用すると、永続メッセージのしきい値に到達したときに、コマンドを自動的に実行できるようになります。上限は、コマンドがいつ実行されるかを指定します。上限に到達したときにコマンドを再実行するには、その前に下限に到達する必要があります。たとえば、制限が100メッセージと50メッセージの場合、100メッセージがキューにあるときにコマンドが実行されます。キューのメッセージが排出されて50メッセージまで減らないと、再び100メッセージになってもコマンドは実行されません。キューの容量は、キューによって使用されるバイト数またはブロック数(numberの後にbまたはB接尾辞)、キューによって使用されるキュー・スペースのパーセンテージ(numberの後に%)、またはキューの合計メッセージ数(numberの後にm)で指定できます。上限と下限のしきい値のタイプは同じにする必要があります。タイプを下限値に指定するかどうかはオプションですが、指定された場合は、上限のタイプと一致する必要があります。メッセージ(m)の接頭辞は、永続メッセージと非永続メッセージの両方に対応します。もう1つのしきい値接尾辞は、永続メッセージだけに適用されます。非永続メッセージのしきい値を指定するには、-nオプションを使用します。しきい値コマンドをコマンド行に指定するとき、空白が含まれる場合は二重引用符で囲む必要があります。再試行回数は、メッセージをキューから取り出すことができる回数を指定します。トランザクションがロールバックし、メッセージはキューに戻ります。再試行間隔も指定できます。再試行の回数が上限に達すると、キュー・スペースに定義されたエラー・キューにメッセージが移動されます。エラー・キューが定義されていない場合、メッセージは破棄されます。キューのキュー順序値は変更できません。優先度の低いメッセージは、優先度の高いメッセージがキューに含まれていても、10メッセージごとにキューから取り出されます。
-dオプションは、キューのデフォルト配信ポリシーを指定します。-dオプションの有効値は、persistnonpersistです。デフォルトの配信ポリシーがpersistの場合、明示的に配信モードを指定せずにキューに登録されたメッセージは、永続(ディスク・ベース)配信モードを使用して配信されます。ポリシーがnonpersistの場合、明示的に配信モードを指定せずにキューに登録されたメッセージは、非永続(メモリー)配信モードを使用して配信されます。-dオプションが指定されない場合、システムによって情報は求められず、デフォルトの配信ポリシーは変更されません。デフォルト配信ポリシーが変更されても、すでにキューに存在していたメッセージのサービス配信レベルは変化しません。変更中のキューが現在キュー・スペースにあるメッセージに対して名前が付けられている応答キューである場合、キューのデフォルトの配信ポリシーを変更しても、そのメッセージのサービスの応答品質は変わりません。
メモリー領域の不足やフラグメント化のために一時的メッセージをキューに登録できない場合、メッセージ用の永続ストレージが十分にあってもキューへの登録操作は失敗します。ディスクの不足やフラグメント化のために永続的メッセージをキューに登録できない場合、メッセージ用の非永続ストレージが十分にあってもキューへの登録操作は失敗します。
キュー・スペースで非永続メッセージに予約されているメモリー容量が0の場合、非永続メッセージに予約されている領域はありません。(非永続メッセージのメモリー領域の詳細は、「qspacecreate」および「qspacechange」を参照してください。)この場合、非永続メッセージをキューに登録しようとしても失敗します。これには、ターゲット・キューのデフォルト配信ポリシーがnonpersistで、配信サービス・レベルが指定されていないメッセージが含まれます。
-nオプションは、非永続記憶域のしきい値に到達した際に、コマンドの自動実行に使用するしきい値を指定します。nhigh制限により、コマンドncmdがいつ実行されるかが指定されます。nlow制限に到達したときにコマンドを再実行するには、その前にnhigh制限に到達する必要があります。-nオプションを指定する場合、nhighnlowおよびncmdの値すべてを指定する必要があります。そうしないと、コマンドが失敗します。ncmd値は空文字列として指定できます。-nオプションが指定されなくても、プログラムによって情報の入力を求められることはありません。
メモリー容量(キュー内の非永続データの容量)は、バイト数(b)、ブロック数(B)またはパーセンテージ(numberの後に%)のいずれかのしきい値タイプとして指定できます。nhighnlowの値のしきい値タイプは同じにする必要があります。たとえば、nhighを100%に設定すると、nlowもパーセンテージで指定する必要があります。nlow値のしきい値タイプはオプションです。-nオプションが指定されない場合、非永続メッセージのデフォルトのしきい値は変更されません。ncmdに空白が含まれる場合は、二重引用符で囲む必要があります。
[ . . . [ high [ low [ cmd ]]] . . . ]しきい値のm接尾辞は、キューのすべてのメッセージ(永続メッセージと非永続メッセージの両方)に適用され、したがって、nhighnlowと一緒には使用できません。接尾辞-mが指定されていないしきい値[ . . . [high[ low [ cmd ]]] . . . ]は、永続的(ディスク・ベース)メッセージにのみ適用されます。
-e default_relative_expiration_time オプションは、キューに登録されたメッセージで、有効期限が明示的に指定されていないすべてのメッセージの有効期限を設定します。有効期限には、有効期限の相対時間またはnoneを使用できます。有効期限に達したとき、メッセージがキューから取り出されていない場合や管理時に削除されていない場合には、メッセージがキューから削除され、メッセージに関連付けられたすべてのリソースがシステムによって解放されて、統計情報が更新されます。有効期限の時間がメッセージの使用可能時間より前の場合、使用可能時間が有効期限の切れる時間より前になるようにいずれかの時間を変更しないかぎり、メッセージをキューから取り出すことはできません。また、これらのメッセージがキューからの取出しの対象になったことがなくても、有効期限が切れるとキューから削除されます。トランザクション中にメッセージの期限が切れてもトランザクションは失敗しません。トランザクション内でキューへの登録、またはキューからの取出し中に有効期限が切れたメッセージは、トランザクションが終了した時点でキューから削除されます。メッセージの期限が切れても通知されません。
-eオプションが指定されない場合、キューのデフォルト有効期限は変更されません。qchangeを使用してキューの有効期限を変更しても、すでにキューに存在していたメッセージの有効期限は変更されません。-eオプションが指定されなくても、プログラムによって入力が要求されることはありません。
相対的なdefault_relative_expiration_timeの形式は+ secondsです。secondsは、キュー・マネージャが処理を正常に終了してから、メッセージが期限切れになるまでの秒数です。値のゼロ(0)は、即時の期限切れを指定します。default_relative_expiration_timeの値には、文字列noneを設定することもできます。none文字列を指定すると、明示的な有効期限なしでキューに登録されたメッセージは、期限が明示的に割り当てられないかぎり期限切れになりません。
qchangeexp (qce) -y [newtime]
キューのメッセージの期限を変更する期限に達したとき、メッセージがキューから取り出されていない場合や管理時に削除されていない場合には、キューからメッセージが削除され、メッセージに関連付けられているすべてのリソースが解放されて、統計情報が更新されます。有効期限の時間がメッセージの使用可能時間より前の場合、使用可能時間が有効期限の切れる時間より前になるようにいずれかの時間を変更しないかぎり、メッセージをキューから取り出すことはできません。また、これらのメッセージがキューからの取出しの対象になったことがなくても、有効期限が切れるとキューから削除されます。トランザクション中にメッセージの期限が切れてもトランザクションは失敗しません。トランザクション内でキューへの登録、またはキューからの取出し中に有効期限が切れたメッセージは、トランザクションが終了した時点でキューから削除されます。メッセージの期限が切れても通知されません。
有効期限が設定されたキューが、qsetコマンドを使用して選択されます。更新するメッセージを制限する選択基準は、qscanコマンドを使用して設定します。選択基準が設定されない場合、キューのすべてのメッセージが変更されます。デフォルトでは、有効期限が設定される前に確認を求められます。-yオプションを指定すると、確認のプロンプトが表示されません。newtime値には、現在時刻に対する相対値、絶対値、noneのいずれかを指定できます。newtime値がコマンド行に入力されていない場合は、プログラムから入力するように要求されます。
この値を変更するキュー・マネージャがメッセージの有効期限をサポートしていても、メッセージの有効期限をサポートしていないOracle Tuxedo ATMIシステムのバージョンによってキューに登録されたメッセージを変更して、期限切れ時間を設定することはできません。qchangeexpの影響を受けるメッセージが、Oracle Tuxedo ATMIシステムのそのようなバージョンの1つによってキューに登録された場合は、選択されたメッセージの一部がこの制約のために変更されなかったことを示すエラー・メッセージが生成されます。
相対有効期限は、リクエストがキュー・マネージャ・プロセスに届いた時点に対して相対的です。相対的なnewtimeの形式は+ secondsです。secondsは、キュー・マネージャが正常に処理を完了してから、メッセージが期限切れになるまでの秒数です。secondsがゼロ(0)に設定されると、メッセージはすぐに期限切れになります。有効期限の絶対時間は、キュー・マネージャ・プロセスが常駐するマシンの時計によって決定されます。絶対的なnewtimeの形式は、 YY [ MM [ DD [ HH [ MM [ SS ]]]]]です(qscanの説明を参照してください)。newtimeの値には、文字列noneを設定することもできます。この場合、対象のメッセージの有効期限がなくなります。
qchangeprio (qcp) [-y] [newpriority]
キューのメッセージの優先度を変更できます対象となるキューは、qsetコマンドを使用して設定され、更新されるメッセージを制限する選択基準は、qscanコマンドを使用して設定されます。
選択基準が設定されない場合、キューのすべてのメッセージが変更されます。-yオプションが指定されていないかぎり、変更の前に確認が求められます。qlistコマンドを実行して、どのようなメッセージが変更されるかを確認することをお薦めします(入力ミスによるエラーが減少します)。newpriority値は、処理のためにメッセージが転送されるときに使用される新しい優先度を指定します。これは1から100までの範囲である必要があります。コマンド行で指定していないと、入力するよう求められます。
qchangequeue (qcq) [-y] [newqueue]
同じキュー・スペース内の別のキューにメッセージを移動するメッセージの移動元のキューは、qsetコマンドを使用して設定され、移動されるメッセージを制限する選択基準は、qscanコマンドを使用して設定されます。選択基準が設定されない場合、キューのすべてのメッセージが移動されます。-yオプションが指定されていないかぎり、変更の前に確認が求められます。qlistコマンドを実行して、どのようなメッセージが移動されるかを確認することをお薦めします(入力ミスによるエラーが減少します)。newqueue値は、メッセージの移動先のキュー名を指定します。コマンド行でnewqueueが指定されない場合は、プログラムによって入力が要求されます。メッセージの配信サービス・レベルが、newqueueのデフォルト配信ポリシーと一致するように変更されることはありません。
有効期限のあるメッセージを移動する場合、有効期限が相対時間として前に指定されていても、有効期限は新規キューで絶対時間だとみなされます。
qchangetime (qct) [-y] [newtime]
キューにあるメッセージの使用可能時間を変更します。キューの指定には、qsetコマンドを使用します。更新するメッセージを制限する選択基準は、qscanコマンドを使用して設定します。
選択基準が設定されない場合、キューのすべてのメッセージが変更されます。-yオプションが指定されていないかぎり、変更の前に確認が求められます。qlistコマンドを実行して、どのようなメッセージが変更されるかを確認することをお薦めします(入力ミスによるエラーが減少します)。newtime値には、現在時刻に対する相対値、または絶対値のいずれかを指定できます。コマンド行で指定していないと、入力するよう求められます。相対的なonetimeの形式は+ secondsです。secondsは、現在からメッセージを実行するまでの秒数です(0の場合、すぐに実行されます)。絶対的な newtimeの形式は、 YY [ MM [ DD [ HH [ MM [ SS ]]]]]です(qscanの説明を参照してください)。
qclose
現在開いているキュー・スペースを閉じるコマンドが正常に完了すると、指定されたキュー・スペースのすべての一時的メッセージが完全に失われます。
qcommittrans (qcommit) [-y] [tranindex]
指定したトランザクション索引tranindexに関連付けられている、プリコミットされているトランザクションをヒューリスティックにコミットします。トランザクション索引をコマンド行で指定しなかった場合は、プログラムはその入力を要求します。トランザクションが決定されることがわかっていて、その決定が中断することであった場合は、qcommittransは失敗します。索引は、事前のqprinttransコマンドの実行から取得されます。-yオプションが指定されていなければ、確認がリクエストされます。このコマンドは、慎重に使用する必要があります。
qcreate (qcr) [-dpersist|nonpersist] [-nnhigh,nlow,ncmd] [-e default_relative_expiration_time] [queue_name [qorder [out-of-order [retries [delay [high [low [cmd]]]]]]]]
現在開いているキュー・スペースにキューを作成する引数はコマンド行で指定します。指定しないと、プログラムにより入力が求められます。引数には、キューの名前、キューの順序(fifoまたはlifo、有効期限順、優先度順、時刻順)、順序を無視したキュー登録を許可するかどうか(許可しない、キューの先頭に登録、指定したmsgidの前に登録)、再試行の回数、再試行の間隔(秒)、しきい値コマンドを実行するための上限値と下限値、および永続メッセージに対するしきい値コマンドそのものを指定できます。
キューの順序の値は、fifolifopriorityexpirationおよびtimeです。キューの順序を指定するときは、重要なソート値から順に指定する必要があります。fifoまたはlifoは、最も重要でないソート値(またはただ1つのソート値)として指定してください。fifolifoも指定されない場合、デフォルト値はfifoです。指定されている他のソート基準に適用されます。expirationが指定されると、有効期限のないメッセージは、有効期限付きのメッセージすべてが取り出された後にキューから取り出されます。複数のソート値はカンマで区切って指定できます。out-of-orderの値は、nonetopまたはmsgidです。topmsgidの両方をカンマで区切って指定できます。
しきい値を使用すると、永続メッセージのしきい値に到達したときに、コマンドを自動的に実行できるようになります。上限は、コマンドがいつ実行されるかを指定します。上限に到達したときにコマンドを再実行するには、その前に下限に到達する必要があります。たとえば、制限が100メッセージと50メッセージの場合、100メッセージがキューにあるときにコマンドが実行されます。キューのメッセージが排出されて50メッセージまで減らないと、再び100メッセージになってもコマンドは実行されません。
キューの容量は、キューによって使用されるバイト数またはブロック数(numberの後にbまたはB接尾辞)、キューによって使用されるキュー・スペースのパーセンテージ(numberの後に%)、またはキューの合計メッセージ数(numberの後にm)で指定できます。上限と下限のしきい値のタイプは同じにする必要があります。メッセージ(m)の接頭辞は、永続メッセージと非永続メッセージの両方に対応します。もう1つのしきい値接尾辞は、永続メッセージだけに適用されます。非永続メッセージのしきい値を指定するには、-nオプションを使用します。タイプを下限値に指定するかどうかはオプションですが、指定された場合は、上限のタイプと一致する必要があります。しきい値コマンドをコマンド行に指定するとき、空白が含まれる場合は二重引用符で囲む必要があります。
再試行回数は、メッセージをキューから取り出すことができる回数を指定します。トランザクションがロールバックし、メッセージはキューに戻ります。再試行間隔も指定できます。再試行の回数が上限に達すると、キュー・スペースに定義されたエラー・キューにメッセージが移動されます。エラー・キューが定義されていない場合、メッセージは破棄されます。優先度の低いメッセージは、優先度の高いメッセージがキューに含まれていても、10メッセージごとにキューから取り出されます。
-dオプションは、キューのデフォルト配信ポリシーを指定します。-dオプションの有効値は、persistnonpersistです。デフォルトの配信ポリシーがpersistの場合、明示的に配信モードを指定せずにキューに登録されたメッセージは、永続(ディスク・ベース)配信モードを使用して配信されます。ポリシーがnonpersistの場合、明示的に配信モードを指定せずにキューに登録されたメッセージは、非永続(メモリー)配信モードを使用して配信されます。-dオプションが指定されない場合、システムによって情報は求めらません。キューのデフォルト配信ポリシーはpersistです。デフォルト配信ポリシーが変更されても、すでにキューに存在していたメッセージのサービス配信レベルは変化しません。
メモリー領域の不足やフラグメント化のために一時的メッセージをキューに登録できない場合、メッセージ用の永続ストレージが十分にあってもキューへの登録操作は失敗します。ディスクの不足やフラグメント化のために永続的メッセージをキューに登録できない場合、メッセージ用の非永続ストレージが十分にあってもキューへの登録操作は失敗します。
キュー・スペースで非永続メッセージに予約されているメモリー容量が0の場合、非永続メッセージに予約されている領域はありません。(非永続メッセージのメモリー領域の詳細は、「qspacecreate」および「qspacechange」を参照してください。)この場合、非永続メッセージをキューに登録しようとしても失敗します。これには、ターゲット・キューのデフォルト配信ポリシーがnonpersistで、配信サービス・レベルが指定されていないメッセージが含まれます。
-nオプションは、非永続記憶域のしきい値に到達した際に、コマンドの自動実行に使用するしきい値を指定します。nhigh制限により、コマンドncmdがいつ実行されるかが指定されます。nlow制限に到達したときにコマンドを再実行するには、その前にnhigh制限に到達する必要があります。-nオプションを指定する場合、nhighnlowおよびncmdの値すべてを指定する必要があります。そうしないと、コマンドが失敗します。ncmd値は空文字列として指定できます。-nオプションが指定されなくても、プログラムによって情報の入力を求められることはありません。
メモリー容量(キュー内の非永続データの容量)は、バイト数(b)、ブロック数(B)またはパーセンテージ(numberの後に%)のいずれかのしきい値タイプとして指定できます。nhighnlowの値のしきい値タイプは同じにする必要があります。たとえば、nhighを100%に設定すると、nlowもパーセンテージで指定する必要があります。nlow値のしきい値タイプはオプションです。-nオプションが指定されない場合、デフォルトのしきい値(nhighには100%nlowには0%)が使用され、ncmd" "に設定されます。ncmdに空白が含まれる場合は、二重引用符で囲む必要があります。
[ . . . [ high [ low [ cmd ]]] . . . ]しきい値のm接尾辞は、キューのすべてのメッセージ(永続メッセージと非永続メッセージの両方)に適用され、したがって、nhighnlowと一緒には使用できません。接尾辞-mが指定されていないしきい値[ . . . [ high [ low [ cmd ]]] . . . ]は、永続的(ディスク・ベース)メッセージにのみ適用されます。
-e default_relative_expiration_time オプションは、キューに登録されたメッセージで、有効期限が明示的に指定されていないすべてのメッセージの有効期限を設定します。有効期限には、有効期限の相対時間またはnoneを使用できます。有効期限に達したとき、メッセージがキューから取り出されていない場合や管理時に削除されていない場合には、メッセージがキューから削除され、メッセージに関連付けられたすべてのリソースがシステムによって解放されて、統計情報が更新されます。有効期限の時間がメッセージの使用可能時間より前の場合、使用可能時間が有効期限の切れる時間より前になるようにいずれかの時間を変更しないかぎり、メッセージをキューから取り出すことはできません。また、これらのメッセージがキューからの取出しの対象になったことがなくても、有効期限が切れるとキューから削除されます。トランザクション中にメッセージの期限が切れてもトランザクションは失敗しません。トランザクション内でキューへの登録、またはキューからの取出し中に有効期限が切れたメッセージは、トランザクションが終了した時点でキューから削除されます。メッセージの期限が切れても通知されません。
-eオプションが指定されない場合、キューのデフォルト有効期限はnoneに設定されます。qchangeを使用してキューの有効期限を変更しても、すでにキューに存在していたメッセージの有効期限は変更されません。-eオプションが指定されなくても、プログラムによって入力が要求されることはありません。
相対的なdefault_relative_expiration_timeの形式は+ secondsです。secondsは、キュー・マネージャが処理を正常に終了してから、メッセージが期限切れになるまでの秒数です。値のゼロ(0)は、即時の期限切れを指定します。default_relative_expiration_timeの値には、文字列noneを設定することもできます。none文字列を指定すると、明示的な有効期限なしでキューに登録されたメッセージは、期限が明示的に割り当てられないかぎり期限切れになりません。
qdeletemsg (qdltm) [-y]
キューからメッセージを削除するキューの指定には、qsetコマンドを使用します。削除するメッセージを制限する選択基準は、qscanコマンドを使用して設定します。選択基準が設定されない場合、キューのすべてのメッセージが削除されます。削除の前に確認が求められます。qlistコマンドを実行して、どのようなメッセージが削除されるかを確認することをお薦めします(入力ミスによるエラーが減少します)。このコマンドは、-yオプションを指定していない場合に確認のためのプロンプトを表示します。
qdestroy (qds) [{ -p | -f }] [-y] [queue_name]
指定されたキューを破棄するデフォルトでエラーが返されるのは、リクエストがキューに存在する場合、またはプロセスがキュー・スペースにアタッチされている場合です。-pオプションを指定すると、キュー・スペースにアタッチされているプロセスがない場合には、キューからメッセージを「パージ」してキューを破棄することができます。-fオプションを指定すると、キュー・スペースにメッセージまたはプロセスがアタッチされている場合でも、キューを「強制的に」削除することができます。メッセージが現在のトランザクションに関係している場合、このコマンドは失敗し、エラーがuserlogに書き込まれます。このコマンドは、-yオプションを指定していない場合に確認のためのプロンプトを表示します。
qinfo [queue_name]
関連付けられているキューまたはすべてのキューについて情報を一覧表示するこのコマンドは、指定されたキューのメッセージ数、または引数を指定していない場合はすべてのキューのメッセージ数、キューに関連付けられている永続的メッセージと一時的メッセージの両方が使用している領域の量、永続的および一時的に送られるメッセージの数、指定されたキューのメッセージの総数、および永続的メッセージと一時的メッセージが使用している領域の量を表示します。冗長モードでは、このコマンドは、各キューのキュー作成パラメータ、キューのデフォルトの期限(設定されている場合)、順序付け基準およびキューのデフォルトの配信ポリシーも表示します。
qlist (ql)
キューのメッセージを一覧表示するキューの指定には、qsetコマンドを使用します。表示するメッセージを制限する選択基準は、qscanコマンドを使って設定します。設定基準が何も設定されていない場合は、キューにあるすべてのメッセージが表示されます。
選択した各メッセージについて、メッセージ識別子が出力されるほか、メッセージの優先度、これまでに試みた再試行の回数、メッセージの長さ、サービスの配信品質、応答に対するサービスの基準および期限(設定されている場合)が出力されます。メッセージに可用時間が関連付けられている場合、またはトランザクションのロールバックのためにメッセージに再試行時間がスケジューリングされている場合は、その可用時間が出力されます。相関識別子が存在し、verboseモードがオンの場合は、相関識別子が表示されます。
qopen [queue_space_name]
指定したキュー・スペースの内部構造体を開き、初期化します。コマンド行でキュー・スペースを指定しなかった場合は、プログラムがその入力を要求します。キュー・スペースがすでにqmadminで開かれている場合は、閉じられます。
qprinttrans (qpt)
現在未処理のトランザクションのトランザクション表情報を表示します。トランザクション識別子、インデックス、トランザクション・ステータスが表示されます。インデックスは、qaborttransまたはqcommittransでトランザクションの中断またはコミットを行う際に使用されるものです。
qscan [{ [-t time1[-time2]] [-p priority1[-priority2]] [-m msgid] [-i corrid][-ddelivery_mode] [-etime1[-time2]] | none }]
コマンドqchangeprioqchangequeueqchangetimeqdeletemsgおよびqlistに使用する選択基準を設定します。引数noneは選択基準がないことを指定します。キューのすべてのメッセージが影響を受けます。このコマンドを引数なしで実行すると、現在の選択基準の値が表示されます。コマンド行オプションで値の範囲を指定するとき(たとえば、-t-eまたは-p)、値範囲に空白を含めることはできません。-tオプションを使用すると、時間の値または時間範囲を指定できます。time1time2の形式は、YY[MM[DD[HH[MM[SS]]]]]で、年、月、日、時、分、秒を指定します。日時の値で単位が省略されている場合は、使用可能な最小の値にデフォルト設定されます。たとえば、7502は750201000000に相当します。年の範囲00-37は2000-2037として、70-99は1970-1999として処理されます。38-69は無効です。-pオプションを使用すると、優先度の値または優先度の範囲を指定できます。優先度の範囲は1から100までです。-mオプションを使用すると、システムがメッセージをキューに登録するときにメッセージに割り当てられるメッセージIDの値を指定できます。メッセージIDはキュー内で一意であり、長さは最大32文字です。32文字よりも短い値は、右側にnull値(0x0)が埋め込まれます。バックスラッシュや表示できない文字(空白、改行、タブなど)は、バックスラッシュの後に、その文字を表す2文字の16進数値を入力する必要があります(たとえば、空白は\20であり、hello\20worldのように使用します)。-iオプションを使用すると、メッセージに関連付ける相関識別子を指定できます。識別子の値はアプリケーションによって割り当てられ、キューに登録されたメッセージと一緒に格納されます。また、応答メッセージまたはエラー・メッセージのレスポンスと一緒に格納するために渡されます。これにより、アプリケーションが特定のリクエストのレスポンスを識別できるようになります。値は最長32文字です。32文字よりも短い値は、右側にnull値(0x0)が埋め込まれます。バックスラッシュや表示できない文字(空白、改行、タブなど)は、バックスラッシュの後に、その文字を表す2文字の16進数値を入力する必要があります(たとえば、空白は\20であり、my\20ID\20valueのように使用します)。
-d delivery_modeオプションの有効値は、persistnonpersistです。このオプションは、オペレータが配信方法に基づいて処理を実行できるように、qscanで選択されたメッセージの配信モードを指定します。
-eオプションを使用すると、有効期限または有効期限の範囲を指定できます。time1time2の形式は、-tオプションのtime1time2と同じです。
qset [queue_name]
コマンドqchangeprioqchangequeueqchangetimeqdeletemsgおよびqlistに使用するキュー名を設定します。引数なしでこのコマンドを実行すると、現在のキュー名が表示されます。
qsize [‑A actions] [‑H handles] [‑C cursors] [ ‑O owners] [‑Q tmp_queues] [‑f filter_memory] [-n nonpersistent_msg_memory[b,B]] [‑o overflow_memory][pages [queues [transactions [processes [messages]]]]]
pagesqueues、(同時) transactionsprocessesおよび(キュー内) messagesで指定したサイズを使用して、キュー・スペースに必要な共有メモリーのサイズを計算します。コマンド行で値を指定しなかった場合は、プログラムはそれらの入力を要求します。必要となるシステム・セマフォの数も出力されます。上記以外のオプションで有効な値については、qspacecreateで説明しています。
qspacechange (qspch) [‑A actions] [‑H handles] [‑C cursors] [ ‑O owners] [‑Q tmp_queues] [‑f filter_memory] [-n nonpersistent_msg_memory[b,B]] [‑o overflow_memory][queue_space_name [ipckey [trans [procs [messages [errorq [inityn [blocking]]]]]]]]
キュー・スペースのパラメータを変更するキュー・スペースをアクティブ化しないでください(つまりプロセスをアタッチできません)。必要な情報がコマンド行に入力されていない場合は、プログラムから入力するように要求されます。有効な値は、このページのqspacecreateの項で説明しています。指定したキュー・スペースがqmadminで開かれている場合は、閉じられます。新しいエクステントを追加するには、qaddextを使用する必要があります。キューの数は変更できません。
qspacecreate (qspc) [‑A actions] [-n nonpersistent_msg_memory[b,B]] [‑o overflow_memory][queue_space_name [ipckey [pages [queues [trans [procs [messages [errorq [inityn [blocking]]]]]]]]]]
キューに入れられたメッセージ用のキュー・スペースを作成する次の情報がコマンド行に指定されない場合は、プログラムによって入力が求められます。キュー・スペース名、共有メモリー・セグメントとセマフォのipckey、キュー・スペースに割り当てる物理ページ数、キューの数、同実行トランザクションの数、キュー・スペースに同時にアタッチされるプロセスの数、一度にキューに入れることができるメッセージの数、キュー・スペースのエラー・キューの名前、キュー・スペースの新エクステントでページを初期化するかどうか、キュー・スペースの初期化とウォーム・スタートのディスク入出力を実行するためのブロッキング要素です。
リクエストされた物理ページ数は4の倍数に最も近い値に切り下げられます。たとえば、リクエストされたページ数が50の場合、48ページのメモリーが割り当てられ、リクエストされたページ数が52の場合、52ページのメモリーが割り当てられます。エラー・キューには、指定されている最大回数の再試行をすでに実行したメッセージが保存されます(これらのメッセージは、元のキューからエラー・キューに移動されます)。管理者は、このキューが排出されるようにする必要があります。
割り当てられる物理ページは、キュー・スペースのオーバーヘッドを保存できるだけの数(1ページに対し、キューごとに1ページ加算)である必要があります。初期化オプションが「y」または「Y」に指定されている場合、キュー・スペースを保存するのに使用されるスペースが初期化され、このコマンドがしばらく実行される可能性があります。冗長化モードでは、キュー・スペースの初期化が5%完了するごとに、ピリオド(.)が1つ標準出力に表示されます。初期化オプションがオンになっていないにもかかわらず基本的なデバイスが文字特殊デバイスではない場合、まだそのエクステントに対して指定したサイズに到達していないと、ファイルが初期化されます(つまり、指定されたスペースを割り当てるためにファイルが増加します)。
キュー・スペースの作成時やウォーム・スタート(キュー・スペースの再起動)時にブロックの読取りおよび書込みを行う場合、入出力操作のサイズは、ブロッキング要素によって指定されるディスク・ページ・サイズの倍数として計算されます。
–A actionsオプションは、キューイング・サービス・コンポーネントが同時に処理できる追加のアクション数を指定します。ブロッキング操作の発生時に追加操作を利用できる場合、ブロッキング操作は条件を満たす状態になるまで保留されるように設定されます。ブロッキング操作が保留されると、他の操作リクエストを処理できます。ブロッキング操作が完了すると、その操作に関連する操作は続く操作でも実行できるようになります。ブロッキング操作がリクエストされた時点ですぐに条件を満たす状態にならず、利用可能な操作もない場合には、操作は失敗します。システムでは、キュー・スペースにアタッチ可能なプロセスの数と同じ数だけ操作が予約されているため、それぞれのキュー・マネージャ・プロセスは少なくとも1つブロッキング操作を所有できます。システムによって予約されているブロッキング操作の数を超える場合、管理者は予約数より多くの追加ブロッキング操作に対応できるようにシステムを設定することができます。–A actionsオプションが指定されていない場合、デフォルトはゼロになります。–Aオプションが指定されなくても、プログラムによって入力が要求されることはありません。
-n nonpersistent_msg_memoryオプションは、キュー・スペースに含まれるすべてのキューの非永続メッセージ向けに共有メモリー内で予約する領域のサイズを指定します。サイズは、バイト(b)またはブロック(B)で指定され、ブロック・サイズはディスク・ブロック・サイズと同じです。[bB]接頭辞はオプションで、指定されない場合、デフォルトはブロックになります。-nオプションが指定されない場合、メモリー・サイズはデフォルトでゼロ(0)になります。また、-nオプションが指定されない場合に、プログラムによって入力が要求されることはありません。
nonpersistent_msg_memoryの値がバイト(b)で指定されている場合、システムはその値をページ当たりのバイト数で割り(ページ・サイズはディスクのページ・サイズと等しい)、結果を直近の整数に切り捨て、そのページ数のメモリーを割り当てます。たとえば、ページ・サイズを1024バイト(1KB)として考えると、リクエストされた値が2000bの場合は1ページ分(1024バイト)のメモリー割当てが行われ、リクエストされた値が2048bの場合は2ページ分(2048バイト)のメモリー割当てが行われます。ページあたりのバイト数より小さい値をリクエストすると、0ページ(0バイト)が割り当てられます。
nonpersistent_msg_memoryの値をブロック(B)で指定し、1メモリー・ブロックが1メモリー・ページと等しいと仮定すれば、システムは指定した値と同じページ数を割り当てます。たとえば、リクエストされた値が50Bの場合、50ページ分のメモリー割当てが行われます。
キュー・スペースのnonpersistent_msg_memoryがゼロ(0)の場合、非永続メッセージ用の領域は確保されません。この場合、非永続メッセージをキューに登録しようとしても失敗します。永続的な記憶域と非永続的な記憶域は互換性がありません。メモリー領域の不足やフラグメント化のために一時的メッセージをキューに登録できない場合、メッセージ用の永続ストレージが十分にあってもキューへの登録操作は失敗します。ディスクの不足やフラグメント化のために永続的メッセージをキューに登録できない場合、メッセージ用の非永続ストレージが十分にあってもキューへの登録操作は失敗します。
–o overflow_memoryオプションは、割り当てられている共有メモリー・リソースの一部またはすべてが使用されているようなピーク・ロード状況に対応するために、共有メモリー内で予約するメモリー領域のサイズを指定します。メモリー・サイズはバイト単位で指定されます。追加のオブジェクトは、この追加メモリーから先着順に割り当てられます。追加メモリーに作成されたオブジェクトを閉じるか破棄すると、次にオーバーフローが発生するときに備えてメモリーが解放されます。–o overflow_memoryオプションが指定されない場合、デフォルトはゼロになります。–oオプションが指定されなくても、プログラムによって入力が要求されることはありません。この追加メモリー領域では、設定数より多くのオブジェクトを生成できますが、追加メモリーを特定の時点で特定のオブジェクトに対して使用できるとはかぎりません。現在オーバーフロー・メモリーを使用できるのは、アクション、ハンドル、カーソル、オーナー、一時キュー、タイマー、およびフィルタのみです。
qspacedestroy (qspds) [-f] [-y] [queue_space_name]
指定されたキュー・スペースを破棄するコマンド行で指定していないと、入力するよう求められます。指定したキュー・スペースがqmadminで開かれている場合は、閉じられます。デフォルトでは、このキュー・スペースにプロセスがアタッチされている場合、またはキュー・スペースのいずれかのキューにリクエストが存在する場合にはエラーが戻されます。リクエストが入っているキューの破棄については、qdestroyコマンドを参照してください。-fオプションを指定すると、キューにメッセージがあったり、キュー・スペースにプロセスがアタッチされている場合でも、すべてのキューを「強制的に」削除することができます。このコマンドは、-yオプションを指定していない場合に確認のためのプロンプトを表示します。コマンドが正常に完了すると、指定されたキュー・スペースの一時的メッセージはすべて失われます。
(qspl) [queue_space_name]
キュー・スペースの作成パラメータを一覧表示するコマンド行に指定されていない場合は、プログラムから入力するように要求されます。キュー・スペース名が入力されないと、現在開いているキュー・スペースのパラメータが表示されます。(開いているキュー・スペースがなく、値が入力されないと、エラーが発生します。)キュー・スペースの値(キュー・スペースをqspacecreateで作成した際の値、またはqspacechangeで最後に変更した際の値)を表示するだけでなく、このコマンドでは、すべてのキュー・スペース・エクステントのサイズが表示されます。システム予約メモリーの容量と構成済の共有メモリーの合計容量も表示されます。共有メモリー・リソース用に割り当てられるメモリー量が、バイト単位(b)で要求したときの量と一致しない場合もあります。説明と例については、"qspacecreate (qspc) [‑A actions] [-n nonpersistent_msg_memory[b,B]] [‑o overflow_memory][queue_space_name [ipckey [pages [queues [trans [procs [messages [errorq [inityn [blocking]]]]]]]]]]"-n nonpersistent_msg_memoryオプションを参照してください。
quit (q)
セッションを終了します。
verbose (v) [{off | on}]
冗長モードで出力を生成しますオプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。初期設定はoffです。
! shellcommand
シェルにエスケープして、shellcommandを実行します。
!!
直前のシェル・コマンドを再実行します。
# [text]
#で始まる行はコメント行で、無視されます。
<CR>
最後のコマンドを繰り返します

キューの設定シーケンスの例を次に示します。

$ QMCONFIG=/dev/rawfs qmadmin
qmadmin - Copyright (c) 1987 ATT; 1991 USL. All rights reserved.
QMCONFIG=/dev/rawfs
# create the list of devices on which the queue space
# can exist; specify two devices, 80000 and 600
# blocks, respectively
# NOTE: the first one will actually contain the device list
#
# create first device on a raw slice
#
> crdl /dev/rawfs 0 80000
Created device /dev/rawfs, offset 0, size 80000 on /dev/rawfs
#
# create another device on a UNIX file
#
> crdl /home/queues/FS 0 600
Created device /home/queues/FS, offset 0, size 600 on /dev/rawfs
#
# if you want a list of the device list
#
> v Verbose mode is now on

> lidl
universal device index. 0:
      name: /dev/rawfs
      start: 0
      size: 20000
      free space map(1 entry used 47 available):
         size[1]: 79974 addr[1]: 26
universal device index. 1:
      name: /home/queues/FS
      start: 0
      size: 600
      free space map(1 entry used 47 available):
              size[1]: 600 addr[1]: 0
#
# create a queue space
#
> qspacecreate
Queue space name: myqueuespace
IPC Key for queue space: 42000
Size of queue space in disk pages: 50000
Number of queues in queue space: 30
Number of concurrent transactions in queue space: 
Number of concurrent processes in queue space: 30
Number of messages in queue space: 20000
Error queue name: ERRORQ
Initialize extents (y, n [default=n]): y
Blocking factor [default=16]: 16
  ....................
#
# open queue space
#
> qopen myqueuespace
#
# use queue space defaults for queue
> qcreate
Queue name: service1
queue order (priority, time, fifo, lifo): fifo
out-of-ordering enqueuing (top, msgid, [default=none]): top,msgid
retries [default=0]: 1
retry delay in seconds [default=0]: 30
High limit for queue capacity warning (b for bytes used, B for blocks used,
  % for percent used, m for messages [default=100%]): 100m
Reset (low) limit for queue capacity warning [default=0m]: 50
queue capacity command: /usr/app/bin/mailadmin myqueuespace service1
#
# get out of the program
#
> q

セキュリティ

キューの管理者はOracle Tuxedo管理者と同じでなければなりません。キューが存在するデバイスは、管理者が所有しなければならず、qmadminは、キューの管理者としてのみ実行できます。キューに割り当てられたIPCリソースはすべて、キューの管理者によって所有され、モード0600で作成されます。

移植性

qmadminは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。

Windows標準入出力

qchange ...Queue capacityコマンドなど、qmadmin()セッション内で構成したコマンドを実行するために、WindowsのCreateProcess()関数は、子プロセスをDETACHED PROCESSとして生成します。このようなプロセスには、標準入出力のための関連コンソールがありません。したがって、たとえば、標準コマンド行構文を使ってdirdateなどの組込みコマンドを実行するqchange ... Queue capacityを設定した後で、標準出力をファイルにパイプまたはリダイレクトすると、コマンド実行が完了した時点でそのファイルは空になります。

この問題を解決する方法として、たとえば、qchange ... Queue capacity commandを実行するために、date /t > x.outコマンドでファイルのdate情報を取得します。この処理を対話的に行うには、次のような手順で実行します。

qmadmin
> qopen yourQspace 
> qchange yourQname
> go through all the setups... the threshold queue capacity warning,
    and so on 
> "Queue capacity command: " cmd /c date /t > x.out

この処理をyourFile.cmdなどのコマンド・ファイルから行う場合は、date /t > x.outコマンドをyourFile.cmdに追加し、次のように実行します:

qmadmin
> qopen yourQspace 
> qchange yourQname 
> go through all the setups... the threshold queue capacity warning,
     and so on
> "Queue capacity command: " yourFile.cmd

関連項目:

  • Oracle Tuxedoアプリケーション実行時の管理

rex(1)

名前

rex - オフラインの正規表現コンパイラおよびテスター。

形式

コンパイル:

rex pattern_file C_file

テスト:

rex pattern [file . . . ]

説明

引数なしで起動する場合、rexは標準入力から正規表現を読み取り、初期化した文字配列を標準出力に書き込みます。通常、出力はCプログラムにインクルードされます。これにより、実行時間およびプログラムのサイズの両方を節約できます。コマンドrexは、標準入力(通常は入力ファイルから切り替えられる)の正規表現をコンパイルし、出力を標準出力(通常は出力ファイルに切り替える)に書き込みます。

入力ファイルにはいくつかのパターンがあります。各形式は次のようになります。

name string [ string . . .]

このnameは出力配列で使用されるCの名前で、stringは二重引用符で囲んだ正規表現です。複数のstringnameの後にある場合は、1つのstringに結合されます。(複数のstringは、形式を指定しやすいように配慮したものです。)パターンに二重引用符が含まれる場合は、前にバックスラッシュを付ける必要があります。

出力は、Cプログラムにインクルードされるかまたはコンパイルされ、後でロードされます。rex出力を使用するCプログラムでは、rematch(abc,line,0)は、名前がabcである正規表現をlineに適用します。

次にサンプル入力ファイルを示します。

cname “[a-zA-Z_][a-(3c)-Z0-9_]*”

tn         “\\\\(([0-9]{3})$0\\\\)”
           “([0-9]{3})$1”
           “-”
           “([0-9]{4})$2”

これに対応する出力は、次のようになります。

/* pattern: “[a-aA-Z_][a-zA-Z0-9_]*" */
char cname[] = {
040,0,0206,012,0,0210,0141,0172,0210,0101,0132,0137,
... };

/* pattern: "\\\\(([0-9]{3})$0\\\\)([0-9]{3})$1-([0-9]{4})$2" */
char tn[] = {
063,0,050,0202,0225,013,0,03,0206,06,0,0210,060,071,
... };

rexに1つ以上の引数を指定して起動することにより、テストするデータをパターンと突き合せることができます。最初の引数は、残りの引数で指定される名前のファイルの各行に適用されるパターン(正規表現)として扱われます。ファイル名の引数が指定されない場合、標準入力が使用されます。特殊なファイル名-は、標準入力を指す引数として使用できます。

一致するテキストがある場合、一致したものを含む行が出力され、行の一致した部分にアンダースコアが引かれます。さらに、指定されたサブ・パターン用に抽出したすべてのテキストが、別の行に出力されます。

たとえば、次のコマンド:

rex '(^| )([0-9]+)$0(|$)'

で次を入力すると:

... or 200 programmers in one week.
This sentense has 3 erors.
I need 12 bad men.

生成結果は次のようになります:

... or 200 programmers in one week.
         -----
$0 = `200'
    
This sentense has 3 erors.
                ---
$0 = `3'

I need 12 bad men.
     ----
$0 = `12'

診断

エラーは、ファイルのオープン・エラー、引数エラーなどです。

関連項目:

tlisten(1)

名前

tlisten - 汎用リスナー・プロセス。

形式

tlisten [-d device] -l nlsaddr [-u {uid-# | uid-name}][-s][-n 
sec_principal_name][-c sec_principal_location][-p sec_principal_passvar] 
[-z bits] [-Z bits ][-j jmxaddr][-m jvm_min_mem][-M jvm_max_mem][-S][-C 
keyStore][-P keyStorePassword]

説明

tlistenは、ネットワーク独立のリスナー・プロセスで、Oracle Tuxedo ATMIアプリケーション・プロセッサ上でdaemonプロセスとして実行され、たとえばtmboot(1)など、他のOracle Tuxedo ATMIプロセスに対してリモート・サービス接続を提供します。tlistenでは、次のコマンド行オプションが使用されます。

-d device
ネットワーク・デバイスのフルパス名。このパラメータは省略可能です。バージョン6.4より前のリリースでは、基底のネットワーク・プロバイダで必要とされる場合に使用してください。
-l nlsaddr
プロセスが接続をリスニングするネットワーク・アドレス。次の表に、TCP/IPアドレス形式の一覧を示します。

表1-16 IPv4、IPv6およびSDPのアドレス形式

IPv4 IPv6 SDP
//IP:port //[IPv6 address]:port sdp://IB_IP:port
//hostname:port_number //hostname:port_number -
//#.#.#.#:port_number Hex format is not supported -
tlistenはローカル名を解決する手法(通常はDNS)を使用してhostnameのアドレスを検索します。hostnameにはローカル・マシン名を指定し、ローカル名解決機能でhostnameがローカル・マシンのアドレスに明確に解決される必要があります。
IPv4の場合、文字列#.#.#.#はドットで区切った10進数の形式です。ドット区切りの10進数形式では、それぞれの#0から255の数字を指定します。このドット区切りの10進数は、ローカル・マシンのIPアドレスを表します。どちらの形式の場合も、port_numbertlistenプロセスが入力リクエストに対してリスンするTCPポート番号です。port_numberの値には、0から65535の数字または名前を指定できます。

ノート:

一部のポート番号は、お使いのシステムで使用されるトランスポート・プロトコル(TCP/IPなど)のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート・プロトコルのドキュメントを調べてください。
port_numberには、ローカル・マシンのネットワーク・サービス・データベース内に存在する名前を指定する必要があります。アドレスは、先頭に「 0x 」をつけ、16進形式で指定することもできます。「 0x 」の後の各文字は、 0 - 9の数字か、 A - Fまでの英字(大文字/小文字に関係なく)です。16進数の形式は、IPX/SPXやTCP/IPのような任意のバイナリ・ネットワーク・アドレスに使うことができます。アドレスはまた、任意の文字列として指定することもできます。値は、構成ファイルのNETWORKセクションのNLSADDRパラメータに指定された値と同じである必要があります。
このパラメータに指定するプリンシパル名は、このマシンで実行される1つまたは複数のシステム・プロセスの識別子として使用されます。
-s
デフォルトのLLE接続の代わりにSSL接続を指定します。-sオプションを有効にするには、UBBCONFIG(5)*Resources Section SSLオプションにSSLを含める必要があります。

ノート:

UBBCONFiGの*Resourcesセクションとtlisten SSL の設定が同期していない場合、アプリケーションは起動しません。
-n sec_principal_name
Oracle Tuxedo 10.0以降のソフトウェアを実行するアプリケーションで認証に使用するためのセキュリティ・プリンシパル名の識別文字列を指定します。このパラメータには、最後のNULL文字を除いて511文字まで指定できます。
-c sec_principal_location
Oracle Walletを使用する場合、サブディレクトリwallet.sec_principal_nameを含むディレクトリの場所を指定します。-nオプションで指定されたプリンシパル名のOracle Walletは、このディレクトリに格納されます。従来のTuxedoセキュリティ資格証明形式を使用する場合、これは、sec_principal_nameで指定されたプリンシパルの復号化(プライベート)キーを収めるファイルまたはデバイスの場所を指定します。ウォレットまたは秘密キーがAPPDIRの下のディレクトリにある場合は、相対パスを使用してこの場所を指定することもできます。
sec_principal_locationパラメータには最大1023文字を指定できます(最後のNULL文字を除く)。
-p sec_principal_passvar
SEC_PRINCIPAL_NAMEで指定されたプリンシパルのパスワードが格納される変数を指定します。このパラメータには、最後のNULL文字を除いて31文字まで指定できます。
-u {uid-# | uid-name}
tlistenは、指定されたユーザーとして動作します。このオプションにより、 rootによるシステムの初期化処理の一部としてtlistenを起動できます。tlistenの実行ユーザーがrootである場合には、このオプションは必須です。したがって、tlistenプロセスはrootが実行したり、rootまたはnon-rootとして実行したりすることが可能です。tlistenコマンドをroot以外のユーザーが使用する場合には、 -uオプションは必要はありません。root以外のユーザーは-uオプションを設定することはできますが、このオプションにはそのユーザー自身のユーザーIDにしか設定できないので、あまり意味はありません。プロセッサ上でのtlistenプロセスは、使用するアプリケーション管理ユーザーIDが同じであるOracle Tuxedo ATMIアプリケーションすべてをサポートできます。
-z [0 | 40 | 56 | 128| 256]
Oracle Tuxedoの管理プロセスとtlistenとの間のネットワーク・リンクを確立する場合の、最小レベルの暗号化を指定します。 0は暗号化が行われないことを示し、 40, 56, 128,および256は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルト値は0です。

ノート:

リンク・レベルの暗号化の値40は、下位互換性を維持するために提供されています。 256ビットの暗号化は、現時点ではSSLを使用している場合にのみ指定できます。このリリースのOracle Tuxedoでは、0ビット、40ビットまたは56ビットのSSLの暗号化キーはサポートされません。暗号化キーの最小サイズは112です。min-max値が40または56で構成されている場合は、112がデフォルトで使用されます。
-Z [0 | 40 | 56 | 128| 256]
Oracle Tuxedoの管理プロセスとtlistenとの間にネットワーク・リンクを確立する場合の、最大レベルの暗号化を指定します。 0は暗号化が行われないことを示し、 40, 56, 128,および256は暗号化キーの長さをビット単位で指定します。デフォルト値は128です。

ノート:

リンク・レベルの暗号化の値40は、下位互換性を維持するために提供されています。 256ビットの暗号化は、現時点ではSSLを使用している場合にのみ指定できます。0ビットの最大暗号化レベルには-s SSL接続オプションとの互換性はありません。このリリースのOracle Tuxedoでは、0ビット、40ビットまたは56ビットのSSLの暗号化キーはサポートされません。暗号化キーの最小サイズは112です。min-max値が40または56で構成されている場合は、112がデフォルトで使用されます。
-j jmxaddr
このオプションは、埋込みJMXエージェントの起動に使用します。
jmxaddrで、埋込みJMXエージェントのRMIコネクタのアドレスを指定します。アドレスが他のプロセスに占有されていた場合、ULOGにエラーメッセージが出力され、JMXエージェントは起動しません。

表1-17 IPv4およびIPv6のアドレス形式

IPv4 IPv6
rmi://IP:port rmi://hostname:port_number rmi://[IPv6 address]:port rmi://hostname:port_number
rmi://#.#.#.#:port_number 16進数形式はサポートされません。

ノート:

MPドメインの場合、tlisten-jオプションをすべてのマシン・ノードに構成する必要があります。
-m jvm_min_mem
このオプションは、JMXエージェントが使用するJVMに割り当てる必要がある最小メモリー・サイズをMB単位で指定します。デフォルトの値は200MBです。
-M jvm_max_mem
このオプションで、JMXエージェントが使用するJVMに割り当て可能な最大のメモリー・サイズをMB単位で指定します。jvm_max_memの値をjvm_min_memの値より低く設定すると、JVMは作成されず、JMXエージェントは起動しません。デフォルトの値は500MBです。
-S
このオプションで、EM OMS/エージェントとJMXエージェントの間のデフォルト接続ではなく、SSL接続を指定します。
-C keyStore
このオプションで、keyStore絶対パスを指定します。
-P keyStorePassword
このオプションで、キーストアのパスワードを保管する環境変数を指定します。この変数は、ttyが追加されない場合にのみ有効です。

tlistenプロセスは、ほとんどのサービス・リクエストを認証します。tlistenは、パスワードの一覧ファイルを読み取ります。サービスをリクエストするプロセスは、そのファイル内にあるパスワードを少なくとも1つ提示しなければなりません。APPDIR環境変数が設定された場合、APPDIR/.adm/tlisten.pwという名前のファイルからパスワードが取得されます。

ノート:

パスワードが入力されると、tlisten.pwファイルが暗号化されます。新しいパスワードを追加する場合は、tlistpwd(1)を使用する必要があります。新しいパスワードは画面には表示されません。既存のパスワードを削除するには、tlisten.pwの対応する行を削除する必要があります。tlistenパスワードを作成および使用する場合は、まったく同じTUXDIRを使用する必要があります。Tuxedo 11gR1をMPモードでマスターとして使用する際、旧バージョンのTuxedoをインストールしてインストール後にtlistenパスワードを変更しなかった場合、セキュリティ・ネゴシエーション・エラー・メッセージ(CMDTUX_CAT:4291)が表示されます。この問題を解決するには、(前のTuxedoバージョンの) 1つの空白行を$TUXDIR/udataobj/tlisten.pwの末尾に追加する必要があります。

このファイルが見つからない場合、システムは、Oracle Tuxedo ATMIシステムがインストールされる際に作成されるTUXDIR/udataobj/tlisten.pwを探します。長さがゼロであったり、パスワードがないファイルでは、パスワード・チェックが無効になります。この安全でないモードで実行すると、tlistentlistenに接続しているすべてのプロセスがユーザー・ログの警告メッセージを生成します。

tmbootなどのように、tlistenからサービスをリクエストするプロセスは、認証の際に使用するパスワードをプロセスが稼働しているマシンのファイルから検索します。このとき、tlistenと同じ方法でパスワード・ファイルを検索します。

環境変数

  • APPDIRは、tlistenパスワード・ファイルの位置を指定するために設定します。
  • 共有オブジェクトを使用するSVR4アプリケーションに対して、環境変数LD_LIBRARY_PATHを設定する必要があります。tlistenプロセスを開始する前にTUXDIR/libに設定してください。一部のUNIXシステムでは、別の環境変数が必要となる場合もあります。HP-UXシステムではSHLIB_PATH環境変数を、AIXシステムではLIBPATH環境変数を使用します。
  • TMUSEIPV6は、IPバージョンを切り替えるために使用されます。n|NはデフォルトのIPv4値で、y|YにするとIPv6値に設定されます。MPモードでは、スレーブ・マシン上でtlisten実行する前にTMUSEIPV6y|Yを設定する必要があります。
  • tlistenを実行する前に、TUXDIRを設定してエクスポートする必要があります。
  • ULOGPFXは、ログ・メッセージを格納しているファイルを送信するのに使用できます。

ノート:

インストールの間に管理パスワード・ファイルが作成されます。Oracle Tuxedo ATMIシステムでは、必要に応じて次のディレクトリでこのファイルを検索します。検索順序は次のとおりです。
  • APPDIR/.adm/tlisten.pw
  • TUXDIR/udataobj/tlisten.pw
管理パスワード・ファイルが確実に見つかるように、必ずAPPDIRかTUXDIR、またはその両方の環境変数を設定してください。

リンク・レベルの暗号化

リンク・レベル暗号化機能がtlistentmbootなどのリクエスト・プロセスとの間で動作している場合は、リンク・レベル暗号化を取り決め、アクティブにしてから認証します。

SSL暗号化

SSL暗号化機能がtlistentmbootなどのリクエスト・プロセスとの間で動作している場合は、SSL暗号化を取り決め、アクティブにしてから認証します。

終了

tlistenプロセスは通常、SIGTERMシグナルを送ることによってしか終了できません。

推奨される使用方法

システムの起動時、アプリケーションごとに1つのtlistenプロセスを起動することをお薦めします。tlistenを呼び出す前に、環境変数TUXDIRおよびAPPDIRを設定しておく必要があります。

tlistenプロセスを起動する別の方法として、手動による起動もできます。tlistenプロセスをアプリケーション管理者が起動する場合、-uオプションは省略できます。同じネットワーク・アドレスを使用してtlistenコマンドを重複して呼び出すと、コマンドは自動的に終了し、該当するメッセージが記録されます。

ネットワーク・アドレス

tlistenを実行するローカル・マシンがTCP/IPアドレス指定機能を使用しており、マシン名がbackus.company.com、アドレスが155.2.193.18であるとします。さらに、tlistenはポート番号2334でリクエストを受け取るとします。また、このポート番号2334bankapp-nlsaddrという名前のネットワーク・サービス・データベースに追加されているとします。-lオプションで指定するアドレスは、次に示す方法で表現できます。

  • IPv4
    //155.2.193.18:bankapp-nlsaddr
    //155.2.193.18:2334
    //backus.company.com:bankapp-nlsaddr
    //backus.company.com:2334
    0x0002091E9B02C112
    最後の表現は16進数形式です。0002はTCP/IPアドレスの最初の部分です。091Eは、ポート番号2334が16進数に変換された値です。その後、IPアドレス155.2.193.12の各要素は16進数に変換されています。つまり、155は9B、2は02というようになります。
  • IPv6
    //[fe80::202:55ff:fecf:50b]:9010

    ノート:

    IPv6は16進数形式をサポートしません。

STARLANネットワークの場合は、通常、推奨アドレスuname.tlistenが一意の名前になります。

Windowsコントロール・パネル・アプレット

コントロール・パネル・アプレットを介してリモートWindowsマシン上でtlistenプロセスを起動するためには、そのリモート・マシンに対する管理者権限が必要です。

関連項目:

tlistpwd(1)

名前

tlistpwd(1) - システムによって暗号化されたtlisten.pwファイルに対してパスワードを追加または変更するために使用します。

形式

tlistpwd $TUXDIR

説明

パスワードが入力されると、tlisten.pwファイルが暗号化されます。新しいパスワードを追加する場合は、tlistpwd(1)を使用する必要があります。新しいパスワードを$TUXDIR/udataobj/tlisten.pwの末尾に追加します。既存のパスワードを削除するには、tlisten.pwの対応する行を削除する必要があります。

ノート:

新しいパスワードは画面には表示されません。

tlistenパスワードを作成および使用する場合は、まったく同じTUXDIRを使用する必要があります。

移植性

tlistpwd(1)は、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。

互換性

tlistpwd(1)には次の制限があります:

  • ユーザー・パスワードは80文字未満にする必要があります。
  • このコマンドを実行する前に$TUXDIR環境変数を定義する必要があります。

診断

正常に実行された場合、tlistpwdは終了し、0を戻します。

tlistpwd /home/usr/tuxedo10gR3
Please enter the tlisten password:
Please verify the password:
tlistpwd: INFO: Password appended at the end of file
"/home/usr/tuxedo10gR3/udataobj/tlisten.pw".

関連項目:

tmadmin(1)

名前

tmadmin - Oracle Tuxedo掲示板コマンド・インタプリタ。

形式

tmadmin [ -r ] [ -c ] [ -v ]

説明

tmadminは、このエントリに指定されるコマンドを使用して、掲示板や関連するエンティティの調査と修正の機能を単一プロセッサ、マルチ・プロセッサまたはネットワーク環境に提供します。TUXCONFIGおよびTUXOFFSET環境変数を使用して、Oracle Tuxedo構成ファイルがロードされる場所とオフセットを判別します。tmadminでは以下のオプションがサポートされます。

-c
tmadmin-cオプションを指定して呼び出すと、構成モードになります。有効なコマンドは、defaultechohelpquitverboselivtoccrdllidldsdlindlおよびdumptlogのみです。tmadminは、非アクティブ・ノードを含むすべてのノードでこのモードで呼び出すことができます。ノードがアクティブとみなされるのは、tmadminが、(実行しているBBLを介して)管理プロセスまたはクライアントとしてアプリケーションに参加できる場合です。
-r
-rオプションを使用すると、tmadminは、管理者としてではなくクライアントとして掲示板に参加します。つまり、読取り専用モードをリクエストします。これは、管理者プロセス用スロットを非占有状態にしておく場合に有用です。

ノート:

-rオプションを使用すると、このオプションなしでtmadminを実行した際に取得される情報の一部しか得られないことに注意してください。特に、tmadmin -rを実行した場合、リモート・サイトで動作しているサーバーの負荷値は取得できません。管理プロセスになれるのは、一度に1つのtmadminプロセスのみです。Oracle Tuxedo管理者以外のユーザーが-rオプションを指定し、セキュリティがオンになっている場合、ユーザーはパスワードを求められます。
-v
-vオプションを使用してtmadminを実行すると、Oracle Tuxedoのバージョン番号とライセンス番号が表示されます。情報を出力した後、tmadminは終了します。その他2つのオプションは、-vオプションと共に使用しても無視され、-vオプションによってリクエストされる情報だけが表示されます。

通常、tmadminは、アクティブ・アプリケーション内のどのアクティブ・ノード上でも実行可能です。パーティション化されたアクティブ・ノードで実行する場合、またはマスター・ノードで使用可能なNLSがない場合は、ローカル掲示板への読取り専用アクセスを行うコマンドに制限されます。このようなコマンドは、bblsbbparmsbbstatdefaultdumpdumptlogechohelpinterfaceparms、printactiveobject、printclientprintinterface、printfactory、printnetprintqueueprintroute、printserverprintserviceprinttransprintgroupreconnectquitserverparmsserviceparmsverbose、および構成コマンドです。パーティション化ノードがMASTERのバックアップ・ノードの場合(構成ファイルのRESOURCESセクションのMASTERパラメータの2つ目のエントリとして指定される)、masterコマンドを使用すると、パーティション化されたアプリケーションのこの部分についてこのノードをMASTERにすることもできます。

アプリケーションがアクティブ状態でない場合、tmadminMASTERプロセッサ上でしか実行できません。このモードでは、すべての構成モード・コマンドと共に、TLOGコマンド(crlogdslogおよびinlog)とbootも利用できます。

tmadminが呼び出された後は、次に示す構文に従って、プロンプト(>)からコマンドを入力してください。

command [ arguments ]

共通して出現するいくつかの引数には、defaultコマンドを使用してデフォルト値が与えられます。defaultコマンドによって設定されたパラメータを受け付けるコマンドは、defaultに値が設定されているかどうかを調べます。値が設定されていない場合は、エラー・メッセージが戻されます。

ネットワーク環境またはマルチプロセッサ環境では、default machine (UBBCONFIGファイルのMACHINESセクションにリストされている論理machine ID (LMID))を設定することで、1つの掲示板にアクセスできます。default machineallに設定すると、すべての掲示板にアクセスします。machineDBBLに設定すると、特殊掲示板が使用されます。default machineはプロンプトの一部(たとえばMASTER>)として表示されます。

defaultコマンドによってmachineが設定されていない場合、DBBLが使用されます(SHM構成ではローカルBBLが使用されます)。

コマンドのmachine値は、通常はdefault設定から取得できます(たとえば、printserver)。ただし、この場合は注意が必要です。一部のコマンド(TLOGコマンドなど)は、TUXCONFIGで検出されたデバイスに対して作動するためです。DBBLまたはalldefault設定によってエラーが生成されます。一部のコマンド(logstartなど)では、コマンド行でmachineの値を指定する必要があります。この値は、-mオプションの引数としては表示されません。

一度設定したデフォルト値は、defaultコマンドで変更しないかぎり、セッション終了まで有効です。このデフォルト値は、コマンド行で明示的に値を入力してオーバーライドするか、「*」を入力して設定解除します。オーバーライドの効果は、コマンドの単一のインスタンスの間有効です。

tmadminコマンドの出力は、ページ別表示コマンドを指定することでページ別に表示できます。後述のpaginateサブコマンドの説明を参照してください。

詳細情報または要約情報を出力するコマンドがあります。verboseコマンドは、デフォルトの出力レベル設定に使用します。ただし、各コマンド(bootshutdownおよびconfigを除く)には、そのコマンドのみ詳細または要約情報を出力するための-vまたは-tオプションがあります。要約モードで出力すると、一部の情報(LMIDまたはGROUP名、サービス名、サーバー名など)は省略されることがあります。省略された場合は、値の末尾にプラス記号(+)が付加されます。情報をすべて表示するには、詳細モードでコマンドを再入力します。

tmadminコマンド

コマンドは、完全な名前または省略形(カッコ内に示す形式)で入力できます。その後に適切な引数を指定します。大カッコ[ ]で囲まれている引数は省略可能で、中カッコ{ }で囲まれている引数は、相互に排他的な選択肢を示します。大カッコで囲まれていないコマンド行オプションは、対応するデフォルトがdefaultコマンドで設定されている場合は、コマンド行に指定しなくてもかまいません(任意に指定できます)。中カッコで囲まれた一連のオプションの後の省略記号({}...)は、複数のオプションをコマンド行に指定できることを示します(少なくとも1つのオプションは指定する必要があります)。

aborttrans (abort) [ -yes ] [-g groupname[-R rmid]] tranindex
このコマンドは、慎重に使用する必要があります。
(コマンド行またはデフォルトで) groupnameが指定されると、指定されたサーバー・グループの指定されたトランザクション索引tranindexに関連付けられているトランザクションが中断します。このオプションの指定がない場合は、トランザクションのコーディネータにグローバル・トランザクションの中断を通知します。トランザクションがすでに決定されており、その決定がコミットである場合は、aborttransは失敗します。索引には、printtransコマンドを前回実行したときの結果が使用されます。トランザクションを完全に終了させるには、そのトランザクションに関わっているすべてのグループに対してprinttransおよびaborttransを実行する必要があります。
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。-Rオプションは-gオプションとともに使用する必要があり、rmidは、1以上31以下でなければなりません。
advertise (adv) {-q qaddress [ -g groupname ] [-i srvid] | -g groupname -i srvid} [-f SINGLETON|SECONDARYRQ] service[:func]
指定されたサービスのサービス表にエントリを作成します。serviceを関数funcにマッピングできます。qaddressが指定されていない場合は、サーバーを一意に識別するためにgroupnamesrvidの両方が必要です。このserviceをMSSQセットに追加すると、セットのすべてのサーバーがサービスを通知します。MSSQセットのすべてのサーバーがそのサービスを通知できない場合、通知は許可されません。「.」で始まるサービスは、システム・サーバーが使用するために予約されています。アプリケーション・サーバー用には通知できません。
SINGLETONを指定した場合は、サービスがドメイン内で一意のサービスであることを示します。SECONDARYRQを指定した場合は、サービスをセカンダリ・リクエスト・キューにのみ通知できることを示します。
bbclean (bbc) machine
マシンmachineに存在する掲示板およびDBBLにアクセスするすべてのプログラムの整合性をチェックします。bbcleanは、使用不能のサーバーを正常に削除し、再起動可能とマークされている場合は再起動します。どのプロセスにも関連しなくなったリソースも削除します。最後のステップとして、bbcleanDBBLが各BBLのステータスをチェックするようにします。いずれかのBBLが指定したSCANUNIT (秒)内に応答しない場合は、パーティション化されているものとしてマークされています。特殊掲示板のみを消去するには、machineDBBLとして指定する必要があります。SHMモードでは、BBLで障害が発生してもbbcleanによって再起動されます。machineパラメータは任意です。
bbparms (bbp)
サーバー、オブジェクト、インタフェースおよびサービスの最大数など、掲示板に関するパラメータの要約を表示します。
bbsread (bbls) machine
マシンmachine上の掲示板のIPCリソースのリストを表示します。SHMモードでは、machineパラメータは任意です。リモート・マシンからの情報は使用できません。
bbstats (bbs)
掲示板に関する統計情報の要約を表示します。(shmstatsも参照してください。)
boot (b) [ options]
このコマンドはtmboot()コマンドと同じです。オプションの説明および使用上の制限事項については、「tmboot(1)」を参照してください。
broadcast (bcst) [-m machine] [-u usrname] [-c cltname] [text]
選択されたすべてのクライアントに任意通知型メッセージをブロードキャストします。送信されるメッセージは、データがtextSTRING型の型付きバッファです。textの長さは80文字以内にする必要があります。textに複数の語を含める場合は、引用符で囲む必要があります("text text")。パラメータが設定されない場合(デフォルトもない場合)、その識別子のワイルドカード値になります。
changeload (chl) [-m machine] {-q qaddress [-g groupname] [-i srvid] -s service | -g groupname -i srvid -s service | -I interface [-g groupname]} newload
指定したサービスまたはインタフェースに関連付けられたロードをnewloadに変更します。qaddressが指定されていない場合は、groupnamesrvidの両方を指定する必要があります。CORBA環境ではinterfaceを指定できます。machineallに設定されている場合、または何も設定されていない場合、変更はすべてのマシンで行われます。それ以外の場合、指定されたmachineでローカルの変更が行われます。ローカルの変更は、その後のグローバル(またはローカル)の変更によってオーバーライドされます。
changemonitor (chmo) [-m machine] [-g groupname] [-i serverid] newspec
現在実行しているプロセスの実行時パフォーマンス・モニタリング動作をnewspecに変更します。
changepriority (chp) [-m machine] {-q qaddress [-g groupname] [-i srvid] -s service | -g groupname -i srvid -s service | -I interface [-g groupname]} newpri
指定したサービスまたはインタフェースに関連付けられたデキューの優先度をnewpriに変更します。qaddressが指定されていない場合は、groupnamesrvidの両方を指定する必要があります。CORBA環境では、interfaceを指定できます。machineallに設定されている場合、または何も設定されていない場合、変更はすべてのマシンで行われます。それ以外の場合、指定されたmachineでローカルの変更が行われます。ローカルの変更は、その後のグローバル(またはローカル)の変更によってオーバーライドされます。
changetrace (chtr) [-m machine] [-g groupname[-R rmid] [-i srvid [-s service] ] ] newspec
現在実行しているプロセスの実行時トレース動作をnewspecに変更します。(newspecの構文は、「tmtrace(5)」を参照してください。)
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。-Rオプションは-gオプションとともに使用する必要があり、rmidは、1以上31以下でなければなりません。
実行中の特定のサーバー・プロセスのトレース仕様を変更するには、-gおよび-iオプションを指定します。特定のグループで現在実行中のサーバー・プロセスの構成を変更するには、-gオプションを-iオプションなしで指定します。
サービス・レベルのトレースをアクティブ化または非アクティブ化するには、group nameserver idおよびservice nameを同時に設定する必要があります。このコマンドでは、ローカル共有メモリー内のサービス・レベルのトレース動作のみが変更されます。Oracle Tuxedoが停止されると、サービス・レベルのトレース情報はクリアされます。
同時に異なるサービスに異なるトレース形式を設定できます。サービス・レベルのトレース形式は、サーバー・レベルのトレースと同じです。サービス・レベルのトレースは、SHMモードとMPモードに対して有効です。
次の表に、サービス・レベルのトレース動作の一覧を示します。

表1-18 サービス・レベルのトレース動作

サーバー・レベルのトレース サービス・レベルのトレース サービス・トレース動作 サーバー・トレース動作
オン オン->オフ オフ オン
オン オフ->オン サービス・レベルの形式オン オン
オフ オン->オフ オフ オフ
オフ オフ->オン サービス・レベルの形式オン オフ
オン->オフ オン オフ オフ
オン->オフ オフ オフ オフ
オフ->オン オン サービス・レベルの形式オン オン
オフ->オン オフ サービス・レベルの形式オン オン
checktrace (chktr) [-m machine] [-g groupname [-s srvid [-s service] ] ]
特定のサービスのトレース仕様を確認するには、-g-iおよび-sオプションを使用します。
実行中の特定のサーバー・プロセスのトレース仕様を確認するには、-gおよび-iオプションを使用します。
特定のグループで現在実行中のサーバー・プロセスの構成を確認するには、-gオプションを-iオプションなしで使用します。
特定のマシンで実行中のすべてのクライアントおよびサーバー・プロセスの構成を確認するには、-mオプションを指定します。-g-i-sおよび-mのいずれのオプションも使用しなかった場合は、デフォルトのマシンのすべての非管理のプロセスが確認されます。
changetrantime (chtt) [-m machine] {-q qaddress [-g groupname] - [-i srvid] -s service | -g groupname -i srvid -s service | -I interface [-g groupname]} newtlim
指定したサービスまたはインタフェースに関連付けられたトランザクション・タイムアウト値をnewtlimに変更します。qaddressが指定されていない場合は、groupnamesrvidの両方を指定する必要があります。CORBA環境では、interfaceを指定できます。machineallに設定されている場合、または何も設定されていない場合、変更はすべてのマシンで行われます。それ以外の場合、指定されたmachineでローカルの変更が行われます。ローカルの変更は、その後のグローバル(またはローカル)の変更によってオーバーライドされます。
committrans (commit) [ -yes ] [-g groupname[-R rmid]] tranindex
このコマンドは、慎重に使用する必要があります。
指定したサーバー・グループの指定したトランザクション索引tranindexに関連付けられたトランザクションをコミットします。指定したサーバー・グループでトランザクションがプリコミットされていない場合、またはトランザクションが中断のみとして認識されている場合、committransは失敗します。索引には、printtransコマンドを前回実行したときの結果が使用されます。-yesオプションを指定せずに、このコマンドを実行すると、処理を進める前に確認を求められます。
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。-Rオプションは-gオプションとともに使用する必要があり、rmidは、1以上31以下でなければなりません。
config (conf)
このコマンドはtmconfigコマンドと同じです。使用方法の説明は、「tmconfig、wtmconfig(1)」を参照してください。
crdl -b blocks -z config -o configoffset [ -O newdefoffset ] [ newdevice ]
汎用デバイス・リストにエントリを作成します。blocksは、デバイスに割り当てられる物理ブロック数を指定します。デフォルトのblocks値は1000ブロックに初期化されます。configoffsetには、領域の割当てを開始するブロック番号を指定します。-oオプションを指定せず、デフォルト値も設定されていない場合は、環境変数FSOFFSETの値が使用されます。FSOFFSETが設定されていない場合、デフォルトは0です。configは最初のデバイス(デバイス・リストを含む)を指します。絶対パス名(先頭が/)を指定する必要があります。-zオプションが指定されず、デフォルトが設定されていない場合は、FSCONFIG環境変数で指定されるパスが使用されます。crdlコマンドのnewdevice引数を指定する場合は、作成するデバイスを指す絶対パス名(先頭が/)を指定する必要があります。このパラメータが指定されない場合、newdeviceのデフォルトはconfigデバイスになります。newdefoffset では、newdeviceの開始位置のオフセットを指定します。-O (大文字のO)オプションが指定されない場合、デフォルトは0 (ゼロ)です。
crlog (crlg) -m machine
指定またはデフォルトのmachine (「DBBL」または「all」は設定できません)に対してDTPトランザクション・ログを作成します。構成ファイルTLOGがそのマシン用に定義されていなければ、エラーになります。このコマンドはTUXCONFIGファイルを参照して、TLOGを格納しているOracle Tuxedoファイル・システム、そのファイル・システム内でのTLOGの名前、オフセットおよびサイズを判別します(「UBBCONFIG(5)」を参照)。
default (d) [-g groupname] [-i srvid] [-m machine] [-u usrname] [-c cltname] [-q qaddress] [-s service] [-b blocks] [-o offset] [-z config] [-a { 0 | 1 | 2}] [-I interface] [-B objectid] [-r routingname]
対応する引数をデフォルトのグループ名、サーバーID、マシン、ユーザー名、クライアント名、キュー、サービス名、デバイス・ブロック、デバイス・オフセット、あるいはUDL構成デバイス・パス(/で始まる絶対パス名でなければなりません)などに設定します。-aオプションについては、printserviceを参照してください。CORBA環境では、対応する引数に、デフォルトのオブジェクトのインタフェース名、オブジェクトIDまたはファクトリ・ベースのルーティング名を設定することもできます。-Bを使用してobjectIDパラメータが指定されている場合、マシン引数(-m)も指定する必要があります。すべてのデフォルト値は、引数として*を指定することにより設定を解除できます。machineがマシン識別子に設定されている場合、以降の検索を特殊掲示板から実行するには、machineDBBLを設定する必要があります。machineを設定解除すること(-m *)は、DBBLに設定することと同じです。defaultコマンドを引数なしで入力した場合は、現在のデフォルトの値が表示されます。
dsdl [ -yes ] -z config [ -o offset ] dlindex
汎用デバイス・リストにあるエントリを破棄します。dlindex引数は、デバイス・リストから削除するデバイスの、汎用デバイス・リストでの索引です。エントリ0を削除するには、最初にすべてのVTOCファイルおよび他のデバイス・リストを破棄する必要があります(エントリ0には、デバイス・リストと目次を保持するデバイスが含まれるため、エントリ0を破棄するとこれら2つの表も破棄されるためです)。configには、汎用デバイス・リストを含むデバイスを指す絶対パス名(先頭が/)を指定する必要があります。-zオプションが指定されず、デフォルトが設定されていない場合は、FSCONFIG環境変数で指定されたパスが使用されます。offsetは、configにオフセットを指定します。-oオプションを指定せず、デフォルト値も設定されていない場合は、環境変数FSOFFSETの値が使用されます。FSOFFSETが設定されていないと、デフォルトは0です。-yesオプションを指定せずに、このコマンドを実行すると、処理を進める前に確認を求められます。
dslog (dslg) [ -yes ] -m machine
指定またはデフォルトのmachine (「DBBL」または「all」は設定できません)のDTPトランザクション・ログを破棄します。TLOGがマシンに定義されていない場合、アプリケーションが非アクティブでない場合、あるいは未処理のトランザクション・レコードがログに残っている場合には、エラーが戻されます。「未処理のトランザクション」とは、グローバル・トランザクションがすでにコミットされているが、トランザクションの終了がまだ書き込まれていないトランザクションのことです。このコマンドは、TUXCONFIGファイルを参照して、TLOGを収めているOracle Tuxedoファイル・システム、およびそのファイル・システム内のTLOGの名前を判別します。-yesオプションを指定せずにこのコマンドを実行すると、処理を進める前に確認を求められます。
dump (du) filename
現在の掲示板をファイルfilenameにダンプします。
dumptlog (dl) -z config [ -o offset ] [ -n name ] [-g groupname[-R rmid]] filename
指定されたfilenameTLOGのテキスト・バージョンをダンプします。TLOGは、configoffsetで指定された場所にあり、名前はnameで指定されます。-nオプションが指定されず、デフォルトも設定されていない場合は、「TLOG」という名前が使用されます。configには、汎用デバイス・リストを含むデバイスを指す絶対パス名(先頭が/)を指定する必要があります。-zオプションが指定されず、デフォルトが設定されていない場合は、FSCONFIG環境変数で指定されるパスが使用されます。
-o offsetオプションを使用すると、configのオフセットを指定できます。-oオプションを指定せず、デフォルト値も設定されていない場合は、環境変数FSOFFSETの値が使用されます。FSOFFSETが設定されていないと、デフォルトは0です。groupnameが指定されると、そのグループがコーディネータとなっているトランザクションのログ・レコードのみがダンプされます。
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。-Rオプションは-gオプションとともに使用する必要があり、rmidは、1以上31以下でなければなりません。
echo (e) [{off | on}]
onに設定すると、入力コマンド行をエコーします。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。初期設定はoffです。
help (h) [{command | all}]
ヘルプ・メッセージを出力します。commandを指定すると、そのコマンドの省略形、引数および説明が出力されます。allを指定すると、すべてのコマンドの説明が表示されます。引数をすべて省略すると、すべてのコマンドの構文が表示されます。
initdl (indl) [ -yes ] -z config [ -o offset ] dlindex
デバイス・リストのデバイスを再初期化します。引数dlindexは、再初期化するデバイスの汎用デバイス・リストでの索引です。指定されたデバイスのすべての領域が解放されます。つまり、デバイスに格納されているすべてのファイルなどは上書きされることになります。このコマンドを使用するときは注意してください。-yesオプションが使用されない場合、このコマンドは、実行の前に確認のためのプロンプトを表示します。configには、汎用デバイス・リストを含むデバイスを指す絶対パス(先頭が/)を指定する必要があります。-zオプションが指定されず、デフォルトが設定されていない場合は、FSCONFIG環境変数で指定されるパスが使用されます。-o offsetオプションを使用すると、configのオフセットを指定できます。-oオプションを指定せず、デフォルト値も設定されていない場合は、環境変数FSOFFSETの値が使用されます。FSOFFSETが設定されていないと、デフォルトは0です。
inlog [ -yes ] -m machine
指定またはデフォルトmachine (「DBBL」または「all」は設定できません)のDTPトランザクション・ログを再初期化します。TLOGがマシンに定義されていない場合、またはアプリケーションが非アクティブでない場合は、エラーが戻されます。未処理のトランザクションがTLOGに存在する場合、それらのトランザクションの参加者として動作するリソース・マネージャ間でデータが矛盾することがあります。リソース・マネージャが、ローカル・トランザクションを正しくコミットせずに中断した可能性があるためです。このコマンドは、TUXCONFIGファイルを参照して、TLOGを収めているOracle Tuxedoファイル・システム、およびそのファイル・システム内のTLOGの名前を判別します。-yesオプションを指定せずにこのコマンドを実行すると、処理を進める前に確認を求められます。
interfaceparms (ifp) -g groupname-I interface
インタフェースの名前やそれに関連するロード、優先度、タイムアウト、トランザクションのタイムアウト値などの特定のオブジェクト・インタフェースに関する情報を表示します。groupnameおよびinterfaceの引数は一意でなければなりません。このコマンドは、CORBA環境でのみ使用されます。
lidl -z config [ -o offset ] [ dlindex ]
汎用デバイス・リストを表示します。デバイスごとに、名前、先頭ブロックおよびデバイスのブロック数が一覧表示されます。冗長モードでは、未使用領域を示すマップが表示されます(未使用領域の先頭アドレスおよびサイズ)。dlindexが指定されている場合は、そのデバイス・リスト・エントリの情報のみが表示されます。configには、汎用デバイス・リストを含むデバイスを指す絶対パス名(先頭が/)を指定する必要があります。-zオプションが指定されず、デフォルトが設定されていない場合は、FSCONFIG環境変数で指定されるパスが使用されます。-o offsetオプションを使用すると、configのオフセットを指定できます。-oオプションを指定せず、デフォルト値も設定されていない場合は、環境変数FSOFFSETの値が使用されます。FSOFFSETが設定されていないと、デフォルトは0です。
livtoc -z config [ -o offset ]
VTOC表のすべてのエントリについて情報を表示します。各エントリについて表示される情報は、VTOC表の名前、VTOC表のあるデバイス、デバイスの先頭からのVTOC表のオフセットおよびこの表に割り当てられているページ数があります。configには、汎用デバイス・リストを含むデバイスを指す絶対パス名(先頭が/)を指定する必要があります。-zオプションが指定されず、デフォルトが設定されていない場合は、FSCONFIG環境変数で指定されるパスが使用されます。-o offsetオプションを使用すると、configのオフセットを指定できます。-oオプションが指定されていない場合は、環境変数FSOFFSETの値が使用されます。FSOFFSETが設定されていないと、デフォルトは0です。
loadtlog -m machine filename
指定されたfilename (dumptlogにより生成)のTLOGのテキスト・バージョンを、指定またはdefaultmachine (「DBBL」または「all」にはできません)の既存のTLOGに読み取ります。
logstart machine
指定されたmachineでのTLOG情報のウォーム・スタートを強制実行します。これは通常、loadtlogの実行後、サーバー・グループの移行の際のディスク再配置に続いて行う必要があります。
master (m) [ -yes ]
パーティション化時にmasterがバックアップ・ノードで動作していると、このバックアップ・ノードはマスター・ノードに変わり、DBBLが起動されて管理プロセスを引き継ぎます。バックアップ・ノードがマスターとして動作しているときに、masterをマスター・ノード上で実行すると、そのDBBLはマスター・ノードに移行し、バックアップ・ノードはその時点でマスター・ノードとしての働きを停止します。-yesオプションを指定せずにこのコマンドを実行すると、処理を進める前に確認を求められます。
migrategroup (migg) [-cancel] group_name
migrategroupコマンドはサーバー・グループ名を引数とします。構成ファイルにMIGRATEオプションとそのグループの代替位置が指定されている場合、group_name内のすべてのサーバーは代替位置に移行します。移行の際には、次のコマンドを実行してサーバーを停止する必要があります。

shutdown -R -g groupname

-Rオプションでは、移行を可能にするために掲示板のサーバー名が保持されます。shutdown -R後に次のコマンドによって移行を取り消すことができます。

migrategroup -cancel groupname

-cancelオプションでは、サーバー名が掲示板から削除されます。

migratemach (migm) [-cancel] machine
指定されたmachine上で実行されているすべてのサーバーが代替位置に移行します。移行の際には、次のコマンドを実行してサーバーを停止する必要があります。

shutdown -R -l machine

migratemachineコマンドを使用する場合、machine上にあるすべてのサーバー・グループには、同じ代替場所が必要です(そうでない場合、migrategroupを使用する必要があります)。Domainsゲートウェイ・サーバーを含むLMID (マシン)の移行では、これらのゲートウェイ・サーバーの代替LMIDへの移行が暗黙に行われます。-cancelオプションを指定すると、すでに処理中の移行が取り消されます。つまり、tmshutdown -Rコマンドによってサーバーは停止されていますが、移行されていない状態です。

paginate (page) [{off | on}]
ページ単位で出力します。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。標準入力または標準出力が非ttyデバイスでないかぎり、初期設定はonです。標準入力と標準出力の両方が端末デバイスの場合にのみonに設定できます。
デフォルトのページ別表示コマンドは、ネイティブのオペレーティング・システム環境に固有のコマンドです。たとえば、UNIXオペレーティング・システム環境では、pgがデフォルトのコマンドです。シェル環境変数PAGERを使用すると、ページ別表示出力に使用されるデフォルトのコマンドをオーバーライドすることができます。
passwd
セキュリティが必要なアプリケーションで、新しいアプリケーション・パスワードを管理者に入力するように要求します。
pclean (pcl) machine
pcleanを使用すると、まず、指定されたmachineに対して強制的にbbcleanを行い、再起動またはクリーン・アップの必要なサーバーすべてを再起動またはクリーン・アップします。machineがパーティション化されている場合は、machineで実行中として識別されているプロセスとサービスのエントリがすべての非パーティション化掲示板から削除されます。machineがパーティション化されていない場合、再起動またはクリーン・アップできないプロセスまたはサービスは削除されます。
printclient (pclt) [-m machine] [-u usrname] [-c cltname][-v]
指定された一連のクライアント・プロセスに関する情報を表示します。引数が指定されておらず、デフォルトも定義されていない場合は、すべてのクライアントに関する情報が出力されます。マルチコンテキスト・クライアントでprintclientを実行すると、各コンテキストについて個別にエントリが生成されます。-m-uおよび-cオプションやデフォルト値の設定を使用して、マシン、ユーザー名またはクライアント名の任意の組合せに限定して情報を得ることができます。
pclt-vを指定すると、リモート・クライアント情報出力に「ネットワーク・アドレス」というヘッダーとIPアドレス番号が追加されます。
ネイティブ・クライアント名が指定されていない場合、pclt-vを指定すると、「Application Name or Process ID」というヘッダーに続いて、プロセスID (PID)が表示されます。
printconn (pc) [-m machine]
指定マシンが関与する会話型接続に関する情報を表示します。-mオプションやデフォルト値を使用することにより、情報を指定したマシンに対する接続に関するものに限定することができます。machineの値を「all」または「DBBL」にすると、すべてのマシンの情報が出力されます。
printactiveobject (pao) [-B objectid] [-m machine]
ドメイン内でアクティブなオブジェクトに関する情報を表示します。オブジェクトID、インタフェース名、サービス名、プログラム名、グループID、プロセスID、リファレンス・カウントなどが出力されます。このコマンドでは、オブジェクトIDおよびマシンIDはオプション・パラメータです。オブジェクトIDが指定されていない場合、すべてのアクティブなオブジェクトの情報が出力されます。マシンIDが指定されていない場合、コマンドを発行したマシン上でアクティブなすべてのオブジェクトの情報が出力されます。128文字を超えるオブジェクトIDは、40文字の英数字から構成されるハッシュ値として表示されます。
printfactory (pf)
ファクトリ・ファインダに登録されているオブジェクト・ファクトリに関する情報を出力します。インタフェース名、インタフェースのファクトリ識別子、現在のファクトリ・ステータスの属性などが出力されます。このコマンドは引数を取りません。このコマンドは、CORBA環境でのみ使用されます。
printgroup (pg) [-m machine] [-g groupname]
サーバー・グループ表情報を表示します。デフォルトでは、すべてのグループの情報を表示します。-gおよび-mオプションやデフォルト値を使用して、特定のグループやマシンに関する情報を出力できます。サーバー・グループ名、サーバー・グループ番号、一次/代替LMIDおよび現在の位置などの情報が得られます。
printinterface (pif) [-m machine] [-g groupname] [-I interface]
指定されたオブジェクト・インタフェースの情報(インタフェース名、キュー名、グループID、マシンID、ルーティング名、およびインタフェースによるリクエスト数)を表示します。このコマンドには、マシン名、グループ名およびインタフェース名をオプション・パラメータとして指定できます。マシン名を指定すると、インタフェースのアクティブ・オブジェクト数が表示されます。それ以外の場合は、アクティブ・オブジェクトの情報がないことを示すハイフン(-)が表示されます。このコマンドは、CORBA環境でのみ使用されます。
printnet (pnw) [ mach_list ]
ネットワーク接続に関する情報を出力します。デフォルトでは、すべてのマシンの情報を表示します。printnetコマンドでは、複数のマシン(LMID)をカンマで区切ったリストを引数として指定できます。このようなリストを指定した場合は、指定マシンに関するネットワーク接続情報が表示されます。各マシンについて、パーティション化されているかどうかが示されます。マシンがパーティション化されていない場合、そのマシンが接続される他のマシンと、メッセージの入出力回数を表す情報が表示されます。
printqueue (pq) [qaddress]
アプリケーションおよび管理サーバーの指定キューに関する情報を表示します。デフォルトでは、すべてのキューに関する情報が表示されます。qaddressコマンド行またはデフォルト値を使用すると、情報を特定のキューに制限できます。出力される情報には、キューが存在するサーバー名、マシンの名前があります。サーバーにセカンダリ・リクエスト・キューがある場合は、すべてのキュー・アドレスがリストされます。
printroute (pr) [-r routingname]
ファクトリ・ベースのルーティング定義の情報(ルーティング名、タイプ、フィールドおよび範囲)を表示します。routingnameが指定されない場合、既存のすべてのルートが表示されます。このコマンドでは、Oracle TUXEDOデータ依存ルーティングとCORBAファクトリ・ベース・ルーティング両方のルートが表示されます。出力されるタイプのフィールドには、ファクトリ・ベース・ルーティング・エントリの場合はFACTORY、データ依存ルーティング・エントリの場合はSERVERが表示されます。データ依存ルーティング・エントリの情報が冗長モードでリクエストされると、出力にバッファ・タイプとフィールド・タイプが含まれます。このコマンドは、CORBA環境でのみ使用されます。
printserver (psr) [-m machine] [-g groupname[-R rmid]] [-i srvid] [-q qaddress]
アプリケーションおよび管理サーバーに関する情報を表示します。-q-m-gおよび-iオプションを使用すれば、キュー・アドレス、セカンダリ・リクエスト・キュー・アドレス、マシン、グループ、サーバーの任意の組合せに限定して情報を得ることができます。マルチコンテキスト・サーバーでprintserverを実行すると、そのサーバーのすべてのコンテキストについて1つのエントリが表示されます。
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。-Rオプションは-gオプションとともに使用する必要があり、rmidは、1以上31以下でなければなりません。
冗長モードでは、サーバーの実行時のREQUEST_VERSION値が出力されます。
printservice (psc) [-m machine] [-g groupname[-R rmid]] [-i srvid][-a { 0 | 1 | 2 }] [-q qaddress] [-s service]
アプリケーションおよび管理サービスに関する情報を出力します。-q-m-g、-iおよび-sオプションを使用すると、情報をキュー・アドレス、マシン、グループ、サーバーまたはサービスの任意の組合せに制限できます。
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。-Rオプションを-gオプションとともに使用し、rmidが、1以上31以下でなければなりません。
-aオプションを使用すると、サービスのクラスを選択できます。-a0と指定すると、アプリケーション・サービスだけを表示します。-a1と指定すると、アプリケーション・サービスに加えて、アプリケーションから呼び出せるシステム・サービスも表示します。-a2と指定すると、上記の2つに加えて、Oracle Tuxedoから呼び出せるシステム・サービスも表示します。
冗長モードでは、アプリケーション・サービス・バージョン機能が有効な場合、サービスの実行時の REQUEST_VERSION値とVERSION_RANGEも出力されます。サービスの実行時のVERSION_POLICYが「PROPAGATE」の場合は、そのVERSION_POLICYも出力されます。
同様に、冗長モードでは、ダイナミック・リクエスト・ブローカ機能が有効な場合、Dynamic Load値が出力されます。
リモート・ドメインからインポートされたサービスの表示形式は、次のフィールドを除きローカル・ドメインのものと同じです。
  • ルーチン名: リモート・ドメインの実際のサービス名
  • プログラム名: 「GWADM
  • グループ名:Remote domain sequence number:Remote Group Number
  • マシン: リモート・マシンID
printtrans (pt) [-g groupname[-R rmid]] [-m machine]
指定マシンまたはデフォルトのマシンに関するグローバル・トランザクション表情報を表示します。machineが「all」または「DBBL」の場合、アプリケーションのパーティション化されていないすべてのマシンでトランザクション表からの情報がマージされます。コマンド行またはデフォルトのgroupname値を使用すると、そのグループが参加している(コーディネータを含む)トランザクションに限定して情報を得ることができます。
簡略モードでは、トランザクション識別子、aborttransまたはcommittransでトランザクションを中断またはコミットするときに使用する索引、トランザクション・ステータス、参加リソースの数などが表示されます。
一方、冗長モードでは、トランザクション・タイムアウト情報や、コーディネータの識別情報などを含むサーバー・グループ名、ステータスなどの参加リソースに関する情報も表示されます。
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。-Rオプションは-gオプションとともに使用する必要があり、rmidは、1以上31以下でなければなりません。
quit (q)
セッションを終了します。
reconnect (rco) non-partitioned_machine1 partitioned_machine2
パーティション化されていないマシンからパーティション化されたマシンへの新しい接続を開始します。reconnectでは、パーティション化されていないマシンからパーティション化されたマシンへの新しい接続が強制的に行われます。接続がすでにアクティブな場合は、再接続の前に閉じられます。このとき、送信中のメッセージが失われて、トランザクション・タイムアウトが発生することがあります。マシンまたはネットワークの接続が停止する可能性がありますが、ネットワーク・インタフェース・ドライバはリクエストの受取りとバッファ処理を続けます。BRIDGEに対してエラーは示されません。この場合、reconnectは失敗し、リモート・マシンにアクセスできないことをBRIDGEに強制的に認識させます。ほとんどのケースでは、ネットワークの問題が解決するとBRIDGEは自動的に再接続されます。手動での操作(reconnectの使用)は必要ありません。
resume (res) {-q qaddress | -g groupname | -i srvid | -s service | -I interface} . . .
サービスを再開(一時停止解除)します。-q-g-s-Iおよび-iオプションを使用すると、再開するサービスを、キュー、グループ、サービス、インタフェース(CORBA環境のみ)およびサーバーの組合せに制限できます。(少なくとも、これらのオプションのうち1つを指定するか、デフォルトを設定しておく必要があります。)したがって、次のコマンド行では、アドレスがservq8でキューに通知されたすべてのサービスを簡単に一時停止解除できます:
> resume -q servq8
中断されていたサービスが再開されると、そのサービスを提供するサーバーが、そのサービス(および提供するその他の再開サービス)の候補サーバーとして選択されます。複数のサーバーが1つのキューから読取りを行うと、そのキューから読取りを行うすべてのサーバーに、ある特定のサービスのステータスが反映されます。
serverparms (srp) -g groupname[-R rmid]-i srvid
あるグループのgroupnameおよびsrvidで指定されたサーバーに関連するパラメータを出力します。
あるグループのgroupnameおよびsrvidで指定されたサーバーに関連するパラメータを出力します。
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。-Rオプションを-gオプションとともに使用し、rmidが、1以上31以下でなければなりません。
例:
      srp -g GROUP1 -i 1
Prog Name: /u01/common/patches/qingszha/TAF/taftest/serverS1
Queue Name: GROUP1.SRV1
Secondary Queue Name: #S.00001.00001
Server Options: RESTARTABLE
Max # Restarts: 2
Restart Command: (restartsrv)
Grace Period: 0 hour 0 mins
Group ID: 1
Server ID: 1
Machine ID: L1
Serviceparms (scp) -g groupname -i srvid -s service
groupnamesrvidおよびserviceによって指定されたサービスに関連するパラメータを出力します。
shmstats (sstats) [ ex | app ]
MODEL SHMが構成ファイルに指定されると、shmstatsを使用して、より正確な統計を得ることができます。引数なしで入力すると、shmstatsは、掲示板構造体のbbparms.optionsメンバーのTMACCSTATSフラグから現在の設定を返します。これにより、現在収集しているのが正確な統計か概算の統計かがわかります。コマンドを入力するときにexを指定すると、shmstatsTMACCSTATSフラグをオンにして、掲示板をロックし、サーバー表、キュー表およびサービス表のエントリのカウンタをゼロに戻します。
shutdown (stop) [options]
このコマンドは、tmshutdown()コマンドと同様です。tmshutdownのオプションを使用すると、停止させるサーバーを選択することができます。オプションの説明および使用上の制限事項については、「tmshutdown(1)」を参照してください。
suspend (susp) {-q qaddress | -g groupname | -i srvid | -s service | -I interface} . . .
サービスを一時停止します。-q-g-s-Iおよび-iオプションを使用すると、一時停止するサービスを、キュー、グループ、サービス、インタフェース(CORBA環境のみ)およびサーバーの組合せに制限できます(これらのオプションのうち少なくとも1つを指定するか、デフォルトを設定しておく必要があります)。したがって、次のコマンドでは、アドレスがservq8でキューに通知されたすべてのサービスを簡単に一時停止できます
> suspend -q servq8
サービスが一時停止されると、そのサービスを提供するサーバーは、そのサービスの候補サーバーとして選択されなくなります。ただし、そのサーバーが提供する可能性がある他のサービスを処理するために引続き選択されます。一時停止されたサービスに対してキューに登録されているリクエストは、キューから排出されるまで処理されます。複数のサーバーが1つのキューから読取りを行うと、そのキューから読取りを行うすべてのサーバーに、ある特定のサービスのステータスが反映されます。
tjsreload -g groupname -i srvid [-M modulename]
Javaサーバーへのフル再ロードおよびサーバー・モジュール再ロードを実行します。tjsreloadは、group nameおよびserver identifierを使用してターゲットJavaサーバーを特定します。
unadvertise (unadv) {-q qaddress [-g groupname] [-i srvid] | -g groupname -i srvid} service
指定されたserviceのサービス表のエントリを削除します。qaddressが指定されていない場合は、サーバーを一意に識別するためにgroupnamesrvidの両方が必要です。キューまたはそのキューにある特定のサーバーを指定しても結果は同じです。複数サーバーの単一キュー(MSSQ)のセットからこのserviceを削除すると、serviceの公開は、そのキューから読み取られるすべてのサーバーから削除されます。
singletonが指定されている場合(単一キュー(MSSQ)セットを持つ複数サーバーでも)、このサービスの通知は指定したサーバーから削除されます。
verbose (v) [{off | on}]
冗長モードで出力を生成しますオプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。初期設定はoffです。コマンドごとに、-v (詳細)および-t (簡潔)オプションを使用して、現在の設定を一時的にオーバーライドできます。
! shellcommand
シェルにエスケープして、shellcommandを実行します。
!!
直前のシェル・コマンドを再実行します。
# [text]
"#"で始まる行はコメント行で、無視されます。
<CR>
最後のコマンドを繰り返します

セキュリティ

管理者としてtmadminを実行する場合、セキュリティ機構は通りません。すでにアプリケーション管理者のログインIDであることが確認済であるためです。

アプリケーション管理者以外がtmadminを実行できるのは、-rオプションが使用されて、クライアントとしてアプリケーションにアクセスする場合です。そのようなユーザーが-rオプションを付けてtmadminを呼び出すときに、アプリケーションのセキュリティがオンになっている場合は、アプリケーション・データにアクセスするためにアプリケーションのパスワードが必要です。標準入力が端末である場合、tmadminは、応答のエコーをオフの状態でユーザーにパスワードの入力を求めます。標準入力が端末でない場合は、パスワードはAPP_PW環境変数から取り出されます。アプリケーション・パスワードが必要な場合に、この環境変数が指定されていないと、tmadminは異常終了します。

環境変数

tmadminは、-rオプションの指定がある場合、またはこれをアプリケーション管理者として登録できない場合、アプリケーション・クライアントとして働きます。このような場合、標準入力が端末でないときには、保護アプリケーションのアプリケーション・パスワードをAPP_PW環境変数に設定しなければなりません。

診断

システムのブート前にtmadminコマンドを入力すると、次のようなメッセージが表示されます。

TMADMIN_CAT:196: ERROR: The boot mode is only available on the MASTER processor.

-cオプションを指定してtmadminコマンドを入力すると、このモードで一部のコマンドが使用可能になります。「help」と入力すると、使用可能なすべてのコマンドが表示されます。

-cオプションを指定せずに、MASTER以外の非アクティブなノードからtmadminコマンドが入力されると、次のメッセージが表示され、コマンドは終了します。

Cannot enter boot mode on non-master node.

間違ったアプリケーション・パスワードが入力されたり、入力したパスワードが環境を通してシェル・スクリプトで利用できない場合には、ログ・メッセージが生成され、次のメッセージが表示されてコマンドが終了します。

Invalid password entered.

相互運用性

tmadminは、相互操作可能なアクティブ・アプリケーション内であれば任意のノード上で実行可能です。ただし、利用可能なコマンドやコマンド行引数は、tmadminが動作しているノードに対応するリリースでtmadminから利用できるものに限定されています。たとえば、broadcastpasswdおよびprintclientなどのコマンドはリリース4.1のノードでは利用できません。

移植性

tmadminは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。

注意事項

machineオプションは、ネットワーク化されていない単一プロセッサ環境では何の効果も得られません。

関連項目:

tmboot(1)

名前

tmboot - Oracle Tuxedo構成を起動します。

形式

tmboot [-l lmid] [-g grpname] [-i srvid] [-s aout] [-o sequence]
[-S] [-A] [-b] [-B lmid] [-e command] [-w|-p] [-y] [-g]
[-n] [-c] [-m] [-M] [-d1][-r]

説明

tmbootは、オプションの指定に従ってOracle Tuxedoアプリケーション全体あるいはその一部を起動します。tmbootを呼び出すことができるのは、(構成ファイルのUIDで指示されている)掲示板の管理者またはrootのみです。tmbootコマンドは、構成ファイルのRESOURCESセクションでMASTERとして指定されているマシン、またはMASTERとして動作するバックアップ(つまり、tmadmin(1)masterコマンドを介してDBBLがすでに稼働しているバックアップ)でのみ呼び出すことができます。ただし、これは-bオプションを指定した場合を除きます。この場合は、MASTERとして指定されていないバックアップ・マシンからシステムを起動できます。

オプションなしのtmbootは、環境変数TUXCONFIGTUXOFFSETに指定されている構成ファイルのSERVERSセクションにリストされているすべての管理プロセスとすべてのサーバーを実行します。MODELMPの場合、RESOURCESセクションのMASTERパラメータで指定されたマシン上でDBBL管理サーバーが起動します。管理サーバー(BBL)は、MACHINESセクションにリストされたすべてのマシンで起動されます。GROUPSセクションの各グループの場合、TMSサーバーは、グループ・エントリのTMSNAMEおよびTMSCOUNTパラメータに基づいて起動されます。すべての管理サーバーが起動された後で、SERVERSセクションのサーバーが起動されます。TMSまたはグループのゲートウェイ・サーバーは、グループの最初のアプリケーション・サーバーが起動される前に起動されます。TUXCONFIGファイルは必要に応じてリモート・マシンに伝播されます。通常、tmbootは、起動されたプロセスで初期化(tpsvrinit())が完了するのを待ってから、次のプロセスを起動します。

ゲートウェイ・サーバーの起動時には、ゲートウェイの管理サービスが公開され、そのゲートウェイのCLOPTパラメータを基に外部サービスを表すアプリケーション・サービスが公開されます。外部サーバーの考え方をとる場合、これらのサーバーはこの時点でゲートウェイによりブートされます。

LMIDをブートすると、そのLMID上の全グループがブートされることになります。

アプリケーション・サーバーの起動は、DEPENDSONパラメータ、SEQUENCEパラメータ、または構成ファイルのサーバー・エントリの順で行われます(「UBBCONFIG(5)」の説明を参照)。DEPENDSONSEQUENCEの両方のパラメータが指定された場合、DEPENDSONパラメータが優先されます。

構成ファイルのSERVERSセクションの複数のサーバーでSEQUENCEパラメータが同じ場合、tmbootはそれらのサーバーをパラレルで起動し、それらの初期化が完了するまでは処理を続行しません。SERVERSセクションの各エントリには、MINパラメータとMAXパラメータを指定できます。tmbootは、-iオプションが指定されないと、MINのアプリケーション・サーバー(サーバー・エントリでMINが指定されない場合、デフォルトは1)を起動します。-iオプションを使用すると、MAXになるまで個々のサーバーが起動されます。

サーバーが起動できない場合、診断が中央のイベント・ログおよび標準出力(-qが指定されない場合)に書き込まれます。tmbootは続行します。ただし、異常終了するプロセスがBBLの場合、そのBBLに依存するサーバーは警告なしで無視されます。異常終了するプロセスがDBBLの場合、tmbootは構成ファイルの残りの部分を無視します。サーバーに代替LMIDが構成されているとき、サーバーがプライマリ・マシンで起動できない場合、tmbootは自動的にサーバーを代替マシンで起動しようとします。正常に起動すると、メッセージをDBBLに送信して、TUXCONFIGのサーバー・グループ・セクションを更新します。

SERVERSセクションのサーバーの場合、CLOPTDEPENDSON, SEQUENCESRVGRPおよびSRVIDのみがtmbootによって使用されます。これらはまとめてサーバーの起動パラメータと呼ばれます。いったんサーバーが起動すると、構成ファイルを読み取って、実行時パラメータを探します。

管理サーバーおよびアプリケーション・サーバーはすべて、APPDIRを現在の作業ディレクトリとしてブートされます。APPDIRの値は、該当サーバーがブートされるマシンに対応する構成ファイル内のMACHINESセクションで指定します。

LinuxまたはUNIXでは、サーバーの実行可能プログラムの検索パスはAPPDIRTUXDIR/bin/bin/usr/binおよびMACHINEENVFILEに指定されているPATHです。

Windowsでは、PATHAPPDIRまたはTUXDIR\binが設定されていない場合、tmbootにより自動的にPATH文字列にAPPDIRまたはTUXDIR\binが接頭辞として連結され、PATHがサーバーの実行可能ファイルの検索パスとして設定されます。

この検索パスは、サーバーの絶対パス名が指定されていない場合にのみ使用されます。この検索パスの設定は、サーバーのENVFILEに指定する値によって変更することはできません。

サーバーが起動されると、変数TUXDIRTUXCONFIGTUXOFFSETおよびAPPDIRが、そのマシンの構成ファイルに指定された値で環境に配置されます。環境変数LD_LIBRARY_PATHもすべてのサーバーの環境に配置されます。値はデフォルトで$APPDIR:$TUXDIR/lib:/lib:/usr/lib:libになります。libは、マシンのENVFILEにある最初のLD_LIBRARY_PATH=行の値です。ENVFILEの構文と使用方法の詳細は、「UBBCONFIG(5)」を参照してください。一部のUNIXシステムでは異なる環境変数が必要です: HP-UXシステムではSHLIB_PATH環境変数、AIXではLIBPATHを使用します。

サーバーのULOGPFXもまた、ブート時に、構成ファイルの該当マシンに対するパラメータに基づいて設定されます。パラメータの指定がないと、デフォルト値として$APPDIR/ULOGが使用されます。

これらの処理はすべて、アプリケーションの初期化関数tpsvrinit()が呼び出される前に行われます。

tmbootのコマンド行オプションの多くは、システムのブート時の内容を制限するものであり、システムの一部のブートに使用することもできます。以下のオプションがサポートされています。

-l lmid
各グループに関連付けられたLMIDパラメータがlmidである場合、そのグループに関連するすべてのTMSとゲートウェイ・サーバーが起動され、それらのグループに関連付けられたSERVERSセクションに記述されているすべてのサーバーが実行されます。
-g grpname
SRVGRPパラメータがgrpnameであるグループのすべてのTMSおよびゲートウェイ・サーバーが起動され、続いてそのグループに関連付けられているSERVERSセクションに記述されているすべてのサーバーが起動されます。TMSサーバーは、グループ・エントリのTMSNAMEおよびTMSCOUNTパラメータに基づいて起動されます。
-i srvid
SERVERSセクションで、SRVIDパラメータがsrvidであるすべてのサーバーが実行されます。
-s server name
SERVERSセクションに記述されている全サーバーが、サーバー名とMIN値で実行されます。MIN値が0のサーバーは実行されません。このオプションを使用して、TMSサーバーおよびゲートウェイ・サーバーを起動することもできます。そのように使用する場合、通常、このオプションは-gオプションと組み合せます。
-o sequence
SERVERSセクションのサーバーで、SEQUENCEパラメータがsequenceであるサーバーがすべて実行されます。
-S
SERVERSセクションに記述されている全サーバーが実行されます。
-A
MACHINESセクションのマシンのすべての管理サーバーが実行されます。このオプションを使用すると、DBBLとすべてのBBLおよびBRIDGEプロセスが正しい順序で起動されます。(-Mオプションの説明も参照してください。)
-b
BACKUPのマシンからシステムを起動します(BACKUPのマシンをMASTERにする必要はありません)。
-B lmid
論理名がlmidであるプロセッサでBBLが起動されます。
-m 1-n
-sオプションに指定されたサーバーの実行時のMIN値を、共通のMIN値で一時的にリセットします。たとえば、-s server1 -m5では、server1という名前のすべてのサーバーがMIN=5にリセットされます。このオプションを使用して指定できるサーバーの最小数は1であり、最大数はユーザーの裁量に委ねられます。
-M
このオプションはマスター・マシン上の管理サーバーを起動するときに使用します。MODELMPの場合、RESOURCESセクションのMASTERパラメータで指定されたマシン上でDBBL管理サーバーが起動します。また、BBLMASTERマシン上で起動され、LANオプションとNETWORKエントリが構成ファイルに指定されている場合には、BRIDGEも起動されます。
-d1
コマンド行オプションを標準出力に出力します。sdbを使用してアプリケーション・サービスのデバッグを行うのに便利です。
-e command
いずれかのプロセスが正常に起動しない場合にcommandが実行されます。commandには、SHELL環境変数に指定されたコマンド・インタプリタで認識されるプログラム、スクリプト、または一連のコマンドを指定できます。これにより、起動手順で問題が発生したときに修正する機会が得られます。commandに空白が含まれる場合は、文字列全体を引用符で囲む必要があります。このコマンドは、tmbootが実行しているマシンで実行されます。サーバーが起動されているマシンではありません。

ノート:

Windows 2003システムでリダイレクトまたはパイプを選択する場合は、以下のいずれかの方法を使用してください。
  • リダイレクトまたはパイプを、コマンド・ファイルまたはスクリプト内から行います。
  • キュー・マネージャ管理プログラムからリダイレクトするには、コマンドの前にcmdを付けます。例:
    cmd /c ipconfig > out.txt 
  • バイナリ実行可能ファイルの作成を選択する場合は、Windows API関数のAllocConsole()を使用して、バイナリ実行可能ファイル内にコンソールを割り当てます。
-w
tmbootにサーバーが初期化を完了するのを待たずに別のサーバーを起動するように通知します。このオプションは、慎重に使用する必要があります。BBLは、有効なDBBLの存在に依存します。通常のサーバーは、それらが配置されるプロセッサ上でBBLが実行されていることを必要とします。サーバーが同期的に開始されていない場合、これらの条件は保証されません。サーバーにシーケンス番号がある場合、このオプションは通常行われる待機をオーバーライドします。
-p number
DEPENDSON (UBBCONFIGファイルで構成)を使用していないすべてのアプリケーション・サーバーは、並行して起動されます(アプリケーションを並行して起動できるのは、依存関係がない場合のみです)。numberは、同時に起動できるサーバーの数[0,1024]を示します。Windowsでは[0,64]です。number = 0の場合、デフォルトは32です。

ノート:

アプリケーションを並行して起動できるのは、依存関係がない場合のみです。-wオプションを-pオプションとともに使用することはできません。-i-sまたは-gオプションを使用した場合、サーバーはDEPENDSONパラメータを無視し、直接起動します。依存サーバーが起動しない場合は、警告メッセージが記録されます。
-y
すべての管理プロセスおよびサーバー・プロセスを起動する必要があるかを確認するプロンプトに対して、yesの答えを指定します。(このプロンプトが表示されるのは、制限するオプションを指定せずにコマンドを入力した場合のみです。)
-q
標準出力に実行シーケンスを表示しません。-yが指定されているものと想定します。
-n
実行シーケンスを表示しますが、実行はされません。
-c
この構成で必要とされる最小限のIPCリソースを表示します。
-r
ARTサーバーが最初にシステム・デフォルトのPATHおよびLD_LIBRARY_PATHを使用できるようにします。

ノート:

この機能では、Windowsプラットフォームはサポートされません。

-l-g-i-oおよび-sオプションを組み合せて使用すると、指定されたすべての条件を満たすサーバーのみが起動されます。-l-g-sおよび-Tオプションを使用すると、TMSサーバーが起動します。-l-gおよび-sオプションを使用すると、ゲートウェイ・サーバーが起動します。-l-g-i-o-sおよび-Sオプションは、アプリケーション・サーバーに適用されます。マシンでBBLを使用できない場合、アプリケーション・サーバーを起動するオプションは失敗します。-A-Mおよび-Bオプションは、管理プロセスにのみ適用されます。

標準入力、標準出力、標準エラー出力の各ファイル記述子は、ブートされたサーバーについてはすべて閉じられます。

相互運用性

tmbootは、相互運用可能なアプリケーション内の最上位のリリースが提供されているマスター・ノード上で実行する必要があります。tmbootは、最新リリースをサポートしないサイトのワークステーション・リスナーなどの管理サーバーの起動につながる構成ファイル内の条件を検出し報告します。

移植性

tmbootは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。

環境変数

インストールの間に管理パスワード・ファイルが作成されます。必要に応じて、Oracle Tuxedoシステムはこのファイルを次のディレクトリから検索します。最初にAPPDIR/.adm/tlisten.pw、次にTUXDIR/udataobj/tlisten.pwの順序で検索します。パスワード・ファイルが確実に見つかるように、必ずAPPDIRまたはTUXDIR (あるいは両方)の環境変数を設定してください。

リンク・レベルの暗号化

リンク・レベルの暗号化機能がtmboottlistenの間で稼働している場合には、リンク・レベル暗号化はメッセージが認証されるプロセスを保護するために最初に調整され、またアクティブ化されます。

診断

TUXCONFIGとして、存在しないファイルが設定されると、次に示す2つの致命的なエラー・メッセージが表示されます。

  • error processing configuration file
  • configuration file not found

tmbootはサーバーの起動に失敗すると、終了コード1で終了します。詳細はユーザー・ログを調べる必要があります。成功した場合は、tmbootは終了コード0を返して終了します。

tmbootが、アクティブでない非マスター・ノード上で実行されると、次のような致命的エラー・メッセージが表示されます:

tmboot cannot run on a non-master node.

tmbootが、実際のマスター・ノードでないアクティブなノード上で実行されると、次のような致命的エラー・メッセージが表示されます。

tmboot cannot run on a non acting-master node in an active application.

複数のTUXCONFIGファイルで同じIPCKEYが使用されていると、tmbootは異常終了して次のメッセージを表示します。

Configuration file parameter has been changed since last tmboot

LAN以外の構成でMACHINESセクションに複数のノード名があると、次のような致命的エラー・メッセージが表示されます。

Multiple nodes not allowed in MACHINES for non-LAN application.

tlistenがLANアプリケーションのMASTERマシン上で実行していない場合、警告メッセージが表示されます。この場合、tmadmin(1)はリモート・マシン上で管理者モードでは実行できません。読取り専用操作に限定されます。これはまた、バックアップ・サイトが障害後にマスター・サイトを再起動できないことを意味します。

CS0およびCS1というローカル名のマシン上にあるサーバーたけを起動するには、次のようにします。

tmboot -l CS0 -l CS1

DBG1という名前のグループに属するサーバーCREDEBだけを起動するには、次のようにします。

tmboot -g DBG1 -s CREDEB1

ローカル名がPE8のマシン上のBBL、およびPE8の位置にあるすべてのサーバーをブートするには、次のようにします。

tmboot -B PE8 -l PE8

この構成で必要とされる最小限のIPCリソースを表示するには、次のコマンドを入力します。

tmboot -c

次に、-cオプションを使用した場合の出力例を示します。

Ipc sizing (minimum Oracle Tuxedo values only) ...
                              Fixed Minimums Per Processor
SHMMIN: 1
SHMALL: 1
SEMMAP: SEMMNI
                              Variable Minimums Per Processor
                       SEMUME,          A                                 SHMMAX
                       SEMMNU,          *                                 *
Node                   SEMMNS  SEMMSL  SEMMSL  SEMMNI   MSGMNI   MSGMAP   SHMSEG
------                 ------  ------  ------  ------   ------   ------   ------
sfpup                      60      1       60  A + 1        10       20      76K
sfsup                      63      5       63  A + 1        11       22      76K
where 1 = A = 8.

1プロセッサ当たりのアプリケーション・クライアントの数を各MSGMNI値に追加する必要があります。MSGMAPMSGMNIの2倍にする必要があります。SHMMINは常に1に設定する必要があります。

IPCの必要最小限の条件は、使用マシンに設定したパラメータと比べて検討することができます。これらのパラメータの変更方法については、お使いのマシンのシステム管理者のドキュメントを参照してください。-yオプションを使用した場合、その結果得られる表示は上記の例とは若干異なります。

注意事項

tmbootコマンドは、ハングアップ・シグナル(SIGHUP)を無視します。ブート時にシグナルが検出された場合でも、プロセスは続行します。

-cオプションを使用した場合に表示される最小限のIPCリソースは、指定された構成ファイルに記述されている構成にのみ適用されます。リソース・マネージャまたはその他のOracle Tuxedo構成で必要となるIPCリソースについては、計算上は考慮されません。

関連項目:

tmconfig、wtmconfig(1)

名前

tmconfigwtmconfig - ネイティブ・クライアントまたはワークステーション・クライアントとして実行中のOracle Tuxedoアプリケーションに関する情報を動的に更新および検索します。

形式

tmconfig

wtmconfig

説明

tmconfigは対話型プログラムであり、Oracle Tuxedoアプリケーションの動作中に、構成ファイル・パラメータまたはMIB属性の更新、およびTUXCONFIGファイルのセクションへのレコードの追加を行います。tmconfigは、追加、変更または検索対象の入力フィールド値があるバッファを管理します。操作が完了すると、tmconfigは出力フィールド値と状態を表示します。ユーザーは任意のテキスト・エディタを使用して入力バッファを更新できます。

tmconfigはOracle Tuxedoのネイティブ・クライアントで、wtmconfigはワークステーション・クライアントです。これらは、tmadmin/printclientコマンド・シーケンスの出力で確認できます。アプリケーションがSECURITY機能を私用している場合、tmconfigによってアプリケーション・パスワードの入力が求められます。

ノート:

tmconfigはOracle Tuxedoネイティブ・クライアントであり、wtmconfigはOracle Tuxedoワークステーション・クライアントであるという以外に双方の違いはなく、tmconfigwtmconfigは共に同じ機能を備えているため、このリファレンス・ページではtmconfigを中心に説明していきます。ここで説明する機能はwtmconfigも備えていると考えてかまいません。

tmconfigは最初に、目的のセクションを指定するよう求め、続いてそれに対する操作の内容を指定するよう求めます。セクションを求めるプロンプトは次のとおりです。

Section: 1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS  5)SERVICES
         6) NETWORK 7) ROUTING q) QUIT 9) WSL 10) NETGROUPS 11) NETMAPS
         12) INTERFACES [1]:

デフォルト・セクションは、プロンプトの終わりに大カッコ内に表示されます。

次にtmconfigは、希望の操作を求めるプロンプトを表示します:

Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE
           6) CLEAR BUFFER 7) QUIT [1]:

デフォルトの操作内容は、プロンプト末尾の大カッコ内に表示されます。デフォルトの操作を選択する場合は、[Enter]キーを押します。他の操作を選択する場合は、該当する番号を入力して[Enter]キーを押します。

現在、次の操作がサポートされています:

  1. FIRST - 指定されたセクションから最初のレコードを取り出します。キー・フィールドは不要です。(入力バッファにあるキー・フィールドは無視されます。)
  2. NEXT - 入力バッファ内のキー・フィールドに基づいて、指定されたセクションから次のレコードを取り出します。
  3. RETRIEVE - キー・フィールドで指定したセクションから、指定したレコードを取り出します。
  4. ADD - 指定されたセクションに、指定されたレコードを追加します。未指定のフィールドは(必須でないかぎり)、UBBCONFIG(5)で指定されたデフォルト値をとります。すべてのフィールドの現在の値は、出力バッファ内に戻されます。この操作は、Oracle Tuxedoシステム管理者だけが行えます。
  5. UPDATE - 選択されたセクションの入力バッファ内で指定されたレコードを更新します。入力バッファ内で指定されていないフィールドは変更されません。すべてのフィールドの現在の値は、入力バッファ内に戻されます。この操作は、Oracle Tuxedo管理者だけが行えます。
  6. CLEAR BUFFER - 入力バッファをクリアします(すべてのフィールドが削除されます)。この操作の後で、tmconfigによって再度セクションを指定するように求められます。
  7. QUIT - プログラムを正常に終了します(クライアントが終了します)。プロンプトで値qを入力してもプログラムを終了できます。

管理者の操作を行う場合、実効ユーザー識別子が、このプログラムを実行するマシンのOracle Tuxedo管理者ユーザー識別子(UID)と同じでなければなりません。レコードの更新や追加を行う場合には、tmloadcf(1)が使用するすべてのデフォルト値と検証機能が有効になります。

次にtmconfigは、入力バッファを編集するかどうかを確認するプロンプトを表示します:

Enter editor to add/modify fields [n]?

yを入力すると、入力バッファが一時ファイルに変換され、テキスト・エディタが実行されます。環境変数EDITORを使用して、使用するエディタを決定します。デフォルトはedです。入力フォーマットはフィールド名とフィールド値の組合せです。この後の「入力フォーマット」の項を参照してください。その後の項の表に、各UBBCONFIGセクションに関連付けられているフィールド名を示します。フィールドのセマンティクスと、関連する範囲、デフォルト値、制限などは、「UBBCONFIG(5)」を参照してください。権限値は8進数ではなく10進数で指定されることに注意してください。ほとんどの場合、フィールド名はUBBCONFIGファイルのKEYWORDと同じで、接頭辞としてTA_が付いています。

ユーザーが入力バッファの編集を完了すると、tmconfigはその内容を読み取ります。特定のフィールド名についての行が複数ある場合、最初のオカレンスが使用され、他のオカレンスは無視されます。何らかのエラーが発生すると、構文エラー・メッセージが表示され、その問題を訂正するかどうかを確認するプロンプトが表示されます。

Enter editor to correct?

問題を訂正しない場合(レスポンスn)は、入力バッファにフィールドは含まれません。問題を訂正する場合は、エディタが再度実行されます。

最後にtmconfigは、操作を実行するかどうかを確認するプロンプトを表示します:

Perform operation [y]?

操作が完了すると、tmconfigは(「戻り値TAOK」のように)戻り値を表示し、続いて出力バッファのフィールドを表示します。次に、プロセスが再開され、セクションを求めるプロンプトが表示されます。すべての出力バッファ・フィールドは、バッファがクリアされないかぎり、入力バッファ内で利用できます。

いつでもブレークを入力して、セクションを求めるプロンプトでの対話を再開できます。

QUITを選択すると、構成ファイルのバックアップ(テキスト形式)を作成するかどうかを確認するプロンプトが表示されます。

Unload TUXCONFIG file into ASCII backup [y]?

バックアップの作成を選択すると、ファイル名の入力を求めるプロンプトが表示されます。

Backup filename [UBBCONFIG]?

無事にバックアップが完了すると、バックアップ・コピーが作成されたことを示すメッセージを表示します。失敗した場合はエラー・メッセージを表示します。

入力形式

入力パケットは、次のようにフォーマットされた行で構成されます。

fldname fldval

フィールド名とフィールド値は1つまたは複数のタブで区切ります。

長いフィールド値の場合、継続行に1つまたは複数のタブを付けることによって、次の行にわたるようにできます(これらのタブは、tmconfigに読み戻されるときに取り除かれます)。

改行文字だけで構成される空の行は無視されます。

表示できない文字をフィールド値に入力したり、タブをフィールド値の先頭に付けたりするには、バックスラッシュを入力し、その後に必要な文字を2文字の16進表現で入力します(UNIXリファレンス・マニュアルでASCII(5)の項を参照)。たとえば、空白は「\20」として入力データに入力できます。バックスラッシュそのものは、2つのバックスラッシュ記号を使用して入力できます。tmconfigでは、このフォーマットのすべての入力が認識されますが、16進フォーマットが表示できない文字の場合に最も役立ちます。

制限事項

動的な再構成機能については、次のような全般的な制限事項があります。

  1. キー・フィールドの値(次のセクションを参照)は変更できません。キー・フィールドがエディタ・バッファ内で変更され操作が終了すると、別のレコードがキー・フィールドの新しい値に基づいて変更されます。システムが停止しているときに、構成ファイルを再ロードすれば、キー・フィールドを変更できます。
  2. LMIDレベルのフィールドは、LMIDがブートされている間は変更できません。同様に、GROUPレベルのフィールドはGROUPがブートされている間は変更できません。
  3. 多くのRESOURCESパラメータは実行中のシステムでは変更できません。
  4. 動的削除機能はサポートされていません。削除はオフラインで行います。
  5. 間違ったセクションでパラメータを更新しようとした場合、たとえば、RESOURCESセクションにいるときに、MACHINESセクションのENVFILEパラメータを更新しようとした場合、tmconfigTAOKを返して操作が正常終了したように見えますが、アンロードされたUBBCONFIGファイルは変更されていません。
TMCONFIG、UBBCONFIG、およびMIB間の関係

以前のOracle Tuxedoシステムのリリースでは、すべてのアプリケーション構成は、アプリケーションのすべての構成パラメータが定義されたUBBCONFIGファイルというテキスト・ファイルを編集することで実現していました。その後のリリースでは、tmloadcf(1)コマンドを実行することにより、UBBCONFIGファイルをTUXCONFIGというバイナリ・ファイルにコンパイルするようになりました。さらに新しくなったシステムでは、各種TUXCONFIGパラメータの動的更新(アクティブなシステムの更新)をサポートするtmconfigコマンドが導入されるようになりました。

システム6以降では、Oracle Tuxedoのリソースをクラスや属性に再定義するOracle Tuxedo管理情報ベース(MIB)が導入されました。MIBの導入と同時に、Oracle Tuxedoシステムは、管理者(またはユーザー)がアプリケーションの属性にプログラムでアクセスし、変更することを可能にする管理APIも提供しました。

例外が1つありますが、『Oracle Tuxedoコマンド・リファレンス』のこのエントリ(「tmconfig、wtmconfig(1)」)では、MIBの様々なクラスの簡単な説明のみが示されます。例外はNetworkクラスです。これは、ここでtmconfig()について詳しく説明します。その他のセクションの詳細は、「TM_MIB(5)」を参照してください。

属性(フィールド)を更新できる場合と更新できるユーザー

以前のtmconfig表の特徴の1つは、フィールドを更新できるかどうかを示す値を含む列があったことです。この情報はMIBのリファレンス・ページに記載されていますが、少し深堀りして調べていただく必要があります。「MIB(5)」のPermissionsの説明を参照してください。MIB表のPermissions列は、ファイルへのアクセスを制限するために使用される読取り、書込みおよび実行権限と似ています。ただし、情報量は多く、単純なファイル権限よりも多くの制御が指定されます。たとえば、MIB表のPermissions列の値は、システムがアクティブなときにフィールドを変更できるかどうかを示します。

tmconfigを使用する前にはMIB(5)の説明をよくお読みください。

RESOURCESセクション

このセクションの属性については、「TM_MIB(5)」T_DOMAINクラスの説明を参照してください。

ノート

このセクションについては、ADD操作は使用できません。このセクションにはレコードが1つしかないので、RETRIEVE操作はFIRST操作と同じです(キー・フィールドは不要)。NEXT操作は常に「レコードなし」が戻されます。

TA_LDBALTA_CMTRETおよびTA_SYSTEM_ACCESSに対する変更は、それ以後ブートされる新しいクライアントとサーバーに対してのみ適用されます。NO_OVERRIDEの指定があり、指定アクセス・タイプと一致しない(PROTECTEDまたはFASTPATH)サーバー・エントリがある場合、TA_SYSTEM_ACCESSは変更できません。TA_NOTIFYTA_AUTHSVCに対する変更は、それ以後起動される新しいクライアントに対してのみ適用されます。

上記のパラメータ以外の更新は、アンロードされたテキスト形式のバックアップ・ファイルには反映されません。

MACHINESセクション

このセクションの属性については、「TM_MIB(5)」T_MACHINEクラスの説明を参照してください。

ノート

RESOURCESセクションのOPTIONSに"LAN"が指定されていないかぎり、マシンを追加することはできません。

上記のパラメータ以外の更新は、アンロードされたテキスト形式のバックアップ・ファイルには反映されません。

GROUPSセクション

このセクションの属性については、「TM_MIB(5)」T_GROUPクラスの説明を参照してください。

SERVERSセクション

このセクションの属性については、「TM_MIB(5)」T_SERVERクラスの説明を参照してください。

ノート

SERVERSセクションでのパラメータの変更は、次回、関連するサーバーが起動(再開ではなく)された時点で有効になります。複数のサーバーがMSSQセットに定義されている場合(TA_RQADDRを使用)、それらのサーバーは同じサービスを起動する必要があります(たとえば、TA_CLOPTまたはENVFILEへの変更は、現在起動しているサーバーのものではない起動中のサービスに影響してはなりません)。TA_MAXが変更されると、サーバー・セットの1つ以上のサーバーが起動されないかぎり、新しいサーバー識別子に対する会話型サーバーの自動生成は実行されません。

SERVICESセクション

このセクションの属性については、「TM_MIB(5)」T_SERVICEおよびT_SVCGRPクラスの説明を参照してください。

ノート

SERVICESセクションで変更されたパラメータは、次回、そのサービスを提供するサーバーがブート(再開ではなく)された時点で有効になります。TA_ROUTINGNAMEの更新が可能なのは、TA_SRVGRPフィールドに値が指定されていない場合、またはそのフィールドにNULLが指定されている場合だけです。この場合、TA_ROUTINGNAME属性は、一致するすべてのSERVICESエントリで同時に更新されます。TA_ROUTINGNAMESERVICESセクションのROUTINGに対応しています。

上記のパラメータ以外の更新は、アンロードされたテキスト形式のバックアップ・ファイルには反映されません。

NETWORKセクション

次の表に、NETWORKセクションのフィールド一覧を示します。

NETWORKセクション
フィールド識別子 フィールド型 更新 ノート
TA_LMID 文字列 いいえ キー
TA_BRIDGE 文字列 Sys -
TA_NADDR 文字列 Sys テキスト(ASCII)形式(NULL文字を除く)
TA_NLSADDR 文字列 Sys テキスト(ASCII)形式(NULL文字を除く)
ノート

関連するLMIDがブートされている場合には、レコードを追加することはできません。

RESOURCESセクションのOPTIONSLANがないかぎり、NETWORKセクションに対する操作は何もできません。

上記のパラメータ以外の更新は、アンロードされたテキスト形式のバックアップ・ファイルには反映されません。

ROUTINGセクション

このセクションの属性については、「TM_MIB(5)」T_ROUTINGクラスの説明を参照してください。

ノート

ROUTINGセクションは、システムが稼働状態にあるときには更新できません。掲示板のサイズを制御する、RESOURCESセクションの3つのパラメータMAXDRTMAXRFT、およびMAXRTDATAが増加可能に設定されている場合、ROUTINGセクションの新しいエントリを追加できます。

WSLセクション

このセクションの属性については、「TM_MIB(5)」T_WSLクラスの説明を参照してください。

ノート

ワークステーション・リスナー・サーバーのCLOPTの更新は、SERVERセクションを通じて行うこともできますが、T_WSLクラスを使用してください。

NETGROUPSセクション

このセクションの属性については、「TM_MIB(5)」T_WSLクラスの説明を参照してください。

NETMAPSセクション

このセクションの属性については、「TM_MIB(5)」T_NETMAPクラスの説明を参照してください。

INTERFACESセクション

このセクションの属性については、「TM_MIB(5)」T_INTERFACEクラスの説明を参照してください。

ノート

T_INTERFACEクラスは、ドメインおよびサーバー・グループの両方のレベルでCORBAインタフェースの構成属性と実行時属性を表します。ファクトリ・ベースのルーティング(特定のサーバー・グループに処理を分散する機能)を実行しない場合には、CORBAインタフェースに必要なパラメータはありません。

セキュリティ

tmconfigをセキュアなアプリケーションで実行する場合は、アプリケーション・パスワードを指定しないとアプリケーションにアクセスできません。標準入力が端末である場合、tmconfigは、応答のエコーをオフの状態でユーザーにパスワードの入力を求めます。標準入力が端末でない場合は、パスワードはAPP_PW環境変数から取り出されます。アプリケーション・パスワードが必要な場合に、この環境変数が指定されていないと、tmconfigは異常終了します。

ワークステーション・クライアント

ワークステーション・クライアントの場合、このコマンドはwtmconfigです。UPDATEおよびADDコマンドはサポートされていません(TAEPERMが戻されます)。

環境変数

tmconfigは環境変数FIELDTBLSおよびFLDTBLDIRを設定しなおして、${TUXDIR}/udataobj/tpadminフィールド表を取り出します。TUXDIRを正しく設定しておかなければなりません。

APP_PWは、標準入力が端末でない場合、保護アプリケーションのアプリケーション・パスワードに設定する必要があります。

クライアントをOracle Tuxedoアプリケーションに結合する前に、いくつかの環境変数を設定しておく必要があります。

  • tmconfigでは、環境変数TUXCONFIGを設定する必要があります。
  • wtmconfigでは、環境変数WSNADDRを設定する必要があります。Oracle Tuxedoシステムで使用するネットワーク・プロトコルによっては、WSDEVICEの設定が必要な場合もあります。使用するネットワーク・プロトコルは、アプリケーションが稼働するプラットフォームによって異なります。お使いのプラットフォームで使用されるネットワーク・プロトコルについては、『Oracle Tuxedoインストレーション・ガイド』の付録A「プラットフォーム・データ・シート」を参照してください。

診断

tmconfigは、型付きバッファを割り当てることができない場合、該当ユーザーに対する/etc/passwdエントリを判別できない場合、クライアント・プロセスになれない場合、入力バッファ編集用に/tmpに一時ファイルを作成できない場合、あるいは環境変数FIELDTBLSまたはFLDTBLDIRを設定しなおすことができない場合には異常終了します。

各操作が完了した後、tmconfigから出力される戻り値には、リクエストされた操作に関するステータスが示されます。戻り値には3つのクラスがあります。

次の戻り値は、権限に関する問題またはOracle Tuxedoの通信エラーを示しています。戻り値は、操作が正常に完了しなかったことを示しています。

[TAEPERM]
呼出しプロセスはTA_UPDATEまたはTA_ADD opcodeを指定しましたが、Oracle Tuxedo管理者として実行されていません。
[TAESYSTEM]
Oracle Tuxedoエラーが発生しました。エラーの正確な性質はuserlog(3c) に書き込まれます。
[TAEOS]
オペレーティング・システムのエラーが発生しました。
[TAETIME]
ブロッキング・タイムアウトが発生しました。入力バッファは更新されないので、検索操作に使用される情報は何も戻されません。更新操作のステータスは、更新されたレコードで取出しを行うことでチェックできます。

以下の戻り値は、処理そのものの実行に問題があることを示します。通常は、入力バッファ内のアプリケーション・データに関するセマンティクスの問題です。文字列フィールドTA_STATUSが出力バッファに設定され、問題を示します。文字列フィールドTA_BADFLDNAMEに、問題を引き起こした値が含まれるフィールドの名前が設定されます(エラーが1つのフィールドに関係している場合)。

[TAERANGE]
フィールド値が範囲外であるか、無効です。
[TAEINCONSIS]
1つまたは一連のフィールド値の指定が矛盾しています(たとえば、既存のRQADDRの値が異なるSRVGRPおよびSERVERNAMEに指定されている場合など)。
[TAECONFIG]
TUXCONFIGファイルの読取り中にエラーが発生しました。
[TAEDUPLICATE]
重複するレコードを追加しようとしました。
[TAENOTFOUND]
操作対象として指定されたレコードが見つかりませんでした。
[TAEREQUIRED]
フィールド値が必要ですが、指定されていません。
[TAESIZE]
文字列フィールドのフィールド値が長すぎます。
[TAEUPDATE]
実行できない更新を試行しました。
[TAENOSPACE]
更新を行おうとしましたが、TUXCONFIGファイルまたは掲示板に十分な容量がありませんでした。

次の戻り値は、少なくともMASTERサイトでは操作が成功したことを示します。

[TAOK]
操作が成功しました。TUXCONFIGファイルまたは掲示板には更新は行われませんでした。
[TAUPDATED]
操作が成功しました。TUXCONFIGファイルまたは掲示板に更新が行われました。
[TAPARTIAL]
MASTERサイトでは操作は成功しましたが、1つまたは複数の非MASTERサイトで失敗がありました。それらの非MASTERサイトには、無効またはパーティション化のマークが付けられます。詳細は、管理者ガイドを参照してください。

相互運用性

Oracle Tuxedoシステム・リリース4.0または4.1ノードが起動されている状態では、UPDATEおよびADD操作は実行できません。これらの操作を行うには、前もってこれらのノードを停止しておかなければなりません。リブートすると、変更内容が有効になります。

tmunloadcfの互換性

When tmunloadcf(1)を使用して構成内のエントリを表示する場合、特定の(文字列)フィールドの値が設定されていない場合、(整数)フィールド値が0の場合、あるいはフィールドのデフォルト値に一致する場合、それらのフィールド値は表示されません。これらのフィールドは、tmconfigを使用する際に常に出力バッファに存在します。この方法で、管理者がエントリを取り出しやすくし、また以前に設定されていないフィールドを更新しやすくします。エントリには、フィールド名が含まれ、タブが後に続きますが、フィールド値はありません。

次に挙げる例では、tmconfigを使用して、ワークステーション・リスナー・サーバー上に指定されたネットワーク・アドレスを訂正しています。このアドレスはサーバー・セクションの最初のエントリになっていることがあります。この例で使用されているエディタはed(1)です。

$ EDITOR=ed tmconfig

Section:1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS 5)SERVICES 6) NETWORK
7) ROUTING q) QUIT 9) WSL 10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]: 4

Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE
6) CLEAR BUFFER 7) QUIT [1]: 1
Enter editor to add/modify fields [n]? <return>
Perform operation [y]? <return>
Return value TAOK
Buffer contents:
TA_OPERATION        4
TA_SECTION          3
TA_SRVID            2
TA_MIN              1
TA_MAX              1
TA_RQPERM           432
TA_RPPERM           432
TA_MAXGEN           1
TA_GRACE            86400
TA_STATUS           Operation completed successfully
TA_SRVGRP           WDBG
TA_SERVERNAME       WSL
TA_CLOPT            -A -- -d/dev/tcp -M4 -m2 -x5 -n0x0002fe19c00b6d6b
TA_CONV             N
TA_REPLYQ           N
TA_RESTART          N 
Section:1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS 5)SERVICES 6) NETWORK
7) ROUTING q) QUIT 9) WSL 10) NETGROUPS 11) NETMAPS 12) INTERFACES [4]: <return>
Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE
6) CLEAR BUFFER 7) QUIT [1]: 5
Enter editor to add/modify fields [n]? y
240
/CLOPT/s/6d6b/690E/p
TA_CLOPT          -A -- -d/dev/tcp -M4 -m2 -x5 -n0x0002fe19c00b690E
w
240
q
Perform operation [y]? <return>
Return value TAUPDATED
Buffer contents:
TA_OPERATION         1
TA_SECTION           3
TA_SRVID             2
TA_MIN               1
TA_MAX               1
TA_RQPERM            432
TA_RPPERM            432
TA_MAXGEN            1
TA_GRACE             86400
TA_STATUS            Update completed successfully
TA_SRVGRP            WDBG
TA_SERVERNAME        WSL
TA_CLOPT             -A -- -d/dev/tcp -M4 -m2 -x5 -n0x0002fe19c00b690E
TA_CONV              N
TA_REPLYQ            N
TA_RESTART           N
Section:1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS 5)SERVICES 6) NETWORK
7) ROUTING q) QUIT 9) WSL 10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]: q
Unload TUXCONFIG file into ASCII backup [y]? <return>
Backup filename [UBBCONFIG]? <return>
Configuration backed up in UBBCONFIG
$ # boot the changed server
$ tmboot -s WSL -i 2

関連項目:

tmipcrm(1)

名前

tmipcrm - ローカル・マシンでOracle Tuxedo ATMIアプリケーションにより割り当てられたIPCリソースを削除します。

形式

tmipcrm [-y] [-n] [ TUXCONFIG_file ]

説明

tmipcrmは、共有メモリー、メッセージ・キューおよびセマフォなど、Oracle Tuxedo ATMIアプリケーションによって割り当てられたIPCリソースをクリーン・アップします。このコマンドは、シャットダウンの失敗などの通常ではないエラー状況が発生した後に通常実行されます。通常の状況では、Oracle Tuxedo ATMIシステムは、割り当てられたIPCリソースをすべてシャットダウン時にクリーンアップします。削除されたIPCリソースには、Oracle Tuxedo ATMIのコア・システムおよびWorkstationコンポーネントで使用されるようなものが含まれます。

tmipcrmはローカル・サーバー・マシン上でのみ機能するので、Oracle Tuxedo構成内のリモート・マシン上にあるIPCリソースはクリーン・アップされません。TUXCONFIGファイルの名前は、TUXCONFIG環境変数の値として指定するか、またはコマンド行で指定する必要があります。TUXCONFIGファイルは必須で、読取り可能である必要があります。

このコマンドを正常に実行できるのは、適切な権限を持つユーザーまたは管理者だけです。このコマンドは、掲示板(BB)を格納する共有メモリー・セグメントにアタッチ可能であることを前提としており、掲示板に格納されて参照されるIPCリソースを削除しようとします。システム上のその他の条件によって削除が失敗することもあります。このような失敗が検出された場合には通知されます。

次のオプションがサポートされています。

-y
すべてのプロンプトに「はい」と答えることを意味します。
-n
IPCリソースを削除しません。stdoutにIPCリソースのリストを表示して終了します。
TUXCONFIG_file
TUXCONFIGファイルの完全なパス名。指定されていない場合は、TUXCONFIG環境変数の値がデフォルト値になります。

診断

TUXCONFIGファイルが見つからない場合は、致命的なエラーが発生し、次のメッセージが表示されます。

Cannot open tuxconfig file

TUXCONFIGファイルが読み取れない場合は、致命的なエラーが発生し、次のメッセージが表示されます。

Execute permission denied, not application administrator

掲示板の共有メモリーへのアタッチが失敗した場合は、致命的なエラーが発生し、次のメッセージが表示されます。

Cannot attach to BB!

このコマンドは、通常は対話型モードで実行して、必要に応じて質問に対する回答を求めるプロンプトを表示します。-yオプションを指定すると、tmipcrmは応答を求めるプロンプトを表示しませんが、すべての質問に対して「はい」と答えたとみなされます。-nオプションを指定すると、tpipcrmstdoutにIPCリソースを表示するだけで終了し、IPCリソースは削除されません。

次の例では、このコマンドが通常どのように使用されるかについて説明します。

$ tmipcrm /home/user/apps/tuxconfig
Looking for IPC resources in TUXCONFIG file /home/user/apps/tuxconfig
The following IPC resources were found:
Message Queues:
0x2345
0x3456
…
Semaphores:
0x34567
0x45678
…
Shared Memory:
0x45678
0x56789
…
Remove these IPC resources (y/n)?: y
Removing IPC resources … done!

次のサンプル・コードでは、ローカル・マシン上のOracle Tuxedo ATMIアプリケーションで使用されるIPCリソースの一覧を、ipclistというファイルに出力します。

tmipcrm -n /home/user/apps/tuxconfig >ipclist

tmloadcf(1)

名前

tmloadcf - UBBCONFIGファイルを解析し、バイナリのTUXCONFIG構成ファイルをロードします。

形式

tmloadcf [-n] [-y] [-c] [-b blocks] [-w] {UBBCONFIG_file | -}

説明

tmloadcfは、UBBCONFIG構文に指定されたファイルまたは標準入力を読み取り、構文をチェックして、オプションでバイナリのTUXCONFIG構成ファイルをロードします。環境変数TUXCONFIGTUXOFFSET (オプション)は、TUXCONFIGファイルと該当情報が格納される場所のオフセット(オプション)を示します。tmloadcfは、UBBCONFIGファイルのRESOURCESセクションに定義されているMASTERマシン上でしか実行できません。ただし、-cあるいは-nオプションが指定されている場合を除きます。

ノート:

TUXCONFIG環境変数に指定されたパス名は、UBBCONFIGファイルのMACHINESセクションに指定されているTUXCONFIGパラメータの値と完全に一致しなければなりません(大文字/小文字の区別も含む)。パス名が一致していない場合、tmloadcf(1)は正常に実行されません。

tmloadcfは、UBBCONFIGファイルのセクションで抜けているものを検出すると、警告メッセージを表示します。ただし、LAN OPTIONの指定のない構成におけるNETWORKセクションの抜け(「UBBCONFIG(5)」を参照)、またはROUTINGセクションの抜けは除きます。入力ファイルを解析中に構文エラーを検出すると、tmloadcfTUXCONFIGファイルを更新せずに終了します。

tmloadcfを実行するユーザーの実効ユーザー識別子は、UBBCONFIGファイルのRESOURCESセクションに記述されているUIDと同じでなければなりません(指定がある場合)。

tmloadcfにオプション-cを付けると、プログラムはこの構成に必要とされる最小のIPCリソースを表示します。RDMAが有効な場合、このオプションを指定すると、プログラムでMsgq_daemon (RCDMSZ)のメモリーの推奨サイズが出力されます。SHMQが有効な場合、このオプションを指定すると、プログラムでSHMQMAXMEM (SHMQSZ)の推奨最小値が出力されます。ノードごとに異なるリソース要件が、構成に含まれるノードごとに表示されます。TUXCONFIGファイルは更新されません。

tmloadcf-nオプションを使用すると、プログラムはUBBCONFIG (構成ファイルのテキスト・バージョン)の構文チェックだけを行い、TUXCONFIGファイルの実際の更新は行いません。

構文チェックの後、tmloadcfは、TUXCONFIGが参照するファイルが存在するかどうか、存在する場合はそのファイルが有効なOracle Tuxedoシステムのファイル・システムかどうか、およびTUXCONFIG表を含んでいるかどうかを調べます。これらの条件が満たされていない場合、tmloadcfは、TUXCONFIGの作成および初期化を行うかどうかを確認するプロンプトを表示します。

Initialize TUXCONFIG file: path [y, q]?

標準入力あるいは標準出力が端末でない場合、あるいはコマンド行で-yオプションが指定された場合には、このプロンプトは出されません。"y"または"Y"以外のレスポンスをすると、tmloadcfは構成ファイルを作成せずに終了します。

TUXCONFIGファイルが正しく初期化されていないとき、ユーザーが承認した場合は、tmloadcfがOracle Tuxedoファイル・システムを作成し、TUXCONFIG表を作成します。-bオプションがコマンド行に指定されると、Oracle Tuxedoファイル・システムの作成時に、その引数がデバイスのブロック数として使用されます。-bオプションの値が新しいTUXCONFIG表を収容できるほど大きい場合、tmloadcfは、指定された値を使用して新しいファイル・システムを作成します。それ以外の場合、tmloadcfはエラー・メッセージを出力して終了します。-bオプションが指定されない場合、tmloadcfは、TUXCONFIGを収容できるだけ大きい新しいファイル・システムを作成します。ファイル・システムがすでに存在している場合、-bオプションは無視されます。

TUXCONFIGがrawデバイス(初期化されていない)であり、そのrawデバイス上のブロック数を設定する必要がある場合には、-bオプションをできるだけ使用するようにしてください。TUXCONFIGが通常のUNIXファイルである場合には、-bオプションは使用しないようにしてください。

TUXCONFIGファイルがすでに初期化されていると判断される場合、tmloadcfはそのTUXCONFIGファイルに記述されているシステムが稼働状態にないことを確認します。そのシステムが稼働状態にあると、tmloadcfはエラー・メッセージを出して終了します。

システムが実行されておらず、TUXCONFIGファイルがすでに存在している場合、tmloadcfはファイルを上書きする必要があるかどうかを確認するプロンプトを表示します:

Really overwrite TUXCONFIG file [y, q]?

標準入力あるいは標準出力が端末でない場合、あるいはコマンド行で-yオプションが指定された場合には、このプロンプトは出されません。"y"または"Y"以外のレスポンスを行うと、tmloadcfは終了して、ファイルの書換えは行われません。

UBBCONFIG GROUPSセクションおよびUBBCONFIG RMSセクションで大量のOPENINFOを設定する必要がある場合は、-wオプションの使用を強くお薦めします。-wオプションを使用すると、すべてのパスワードが$TUXCONFIGから自動的に取得されます。したがって、OPENINFOを設定するたびにパスワードを手動で入力する必要がなくなります。かわりに、実行時にパスワードを変更する場合にのみパスワードを手動で入力します。

$TUXCONFIGが存在し、OPENINFOのパスワードが${tuxconfig.a-zA-Z0-9_}の書式で正しく定義されている場合は、tmloadcfから次のような情報が表示されるため、「N/n」と入力して続行できます。

Setting CLOPT -w could reduce your password-inputting times if none openinfo is changed, input [y/Y] to exit and rerun with -w,
or input [N/n] to continue?

ノート:

  • -wオプションでは、Oracle Tuxedo 12cリリース2 (12.1.3) RP003以上が必要です。
  • データベースのパスワードを変更する場合は、-wを指定しないでください。

構成ファイルのRESOURCESセクションにSECURITYパラメータが指定されていると、tmloadcfは標準入力をフラッシュし、端末エコー機能をオフにして、ユーザーにアプリケーション・パスワードの入力を求めます。

Enter Application Password?
Reenter Application Password?

パスワードは、30文字以内の長さで入力できます。ファイルではなく標準入力を介してUBBCONFIG (構成ファイルのテキスト・バージョン)をロードするオプションは、SECURITYパラメータがオンのときには使用できません。標準入力が端末でない場合、つまり、ユーザーにパスワードの入力を求めることができない場合(たとえば、hereファイルの場合)、アプリケーション・パスワードの設定のために環境変数APP_PWが参照されます。APP_PW環境変数が設定されておらず、標準入力が端末でない場合には、tmloadcfはエラー・メッセージを出し、ログ・メッセージを生成して、TUXCONFIGファイルのロードに失敗します。

エラーがないと仮定して、すべてのチェックの結果が正常であった場合、tmloadcfUBBCONFIGファイルをTUXCONFIGファイルにロードします。このとき、TUXCONFIG表にある既存の情報はすべて書き換えられます。

ノート:

ロード中に四捨五入されたため、アンロード時に一致しない値があります。そのような値にはMAXRFTおよびMAXRTDATAがありますが、それだけではありません。

相互運用性

tmloadcfはマスター・ノードで実行する必要があります。相互運用アプリケーションでは、マスター・ノードは最新のリリースでなければなりません。

移植性

tmloadcfは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。

環境変数

環境変数APP_PWは、SECURITYパラメータが指定され、かつ標準入力として端末以外のものを使用してtmloadcfを実行するアプリケーションに対して設定しなければなりません。

UBBCONFIGファイルBB.shmから構成ファイルをロードするには、次のようにデバイスを2000ブロックに初期化します。

tmloadcf -b2000 -y BB.shm

診断

入力にエラーが検出されると、エラーの原因となった行が、問題を指摘するメッセージとともに、標準エラーに出力されます。また、UBBCONFIGファイルに構文エラーがあったり、システムがその時点で稼働中であると、TUXCONFIGファイル内の情報は一切更新されず、tmloadcfは終了して、終了コード1を戻します。

UBBCONFIGファイルに指定されているUIDと一致しない実効ユーザー識別子を持つユーザーがtmloadcfを実行すると、次のようなエラー・メッセージが表示されます。

*** UID is not effective user ID ***

tmloadcfを非マスター・ノード上で実行すると、次のようなエラー・メッセージが表示されます。

tmloadcf cannot run on a non-master node.

tmloadcfをアクティブ・ノード上で実行すると、次のようなエラー・メッセージが表示されます。

tmloadcf cannot run on an active node.

tmloadcfは正常に処理を完了すると、終了コード0を返して終了します。TUXCONFIGファイルが更新された場合には、userlogメッセージが生成されてこのイベントが記録されます。

関連項目:

tmloadrepos(1)

名前

tmloadrepos - バイナリのTuxedoサービス・メタデータ・リポジトリ・ファイルを作成または更新し、サービス・パラメータ情報とともにロードします

形式

tmloadrepos [-e|-d service1[,...]] [-y] [-i repository_input file] repository_file

説明

このコマンドを使用すると、バイナリのTuxedoサービス・メタデータ・リポジトリ・ファイルを作成または更新し、サービス・パラメータ情報とともにロードできます。

リポジトリ・ファイルが存在せず、入力ファイルが指定されていない場合は、リポジトリ・ファイルが作成され、コンソールから入力(標準入力)するサービス・パラメータ情報が使用されます。標準入力は、リポジトリ・ファイルがすでに存在しているにもかかわらず、入力ファイルまたは特定のサービス名が指定されていない場合にも使用します。

ノート:

tmloadreposを使用して、JOLTリポジトリ・ファイルのサービス・パラメータ情報を更新、追加、または削除することはできません。

tmloadreposでは、次のオプションを使用できます:

-i
-iが指定されると、tmloadreposが特定の入力ファイルを使用してサービス・パラメータ情報を作成し、新しいメタデータ・リポジトリ・ファイルにロードするか、既存のファイルを変更します。
デフォルトでは、tmloadrepos-iオプションを使用すると、repository_inputファイルに示されていない既存のrepository_file情報を保持できます。または、repository_inputファイルに構文エラーがある場合にもその情報を保持できます。
例1: tmloadrepos -i infile reposfile 指定された入力ファイルが見つからない場合、エラー・メッセージが表示されます。
-e
-eが指定されると、tmloadreposは、既存のリポジトリ情報のすべてをrepository_inputファイルで指定された情報に置き換えます。
repository_inputファイルを指定しないと、ユーザーがコンソールからサービス・パラメータ情報を入力する必要があります。この情報によって既存のリポジトリ情報が置き換えられます。
例2: tmloadrepos -e reposfile
例3: tmloadrepos -e -i infile reposfile
-d
tmloadrepos-dを指定すると、指定したサービスの情報がリポジトリから削除されます。-dオプションを-iオプションと一緒に使用することはできません。また、特定のサービス情報を削除するために正規表現を使用することもできません。
例4 :tmloadrepos -d newservice reposfile

ノート:

情報が誤って消去されるのを防ぐために、-yオプションを指定しないかぎり、-eおよび-dオプションによってユーザーの確認を要求します。確認メッセージが表示された場合、メタデータ・リポジトリ・ファイルのサービス情報の編集、追加または削除を続行するには「Y」を、続行しない場合は「N」を選択します。
-y
-yを指定すると、ユーザーの確認なしに、メタデータ・リポジトリ・ファイルのディレクトリに対してサービス情報の編集、追加または削除が行われます。
例5: tmloadrepos -e -y -i infile reposfile
例6: tmloadrepos -d newservice -y reposfile
repository_input file
repository_inputファイルは、サービス・キーワードおよびパラメータ・キーワードとそれらの値を格納するテキスト・ベースのファイルです。キーワードの省略形も使用できます。キーワードおよび省略形の大文字/小文字は区別されます。キーワード、省略形および値の一覧は、『Oracle Tuxedoアプリケーションの設定』「Tuxedoサービス・メタデータ・リポジトリの管理」の「メタデータ・リポジトリを作成する」を参照してください。
repository_file
tmloadreposによって作成されるバイナリ・ファイルで、すべてのメタデータ・リポジトリ・サービス情報が格納されます

診断

入力にエラーが検出されると、エラーの原因となった行が、問題を指摘するメッセージとともに、標準エラーに出力されます。

例1: 単純なtmloadrepos入力ファイルの例。

リスト: TMLOADREPOS入力

service=TRANSFER
svcdescription=This service transfers money from one account to another
export=Y
inbuf=FML
outbuf=FML

param=ACCOUNT_ID
type=integer
paramdescription=The withdrawal account is 1st, and the deposit account is 2nd.
access=in
count=2
requiredcount=2

param=SAMOUNT
paramdescription=This is the amount to transfer. It must be greater than zero.
type=string
access=in
param=SBALANCE
paramdescription=The withdrawal account is 1st, and the deposit account is 2nd.
type=string
access=out
count=2
requiredcount=2

param=STATLIN
type=string
access=out

service=LOGIN
svcdescription=This service allows users to log in to the Acme Banking\
Corporation computer systems. Only tellers and trusted administrators may\
make use of this service.
inbuf=VIEW
inview=LOGINS
outview=LOGINR
export=Y

param=user
type=string
access=in

param=passwd
type=string
access=in

param=token
type=integer
access=out

例2 :埋込み型パラメータのtmloadrepos入力ファイル。

リスト: 埋込み型パラメータのTMLOADREPOS入力

service=DEPOSIT
svcdescription=This service saves money to one account
export=Y
inbuf=FML32
outbuf=FML32

param=USER_INFO
type=fml32
paramdescription=user information of the account
access=in
count=1
requiredcount=1
fldnum=20000
# embedded field
(
       param=USERNAME
       type=string
       paramdescription=user name
       size=8
       count=1
       requiredcount=1
       fldnum=20001
       param=GENDER
       type=string
       size=6
       count=1
       requiredcount=1
       fldnum=20002
)
param=ACCOUNT_ID
type=integer
paramdescription=the deposit account
access=in
count=1
requiredcount=1
fldnum=20003

param=SAMOUNT
paramdescription=This is the amount to transfer. It must be greater than zero.
type=string
access=in
fldnum=20004

param=SBALANCE
paramdescription=the deposit account
type=string
access=out
count=1
requiredcount=1
fldnum=20005

param=STATLIN
type=string
access=out
fldnum=20006

TMS_rac_refresh(1)

名前

TMS_rac_refresh - Oracle Real Application Clusters (RAC)の準備されたトランザクションのリストを取得します

形式

TMS_rac_refresh groupname or [group ID grp1,grp2, ...]

説明

TMS_rac_refreshは、トランザクション・マネージャ・サーバー(TMS)にコマンドを送り、xa_recover()の処理を再実行します。サーバーはグループ名またはグループIDで指定し、groupnameパラメータにリストされます。TMS_rac_refreshは、メッセージをTMSに送信した後で終了します。その後、TMSは実際のxa_recover()を非同期に実行します。この処理は、フェイルオーバー条件が発生したときにOracle Real Application Clusters (RAC)ソフトウェアで必要になります。

TMS_rac_refreshは、Oracle RACグループが代替サーバー・グループにフェイルオーバーするときに、Oracle Fast Application Notification (FAN)を使用して開始されます。コマンド行から手作業で実行する必要はありません。

ノート:

TMS_rac_refreshは、RAC機能を使用するOracleサーバー・グループのみが使用します。Oracle FANの構成方法の詳細は、Oracle 10gのドキュメントを参照してください。

パラメータ

groupname
RACデータベースのインスタンスに障害が発生したときの代替用のインスタンスに関連付けられているサーバー・グループ名またはグループID。TMS_rac_refreshを実行するために必須のパラメータです。

診断

TMS_rac_refreshは、通常はコマンド行からは実行しません。したがって、診断メッセージはuserlogに書き込まれます。

エラー

TMS_rac_refreshは、groupnameが正しいサーバー・グループの名前でなかった場合、またはgroupnameでリストされたTMSサーバーにメッセージを送信できなかった場合にエラーを報告します。

tmshutdown(1)

名前

tmshutdown - Oracle Tuxedoサーバー・セットを停止します。

形式

tmshutdown [options]

説明

tmshutdownは、サーバーの実行の停止や、構成ファイルに記述されているサービスの通知の解除を行います。tmshutdownコマンドを呼び出せるのは、(構成ファイルのUIDパラメータで指定されている)掲示板の管理者またはrootのみです。また、tmshutdownは、構成ファイルのRESOURCESセクションでMASTERとして指定されているマシン、あるいはMASTERとして機能するバックアップ・マシン(つまり、tmadmin(1)masterコマンドによりDBBLがすでに稼働状態である)上でしか呼び出せません。ただし、パーティション化されたプロセッサに対して-Pオプションが使用されている場合を除きます(次を参照)。

オプションなしの場合、tmshutdownはすべての管理サーバー、TMS、ゲートウェイ・サーバー、およびTUXCONFIG環境変数に指定されている構成ファイルのSERVERSセクションに記述されているサーバーを停止させ、それらの関連IPCリソースを除去します。グループごとに、SERVERSセクションの全サーバー、関連するゲートウェイ・サーバー(外部グループの)およびTMSサーバーがこの順序で停止されます。管理サーバーは最後に停止されます。

SEQUENCEパラメータなしのアプリケーション・サーバーが、構成ファイルのサーバー・エントリと逆の順序で最初に停止されます。その後、SEQUENCEパラメータが指定されたサーバーがシーケンス番号の上から順に停止されます。構成ファイルのSERVERSセクションの複数のサーバーでSEQUENCEパラメータが同じ場合、tmshutdownはそれらのサーバーをパラレルで停止します。SERVERSセクションの各エントリには、MINパラメータとMAXパラメータをオプションで指定できます。-iオプションが指定されない場合、tmshutdownは、各サーバー・エントリについてサーバーのすべてのオカレンス(最大でMAXオカレンス)を停止します。-iオプションを使用すると、個々のオカレンスが停止されます。

あるサーバーを停止できない場合、あるいはサービスの通知を削除できない場合、中央のイベント・ログに診断が書き出されます(「userlog(3c)」を参照)。次に、すべてのオプションについて個々に説明します。

-l lmid
関連するLMIDパラメータがlmidであるグループごとに、そのグループに関連付けられたSERVERSセクションのすべてのサーバーがまず停止され、続いてそのグループに関連付けられたTMSおよびゲートウェイ・サーバーが停止されます。
-g grpname
指定されたグループに関連付けられた(つまり、SRVGRPパラメータがgrpnameに設定されている) SERVERSセクションのすべてのサーバーがまず停止され、続いてそのグループのすべてのTMSサーバーとゲートウェイ・サーバーが停止されます。TMSサーバーの停止は、そのグループ・エントリのTMSNAMEおよびTMSCOUNTパラメータの設定に基づいて行われます。外部グループの場合、HOSTセクションの関連エントリに対応するゲートウェイ・サーバーの停止は、パラメータGATENAMEGATECOUNTに基づいて行われます。ゲートウェイを停止すると、そのプロセスが停止されると共に、その管理サービスと通知されたすべての外部サービスの通知が解除されます。
-i srvid
SERVERSセクションのサーバーのうち、SRVIDパラメータがsrvidに設定されているサーバーがすべて停止されます。SRVIDには30,000を超える値を入力しないでください。これはシステム・プロセス(TMSサーバーまたはゲートウェイ・サーバー)を指定します。これらを停止するには、-lオプションまたは-gオプションを使用する必要があります。
-s aout
SERVERSセクションのサーバーのうち、名前がaoutのすべてのサーバーが停止されます。このオプションは、TMSおよびゲートウェイ・サーバーの停止にも使用できます。
-o sequence
SERVERSセクションのサーバーのうち、SEQUENCEパラメータがsequenceに設定されているすべてのサーバーが停止されます。
-S
SERVERSセクションのサーバーがすべて停止されます。
-A
すべての管理サーバーがシャットダウンします。
-M
マスター・マシン上で管理サーバーが停止されます。MASTERマシン上のBBLが停止され、構成ファイルにLANNETWORKエントリが指定されていれば、BRIDGEが停止されます。MODELMPであると、DBBL管理サーバーが停止されます。
-B lmid
論理名がlmidであるプロセッサ上のBBLが停止されます。
-w delay
選択されたすべてのサーバーをただちに中断し、delay秒だけ停止の確認を待機した後、SIGTERMシグナル、SIGKILLシグナルの順にサーバーに送ってサーバーを強制的に停止するようにtmshutdownに指示します。
SIGKILLシグナルは捕捉できないため、その時点でプロセスによって実行されるコードには無関係に、シグナルを受信したプロセスはすべて直ちに終了されます。停止されるプロセスが掲示板を更新中だった場合には、掲示板に構造上の損傷を与えるおそれがあります。

ノート:

-wオプションが適用されるサーバーは、UNIXのシグナルSIGTERMを捕捉できません。

SIGKILLシグナルの受信に基づいてサーバーが停止される場合、エントリが掲示板に残る場合があります。BBLが停止される場合、これらのエントリが検出され、BBLは停止しません。システムの停止を完了するには、再度tmshutdownコマンドを使用しなければならない場合もあります。

-k {TERM | KILL}
tmshutdownは、選択されたすべてのサーバーをただちに中断し、これらを順番に(TERM)または強制的に(KILL)停止します。
SIGKILLシグナルは捕捉できないため、その時点でプロセスによって実行されるコードには無関係に、シグナルを受信したプロセスはすべて直ちに終了されます。このような動作は、停止中のプロセスが掲示板を更新中だった場合、掲示板に構造上の損傷を与える可能性があります。これを防ぐためにtpkill(1)コマンドを使用できます。tpkillは掲示板をロックした後でSIGKILLシグナルをプロセスに送信するため、終了されるプロセスによる掲示板の更新を回避できます。

ノート:

このオプションは、UNIXシグナルのSIGTERMSIGKILLをサポートするシステムでは、これらにマップされます。デフォルトでは、SIGTERMはOracle Tuxedoサーバーで順序立てた停止を開始します。SIGTERMをアプリケーションでリセットすると、Oracle Tuxedoシステムがサーバーを停止できなくなることがあります。
SIGKILLシグナルの受信に基づいてサーバーが停止される場合、エントリが掲示板に残る場合があります。BBLが停止される場合、これらのエントリが検出され、BBLは停止しません。システムの停止を完了するには、再度tmshutdownコマンドを使用しなければならない場合もあります。
-y
すべての管理プロセスおよびサーバー・プロセスを停止する必要があるかを確認するプロンプトに対して、yesの答えを指定します。(このプロンプトが表示されるのは、制限するオプションを指定せずにコマンドを入力した場合のみです。)
-yオプションを指定すると、すべてのサービスが直ちに掲示板から通知解除され、以降サービス呼出しができなくなります。
-q
標準出力に実行シーケンスを表示しません。-yが指定されているものと想定します。
-n
実行シーケンスを表示しますが、実行はされません。
-R
移行操作の場合のみ、元のプロセッサ上のサーバーが停止され、別のプロセッサへの移行準備としての掲示板エントリの削除は行われません。-Rオプションは、-lまたは-gオプションと一緒に使用する必要があります(たとえば、tmshutdown -l lmid -R)。また、構成ファイルのRESOURCESセクションにMIGRATEオプションを指定しなければなりません。
-r
このオプションを使用すると、サーバーがリクエスト・キューからシャットダウン・メッセージを受信したとき、メッセージ・キューのメッセージを排出せずにシャットダウンします。

ノート:

サーバーがリクエストを長時間処理している場合、現在のリクエストの処理を終了し、次のメッセージをメッセージ・キューから取得するまで、サーバーは停止できません。その後、シャットダウン・メッセージが選択され、ただちにシャットダウンします。メッセージ・キューのメッセージは取り消されます。このオプションは非常時に使用したり、重要でない取り消されるメッセージに対して使用したりできます。このオプションは、-wオプションおよび-kオプションとともに使用できます。
-c
クライアントがまだアタッチされていても、BBLが停止されます。
-H lmid
単一プロセッサ上では、指定されたlmidに関連付けられたノードのすべての管理サーバーおよびアプリケーション・サーバーが停止されます。一方、マルチプロセッサ(たとえば3B4000)上では、PEが1つしか指定されていない場合でも、すべてのPEが停止されます。
-P lmid
このオプションを指定すると、tmshutdownは、指定されたlmid上の掲示板にアタッチし、このlmidが該当アプリケーションの他の部分からパーティション化されていることを確認してから(つまり、DBBLにはアクセスしません)、すべての管理サーバーとアプリケーション・サーバーを停止します。これは、構成ファイルのMACHINESセクションのlmidに関連付けられているプロセッサ上で実行する必要があります。

-l-g-sおよび-Tオプションを指定するとTMSサーバーが停止します。-l-gおよび-sオプションを指定すると、ゲートウェイ・サーバーが停止します。-l-g-i-s、-oおよび-Sオプションはアプリケーション・サーバーに適用されます。-A-Mおよび-Bオプションは管理プロセスのみに適用されます。-l-g-i-oおよび-sオプションを組み合せて使用すると、指定されたすべての条件を満たすサーバーのみが停止します。

サーバーの中断時にグローバル・トランザクションが稼働しているといったような分散トランザクション処理機能を使用する場合には、プリコミット後のコミットが記録される場所まで処理が進んでいなかったトランザクションは、中断します。一方、コミット点まで進んでいたトランザクションは、サーバー(たとえば、TMS)が再度ブートされた時点で処理が完了します。

相互運用性

tmshutdownはマスター・ノード上で実行する必要があります。相互運用アプリケーションでは、マスター・ノードは最新のリリースを実行する必要があります。tmshutdownは、リリース4.1サイトでリリース4.2管理サーバーを停止させることにつながる構成ファイル内の条件を検出し報告します。

移植性

tmshutdownは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。

診断

tmshutdownがサーバーの停止に失敗した場合や、致命的エラーが発生した場合、tmshutdownは終了コード1で終了します。詳細は、ユーザー・ログを調べてください。それ以外の場合は、終了コード0で終了します。

tmshutdownが、実際のマスター・ノードでないアクティブ・ノード上で実行されると、次のような致命的エラー・メッセージが表示されます。

tmshutdown cannot run on a non acting-master node in an active application.

プロセスを停止することでアクティブ・プロセスがDBBLからパーティション化されると、次のような致命的エラー・メッセージが表示されます。

cannot shutdown, causes partitioning.

サーバーが異常終了した場合には、次のようなメッセージが出されます。

CMDTUX_CAT:947 Cannot shutdown server GRPID

システム全体を停止して、Oracle TuxedoのIPCリソースをすべて削除するには、次のコマンドを実行します。30秒経過しても確認が得られないと強制的に実行されます。

tmshutdown -w 30

lmidの値がCS1に設定されているマシン上のサーバーのみを停止するには、次のコマンドを入力します:

tmshutdown -l CS1

-lオプションはSERVERSセクションにリストされているサーバーのみにアクションを制限するものであるため、CS1上のBBLは停止されません。

注意事項

tmshutdownコマンドは、ハングアップ・シグナル(SIGHUP)を無視します。停止中にシグナルが検出されても、プロセスは継続します。

関連項目:

tmunloadcf(1)

名前

tmunloadcf - バイナリのTUXCONFIG構成ファイルをアンロードします。

形式

tmunloadcf

説明

tmunloadcfは、TUXCONFIG構成ファイルをバイナリ表現からテキスト形式に変換します。この変換処理は、バイト・オーダーが異なるマシン間でファイルを簡潔に移送したり、ファイルのバックアップ・コピーを簡潔に作成して信頼性を高める場合に役立ちます。テキスト形式は、「UBBCONFIG(5)」で説明します。

tmunloadcfは、TUXCONFIGおよびTUXOFFSET環境変数が示すTUXCONFIGファイルから値を読み取り、それらを標準出力に書き出します。

Oracle Tuxedoリリース7.1で起動すると、複数のリソースに対してパスワードを使用できます。たとえば、リソース・マネージャのOPENINFO文字列にパスワードを指定できます。パスワードを含むTUXCONFIG構成ファイルに対してtmunloadcfが実行された場合、出力には暗号化されたパスワードが表示されます。この暗号化されたパスワードは、一度だけシステムにアップロードできます。

ノート:

また、構成中に四捨五入されたため、tmloadcfの実行時に設定した値、またはTMIBインタフェースによって設定された値と一致しない値もあります。そのような値にはMAXRFTおよびMAXRTDATAがありますが、それだけではありません。

移植性

tmunloadcfは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。

次のコマンドを入力すると、/usr/tuxedo/tuxconfigの構成がファイルtconfig.backupにアンロードされます。

TUXCONFIG=/usr/tuxedo/tuxconfig tmunloadcf > tconfig.backup

診断

tmunloadcfは、TUXCONFIGおよびTUXOFFSET環境変数が参照するファイルが存在するかどうか、存在する場合はそのファイルが有効なOracle Tuxedoシステムのファイル・システムであるかどうか、およびTUXCONFIG表を含んでいるかどうかを調べます。これらの条件のいずれかが満たされない場合、tmunloadcfはエラー・メッセージを出し、終了コード1を戻して終了します。処理が成功すると、tmunloadcfは終了コード0を返して終了します。

関連項目:

tmunloadrepos(1)

名前

tmunloadrepos - Tuxedoサービス・メタデータ・リポジトリ・ファイルから、サービスの情報を表示するか、tuxedoクライアント側またはサーバー側のC疑似コードを作成します。

形式

tmunloadrepos [-s service_regular_expression1[,...]] [-t|-c|-C|-S|-V output_dir][-o output_file] repository_file

説明

tmunloadreposは、メタデータ・リポジトリ・ファイルに指定されたTuxedoサービス情報を表示するか、Tuxedoクライアント側またはサーバー側のC疑似コードをメタデータ・リポジトリ・ファイルから生成します。

ノート:

tmunloadreposは、Joltリポジトリ・ファイルを表示するためにも使用できます。tmunloadreposでは、次のオプションを使用できます:
-s
-sオプションを指定すると、出力をservice_regular_expressionに一致するサービスに限定できます。このオプションを指定しない場合は、リポジトリで認識されているすべてのサービスの情報が表示されます。区切り文字「,」を使用すると、複数のservice_regular_expressionを1つの文字列にできます。
-t
-tオプションを指定すると、出力がプレーン・テキスト形式になります。この形式は、tmloadreposへの入力としても使用できます。
-c
-cオプションを指定すると、出力がC疑似コード形式になります。この形式は、指定したサービスへのtuxedoクライアント・サービス呼出しで必要になります。
-C
-Cオプションを指定すると、出力が、典型的なスタンドアロンtuxedoクライアントのC疑似コード形式になります。tuxedoクライアントに含まれるサービス名全体の文字数は512以内であることが必要です。
-S
-Sオプションを指定すると、出力が、一般的なtuxedoサービス実装スケルトンのC疑似コード形式になります。この形式では入力/出力バッファがリポジトリ・ファイルで指定されています。
さらに、-Sオプションを指定すると、サービス名がサービス関数名として使用されます。
-V output_dir
-Vオプションを指定すると、tmunloadreposがTuxedoビュー・ファイル${SERVICENAME}[info.v|info32.v|_infoFML|infoFML32]を生成します。このファイルには、メタデータ・リポジトリ・ファイルに定義されている、FML/FML32フィールド表またはVIEW/VIEW32記述子が記述されています。tmunloadreposの入力でVIEWのフィールドの最大オカレンス数が指定されていない場合、tmunloadrepos -Vは、VIEWlのそのフィールドに対して1つのオカレンスのみを生成します。これに対し、tmunloadreposの入力でフィールドの無制限のオカレンスが指定されると、tmunloadrepos -Vはエラーを生成します。

–S、-V、-C、-t-cの各オプションは相互に排他的です。これらのオプションのいずれも指定しない場合、出力はプレーン・テキスト形式になります。

-o output_file
出力ファイル名を指定します。-o output_fileが指定されない場合、標準出力が使用されます。-o output_fileは、-S-Cまたは-cが指定されている場合にのみ有効です。

ノート:

tmunloadreposは、Tuxedoサービス・メタデータ・リポジトリ・ファイルだけでなく、Joltリポジトリ・ファイルを表示するためにも使用できます。

非推奨

次のtmunloadreposコマンド行オプションは、Tuxedo 10.0リリースでは非推奨です。

-w
-wオプションが指定されている場合、出力はWSDLサービス記述の形式になります。Tuxedo 9.0以降では、WSDL仕様V2.0 (www.x3.org)に基づいてカスタマイズされたWSDL形式が使用されます。

Oracle SALTのコマンド・ユーティリティtmwsdlgenは、TuxedoサービスのWSDL公開に関して唯一推奨されるユーティリティです。tmwsdlgenの詳細は、Oracle SALTのドキュメントを参照してください。

診断

tmunloadreposでは、repository_fileで指定されたファイルがTuxedoシステムのメタデータ・リポジトリ・ファイルとして有効かどうかが検証されます。tmunloadreposで-sオプションを指定すると、service_regular_expressionに一致する1つ以上のサービスについての情報がリポジトリに格納されているかどうかが検証されます。これらの条件のいずれかが満たされない場合、tmunloadreposはエラー・メッセージを表示し、エラー・コード1で終了します。完了すると、tmunloadreposは終了コード0で終了します。

フィールド型のマッピング

表1-19 フィールド型のマッピング・ルール

MIF FML FML32 VIEW VIEW32 C
STRING string string string string char*
INT long long int int int
FLOAT float float float float float
SHORT short short short short short
LONG long long long long long
DOUBLE double double double double double
CHAR char char char char char
BYTE char char char char unsigned char
XML N/A mbstring N/A mbstring char*
PTR ptr ptr N/A N/A char*
CARRAY carray carray carray carray char*
MBSTRING N/A mbstring N/A mbstring char*
DEC_T N/A N/A dec_t dec_t char*
FML32 N/A FML32 N/A N/A -
VIEW32 N/A VIEW32 N/A N/A -

Example 1:tmunloadrepos -t 

リスト: tmunloadrepos -tからのテキスト出力

#
# #Generated from Repository file :
/u01/common/patches/qingszha/AtmiSupport/miftest/viewfml
#


######################
# service : TRANSFER #
######################
service=TRANSFER
servicetype=service
export=Y
inbuf=FML32
outbuf=FML32
svcdescription=This service transfers money from one account to another
tuxservice=TRANSFER
param=ACCOUNT_ID
count=2
requiredcount=2
type=integer
access=in
paramdescription=The withdrawal account is 1st, and the deposit account is 2nd.
param=SAMOUNT
count=1
requiredcount=1
type=string
access=in
paramdescription=This is the amount to transfer. It must be greater than zero.
param=SBALANCE
count=2
requiredcount=2
type=string
access=out
paramdescription=The withdrawal account is 1st, and the deposit account is 2nd.
param=STATLIN
count=1
requiredcount=1
type=string
access=out

###################
# service : LOGIN #
###################
service=LOGIN
servicetype=service
export=Y
inbuf=VIEW
outbuf=VIEW
inview=LOGINS
outview=LOGINR
svcdescription=This service allows users to log in to the Acme Banking \
               Corporation computer systems. Only tellers and trusted \
               administrators may make use of this service.
tuxservice=LOGIN
param=user
count=1
requiredcount=1
type=string
access=in
param=passwd
count=1
requiredcount=1
type=string
access=in
param=token
count=1
requiredcount=1
type=integer
access=out

例2: tmunloadrepos -C

リスト: tmunloadrepos -CからのC疑似コード出力

/*
 * #Generated from Repository file :
/u01/common/patches/qingszha/AtmiSupport/miftest/viewfml
 * #Generated Time : 04/12/12 01:50:08
 */
#include <stdio.h>
#include "userlog.h"
#include "atmi.h"


/**********************/
/* service : TRANSFER */
/**********************/
int
callsvc_TRANSFER()

{

     /*
     * This service transfers money from one account to
     * another
     */
     FBFR32 *idata;
     FBFR32 *odata;
     int in_account_id = 0;
     /*char in_samount [<USER_DATA_LENGTH>];*/
     char *out_sbalance = NULL;
     char *out_statlin = NULL;
     long ilen,olen,flags = 0;
    /* Application business logic can be placed here */
     if ((idata = tpalloc("FML32", NULL, 4096))==NULL) {
     /*<error log can be placed here>*/
     return -1;
 }

 if ((odata = tpalloc("FML32", NULL, 4096))==NULL) {
 tpfree(idata);
 /*<error log can be placed here>*/
 return -1;

 }


     /*Fadd32(idata, ACCOUNT_ID, (char *)&in_account_id,
<USER_DATA_LENGTH>);*/
     /*Fadd32(idata, ACCOUNT_ID, (char *)&in_account_id,
<USER_DATA_LENGTH>);*/
     /*Fadd32(idata, SAMOUNT, (char *)&in_samount, <USER_DATA_LENGTH>);*/


     rtn = tpcall("TRANSFER", idata, ilen, &odata, &olen, flags)

    /* Code to retrieve fields from odata goes here */

 tpfree(idata);
 tpfree(odata);

    /* Application business logic can be placed here */
    return 0;
}


/*******************/
/* service : LOGIN */
/*******************/
int
callsvc_LOGIN()
{

     /*
     * This service allows users to log in to the Acme Banking
     * Corporation computer systems. Only tellers and trusted
     * administrators may make use of this service.
     */
     struct LOGINS *idata;
     struct LOGINR *odata;
     /*char in_user [<USER_DATA_LENGTH>];*/
     /*char in_passwd [<USER_DATA_LENGTH>];*/
     int out_token = 0;
     long ilen,olen,flags = 0;


 /* Application business logic can be placed here */


 if ((idata = tpalloc("VIEW", "LOGINS", 4096))==NULL) {
     /*<error log can be placed here>*/
     return -1;
}

 if ((odata = tpalloc("VIEW", "LOGINR", 4096))==NULL) {
     tpfree(idata);
     /*<error log can be placed here>*/
     return -1;
 }


 /* <idata> View member value setting can be placed here */


 idata->user = in_user;
 idata->passwd = in_passwd;
 rtn = tpcall("LOGIN", idata, ilen, &odata, &olen, flags)


 /* Code to retrieve fields from odata goes here */

 tpfree(idata);
 tpfree(odata);

 /* Application business logic can be placed here */


     return 0;
}
int
main(int argc, char *argv[])

{
 argc = argc;
argv = argv;


 /*
 * Set the external variable proc_name (defined in userlog.h)
 * to be the name of the executable program so that it appears
 * in the Tuxedo ULOG entries for the client program.
 */


 proc_name = argv[0];


 if (tpinit((TPINIT *)NULL) == -1) {
     /*<error log can be placed here>*/
     (void)exit(1);
 }


 if (callsvc_TRANSFER()){
      /*<error log can be placed here>*/
 }


 if (callsvc_LOGIN()){
      /*<error log can be placed here>*/
 }
 (void)tpterm()
 return(0);
}

リスト: tmunloadrepos -cからのC疑似コード出力

/ *

 * #Generated from Repository file :
/u01/common/patches/qingszha/AtmiSupport/miftest/viewfml
 * #Generated Time : 04/12/12 01:50:08
 */


/**********************/
/* service : TRANSFER */
/**********************/
int
callsvc_TRANSFER()
{

     /*
     * This service transfers money from one account to
     * another
     */
     FBFR32 *idata;
     FBF R32 *odata;
     int in_account_id = 0;
     /*char in_samount [<USER_DATA_LENGTH>];*/
     char *out_sbalance = NULL;
     char *out_statlin = NULL;
     long ilen,olen,flags = 0;


     /* Application business logic can be placed here */
     if ((idata = tpalloc("FML32", NULL, 4096))==NULL) {
         /*<error log can be placed here>*/
         return -1;
 }

 if ((odata = tpalloc("FML32", NULL, 4096))==NULL) {
     tpfree(idata);
     /*<error log can be placed here>*/
     return -1;
 }


     /*Fadd32(idata, ACCOUNT_ID, (char *)&in_account_id,
<USER_DATA_LENGTH>);*/
     /*Fadd32(idata, ACCOUNT_ID, (char *)&in_account_id,
<USER_DATA_LENGTH>);*/
     /*Fadd32(idata, SAMOUNT, (char *)&in_samount, <USER_DATA_LENGTH>);*/


     rtn = tpcall("TRANSFER", idata, ilen, &odata, &olen, flags)


     /* Code to retrieve fields from odata goes here */

 tpfree(idata);
 tpfree(odata);


     /* Application business logic can be placed here */
     return 0;
}

/*******************/
/* service : LOGIN */
/*******************/
int
callsvc_LOGIN()
{
     /*
     * This service allows users to log in to the Acme Banking
     * Corporation computer systems. Only tellers and trusted
     * administrators may make use of this service.
     */
     struct LOGINS *idata;
     struct LOGINR *odata;
     /*char in_user [<USER_DATA_LENGTH>];*/
     /*char in_passwd [<USER_DATA_LENGTH>];*/
     int out_token = 0;
     long ilen,olen,flags = 0;

     /* Application business logic can be placed here */


     if ((idata = tpalloc("VIEW", "LOGINS", 4096))==NULL) {
         /*<error log can be placed here>*/
         return -1;
 }


     if ((odata = tpalloc("VIEW", "LOGINR", 4096))==NULL) {
         tpfree(idata);
         /*<error log can be placed here>*/
         return -1;
 }


 /* <idata> View member value setting can be placed here */


 idata->user = in_user;
 idata->passwd = in_passwd;
 rtn = tpcall("LOGIN", idata, ilen, &odata, &olen, flags)


 /* Code to retrieve fields from odata goes here */


 tpfree(idata);
 tpfree(odata);

 /* Application business logic can be placed here */


     return 0;
}

リスト: tmunloadrepos -SからのC疑似コードの出力

/*
 * #Generated from Repository file :
/u01/common/patches/qingszha/AtmiSupport/miftest/viewfml
 * #Generated Time : 04/12/12 01:50:24
*/


/**********************/
/* service : TRANSFER */
/**********************/
void
TRANSFER(TPSVCINFO *msg)
{

     /*
     * This service transfers money from one account to
     * another
     */
     FBFR32 *idata;
     FBFR32 *odata;
     int in_account_id = 0;
     char *in_samount = NULL;
     char *out_sbalance = NULL;
     char *out_statlin = NULL;
     int counter, numofocc;

     /* Application business logic can be placed here */

     idata = (FBFR32 *) msg->data;

     Fprint32(idata);

    if ((odata = tpalloc("FML32", NULL, msg->len))==NULL) {
    /*<error log can be placed here>*/
     tpreturn(TPFAIL, 0, (char *)idata, 0L, 0);
 }

 if ((numofocc = Foccur32(idata, ACCOUNT_ID)) == -1) {
 /*verifying the number of occurrences is within the range specified
in the service definition*/
 /*<error log can be placed here>*/
 tpreturn(TPFAIL, 0, (char *)odata, 0L, 0);
 }

 if (numofocc == 0) {
      /*<error log can be placed here>*/
      tpreturn(TPFAIL, 0, (char *)odata, 0L, 0);
 }
 for (counter = 0; counter < numofocc; counter++) {
 /*
 * if (Fget32(idata, ACCOUNT_ID, counter, (char *)&in_account_id,
<USER_DATA_LENGTH>) == -1) {
 *     <error log can be placed here>
 *     tpreturn(TPFAIL, 0, (char *)odata, 0L, 0);
 *     }
 */
 }
 if ((numofocc = Foccur32(idata, SAMOUNT)) == -1) {
     /*verifying the number of occurrences is within the range specified
in the service definition*/
     /*<error log can be placed here>*/
     tpreturn(TPFAIL, 0, (char *)odata, 0L, 0);
}
 if (numofocc == 0) {
     /*<error log can be placed here>*/
     tpreturn(TPFAIL, 0, (char *)odata, 0L, 0);
 }
 for (counter = 0; counter < numofocc; counter++) {
 /*
 *     if (Fget32(idata, SAMOUNT, counter, (char *)&in_samount,
<USER_DATA_LENGTH>) == -1) {
 *     <error log can be placed here>
 *     tpreturn(TPFAIL, 0, (char *)odata, 0L, 0);
 *     }
 */
 }


 /* Application business logic can be placed here */


 /*Fadd32(odata, SBALANCE, (char *)&out_sbalance, <USER_DATA_LENGTH>);*/
 /*Fadd32(odata, SBALANCE, (char *)&out_sbalance, <USER_DATA_LENGTH>);*/
 /*Fadd32(odata, STATLIN, (char *)&out_statlin, <USER_DATA_LENGTH>);*/


 tpreturn(TPSUCCESS, 0, (char *)odata, 0L, 0);

}


/*******************/
/* service : LOGIN */
/*******************/


void
LOGIN(TPSVCINFO *msg)
{

     /*
     * This service allows users to log in to the Acme Banking
     * Corporation computer systems. Only tellers and trusted
     * administrators may make use of this service.
     */
     struct LOGINS *idata;
     struct LOGINR *odata;
     char *in_user = NULL;
     char *in_passwd = NULL;
     int out_token = 0;
     /* Application business logic can be placed here */

     idata = (struct LOGINS *) msg->data;

 if ((odata = tpalloc("VIEW", "LOGINR", msg->len))==NULL) {
     /*<error log can be placed here>*/
     tpreturn(TPFAIL, 0, (char *)idata, 0L, 0);
 }

 /* Input View <idata> member value getting can be placed here */


 in_user = idata->user;
 in_passwd = idata->passwd;
 /* Output View member value setting can be placed here */
    odata->token = out_token;
    tpreturn(TPSUCCESS, 0, (char *)odata, 0L, 0);


}

例5: tmunloadrepos -V

リスト: tmunloadrepos -VによるTuxedoビュー・ファイルの生成

filename:LOGINinfo.v


#Generated from Repository file :
/u01/common/patches/qingszha/AtmiSupport/miftest/viewfml
#Generated Time : 04/12/12 01:50:34

VIEW     LOGINS
#type    cname     fbname     count     flag     size     null
#----    -----     ------     -----     ----     ----     ----
string   in_user     -         1         -       -        NULL
string   in_passwd   -         1         -       -        NULL
END

VIEW     LOGINR
int      out_token   -         1         -       -         0  
END

filename:TRANSFER_infoFML32


#Generated from Repository file :
/u01/common/patches/qingszha/AtmiSupport/miftest/viewfml
#Generated Time : 04/12/12 03:20:51


*base 1000

#name     rel-number     type     flags     comment

#----     ----------     ----     ------    -------
ACCOUNT_ID 1 long - The withdrawal account is 1st, and the deposit account
is 2nd.
SAMOUNT 2 string - This is the amount to transfer. It must be greater
than zero.
SBALANCE 3 string - The withdrawal account is 1st, and the deposit account
is 2nd.
STATLIN 4 string  -  -

tpacladd(1)

名前

tpacladd - 新しいアクセス制御リストをシステムに追加します。

形式

tpacladd [-g GID[,GID. . . ]][-t type]name

説明

tpacladdを実行すると、Oracle Tuxedo ATMIのセキュリティ・データ・ファイルにアクセス制御リスト(ACL)の新しいエントリが追加されます。この情報は、サービス、イベント、アプリケーションの各キューに対するOracle Tuxedo ATMIのアクセス制御に使用されます。このコマンドを実行する前に、SECURITYUSER_AUTHACLまたはMANDATORY_ACLに設定したOracle Tuxedoの構成を作成する必要があります。

次のオプションを使用できます。

-g GID, . . .
1つまたは複数の既存のグループの整数識別子またはグループ名の文字列のリストを指定します。このオプションは、指定したオブジェクトにどのグループがアクセスできるかを示します。このオプションを指定しないと、グループなしでエントリが追加されます。
-t type
オブジェクトのタイプ。指定できるタイプは、ENQDEQSERVICEまたはPOSTEVENTのいずれかです。デフォルトはSERVICEです。
name
アクセス権を与えるサービス、イベントまたはアプリケーション・キューの名前を、表示可能な文字の固有の文字列で指定します。コロン(:)、シャープ(#)または改行文字(¥n)を使うことはできません。
このコマンドを実行する前に、次のことを実行する必要があります:
  1. グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)のいずれかを使用して、アプリケーションを構成します
  2. TUXCONFIGファイルを指すようにTUXCONFIG環境変数を設定します。
アプリケーションがアクティブでない場合、tpacladdは構成のMASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。

移植性

このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。

診断

tpacladdコマンドは正しく完了すると、終了コード0で終了します。

関連項目:

tpaclcvt(1)

名前

tpaclcvt - Oracle Tuxedo ATMIのセキュリティ・データ・ファイルを変換します。

形式

tpaclcvt [-u userfile] [-g groupfile]

説明

tpaclcvtは、任意のバージョンのAUTHSVR (Oracle Tuxedoリリース5.0で利用できるバージョン)で使用される既存のユーザー・ファイルを調べ、これをOracle Tuxedoリリース6.0で使用する形式に変換します。また、/etc/groupまたは類似のファイルに基づいてグループ・ファイルを生成し、/etc/passwdファイルを変換します。

次のオプションを使用できます。

-u userfile
Oracle Tuxedoのユーザー・ファイルの名前。指定しない場合、ユーザー・ファイルは変換されません。
-g groupfile
グループ・ファイルの名前(通常は/etc/group)。指定しない場合、グループ・ファイルは変換されません。
このコマンドを実行する前に、次のことを実行する必要があります:
  1. グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)のいずれかを使用して、アプリケーションを構成します
  2. TUXCONFIGファイルを指すようにTUXCONFIG環境変数を設定します。
アプリケーションがアクティブでない場合、tpaclcvtは構成のMASTER上で実行する必要があります。

移植性

このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。

関連項目:

tpacldel(1)

名前

tpacldel - アクセス制御リストを削除します。

形式

tpacldel [-t type]name

説明

tpacldelを実行すると、Oracle Tuxedo ATMIのセキュリティ・データ・ファイルから既存のアクセス制御リスト(ACL)のエントリが削除されます。このコマンドを実行する前に、SECURITYUSER_AUTHACLまたはMANDATORY_ACLに設定したOracle Tuxedoの構成を作成する必要があります。

次のオプションを使用できます。

-t type
オブジェクトのタイプ。指定できるタイプは、ENQDEQSERVICEまたはPOSTEVENTのいずれかです。デフォルトのタイプは"SERVICE"です。
name
削除する既存のACLのエントリを指定します。
このコマンドを実行する前に、次のことを実行する必要があります:
  1. グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)のいずれかを使用して、アプリケーションを構成します
  2. TUXCONFIGファイルを指すようにTUXCONFIG環境変数を設定します。
アプリケーションがアクティブでない場合、tpacldelは構成のMASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。

移植性

このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。

診断

tpacldelコマンドは正しく完了すると、終了コード0で終了します。

関連項目:

tpaclmod(1)

名前

tpaclmod - システム上のアクセス制御リストを変更します。

形式

tpaclmod [-g GID[,GID...]][-t type]name

説明

tpaclmodを実行すると、Oracle Tuxedoのセキュリティ・データ・ファイル内のアクセス制御リスト(ACL)のエントリが変更されて、グループ識別子リストが置き換えられます。この情報は、サービス、イベント、アプリケーションの各キューに対するOracle Tuxedo ATMIのアクセス制御に使用されます。このコマンドを実行する前に、SECURITYUSER_AUTHACLまたはMANDATORY_ACLに設定したOracle Tuxedoの構成を作成する必要があります。

次のオプションを使用できます。

-g GID, . . .
1つまたは複数の既存のグループの整数識別子またはグループ名の文字列のリストを指定します。このオプションは、指定したオブジェクトにどのグループがアクセスできるかを示します。このオプションを指定しないと、エントリがグループなしに変更されます。
-t type
オブジェクトのタイプ。指定できるタイプは、ENQDEQSERVICEまたはPOSTEVENTのいずれかです。デフォルトはSERVICEです。
name
既存のACLの名前を指定します。
このコマンドを実行する前に、次のことを実行する必要があります:
  1. グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)のいずれかを使用して、アプリケーションを構成します
  2. TUXCONFIGファイルを指すようにTUXCONFIG環境変数を設定します。
アプリケーションがアクティブでない場合、tpaclmodは構成のMASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。

移植性

このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。

診断

tpaclmodコマンドは正しく完了すると、終了コード0で終了します。

関連項目:

tpaddusr(1)

名前

tpaddusr - Oracle Tuxedoのパスワード・ファイルを作成します。

形式

tpaddusrusrname file [cltname [UID]]

説明

このコマンドを使用すると、アプリケーション管理者は、Oracle TuxedoのAUTHSVR(5)サーバーでの使用に適したUNIXシステム形式のパスワード・ファイルを作成できます。tpaddusrは、ユーザーのusrnameをパスワード・ファイルfileに追加します(fileに/etc/passwdを指定することはできません)。管理者は、追加したユーザーに割り当てるパスワードを入力するように要求されます。必要に応じて、権限0600でfileが作成されます。cltname (指定された場合)は、パスワード・エントリの追加の修飾子を示します。usrnameまたはcltname (あるいはその両方)には、AUTHSVR(5)でワイルドカードとして使用できるアスタリスク(*)を指定できます。UID (指定される場合)は、ユーザーの認証が正常終了したときに返される数値のユーザー識別子を示します。cltnameUIDを指定しない場合、デフォルトはそれぞれ*-1になります。

注意事項

cltnameの値tpsysadmtpsysopは、認証リクエストを処理する際にAUTHSVR(5)により特別な処理が行われます。これらのcltname値は、パスワード・ファイル内のワイルドカードのcltname指定と照合されることはありません。

さらに、パスワード・ファイルへの追加順序に関係なく、ワイルドカードのエントリは、明示的に指定された値の後で処理されます。認証リクエストは、最初に一致するパスワード・ファイルのエントリに対してのみ認証されます。

移植性

このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。

互換性

このコマンドは、ユーザーをSECURITY USER_AUTHに構成するために使用します。SECURITY ACLまたはMANDATORY_ACLとの互換性を保つためには(これらのセキュリティ・レベルに移行できるようにするためにも)、次の制限に従う必要があります。

  • ユーザー名は一意である必要があり、ワイルドカード文字を含めることはできません。
  • ユーザー識別子は一意である必要があります。これらは、0より大きく128K未満である必要があります。
  • ファイル名は$APPDIR/tpusrである必要があります。

tpusradd(1)コマンドでは、これらの制限が自動的に適用されます。

以下の一連のコマンド入力は、簡単なパスワード・ファイルの構成方法を示しています。

$ # 1. Add usrname foo with wildcard cltname and no UID
$ tpaddusr foo /home/tuxapp/pwfile
$ # 2. Add usrname foo with cltname bar and UID 100
$ tpaddusr foo /home/tuxapp/pwfile bar 100
$ # 3. Add usrname foo with tpsysadm cltname and no UID
$ tpaddusr foo /home/tuxapp/pwfile tpsysadm
$ # 4. Add wildcard usrname with tpsysop cltname and no UID
$ tpaddusr '*' /home/tuxapp/pwfile tpsysop
$ # 5. Add wildcard usrname with wildcard cltname and no UID
$ tpaddusr '*' /home/tuxapp/pwfile '*'

次の表は、アプリケーションに対する様々なアクセス・リクエストを認証するのに使用するパスワード・ファイル・エントリ(上記の番号で示されます)を示します。N/Aは、パスワード・ファイルに一致するエントリが存在しないため、リクエストが許可されないことを示します。

Usrname   Cltname   Password Entry
------   -------    -------------
“foo”     "bar"            2
"foo"     ""              1
"foo"    "tpsysadm"       3
"foo"    "tpsysop"        4
"guest"  "tpsysop"        4
"guest"  "bar"            5
"guest"  "tpsysadm"       N/A

次に、上記で作成されたパスワード・ファイル用のAUTHSVRインスタンスのためのSERVERSセクション例を示します。

AUTHSVR SRVGRP=G SRVID=1 RESTART=Y GRACE=0 MAXGEN=2 CLOPT=”-A -- -f /home/tuxapp/pwfile”

tmchgpwd(1)

名前

tmchgpwd - 指定されたパスワード識別子のパスワードを変更します。

形式

tmchgpwd key1[ key2 key3...]

説明

tmchgpwdは、実行時にTuxedoで指定されたパスワード識別子のパスワードを変更します。次のように、指定のパスワード識別子に対して新しいパスワードをコンソールから入力するように要求されます:

Password for IDENTIFIER (KEY=key1):

注意事項

このツールでは、Oracle Tuxedo 12cリリース2 (12.1.3) RP003以上が必要です。

コンソールからの入力が次のとおりであるとします。

リスト: 入力例

OPENINFO="Oracle_XA:Oracle_XA+SqlNet=ORCLSLCE04CN04+Acc=P/scott/${tuxconfig.abc}+SesTM=100+LogDir=.+MaxCur=5" 

tmchgpwd tuxconfig.abc 

Password for IDENTIFIER (KEY= tuxconfig.abc): 

成功すると、次のように出力されます:

リスト: 出力例

Password for tuxconfig.abc has been changed successfully.

tpdelusr(1)

名前

tpdelusr - Oracle Tuxedoのパスワード・ファイルからユーザーを削除します。

形式

tpdelusr usrname file [cltname]

説明

このコマンドを使用すると、アプリケーション管理者は、Oracle Tuxedo AUTHSVR(5)サーバーでの使用に適したUNIXシステム形式のパスワード・ファイルを管理できます。tpdelusrは、指定されたusrnamecltnameの組合せのパスワード・ファイル・エントリを削除するために使用します(file/etc/passwdを指定することはできません)。cltnameは指定しなければ、デフォルトで「*」に設定されます。usrnameまたはcltname、もしくはこれらの両方に指定されたワイルドカードは、パスワード・ファイル内の対応するワイルドカード・エントリに対してのみ一致します。これらはすべての一致するエントリに対して拡張されるものではありません。

注意事項

cltnameの値tpsysadmtpsysopは、認証リクエストを処理する際にAUTHSVR(5)により特別な処理が行われます。これらのcltname値は、パスワード・ファイル内のワイルドカードのcltname指定と照合されることはありません。

さらに、パスワード・ファイルへの追加順序に関係なく、ワイルドカードのエントリは、明示的に指定された値の後で処理されます。認証リクエストは、最初に一致するパスワード・ファイルのエントリに対してのみ認証されます。

移植性

このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。

互換性

このコマンドは、ユーザーをSECURITY USER_AUTHに構成するために使用します。SECURITY ACLまたはMANDATORY_ACLとの互換性を保つためには(これらのセキュリティ・レベルに移行できるようにするためにも)、次の制限に従う必要があります。

  • ユーザー名は一意である必要があり、ワイルドカード文字を含めることはできません。
  • ユーザー識別子は一意である必要があり、0より大きく128K未満である必要があります。
  • ファイル名は$APPDIR/tpusrである必要があります。

tpusrdel(1)コマンドでは、これらの制限が自動的に適用されます。

関連項目:

tpgrpadd(1)

名前

tpgrpadd - システムに新しいグループを追加

形式

tpgrpadd [-g GID]grpname

説明

tpgrpaddは、Oracle Tuxedoセキュリティ・データ・ファイルに適切なエントリを追加することにより、システム上で新しいグループ定義を作成します。この情報は、AUTHSVR(5)サーバーによるOracle Tuxedoシステムの認証や、アクセス制御に使用されます。このコマンドを実行する前に、SECURITYUSER_AUTHACLまたはMANDATORY_ACLに設定したOracle Tuxedoの構成を作成する必要があります。

次のオプションを使用できます。

-g GID
新しいグループのグループ識別子を指定します。このグループ識別子は、16Kより小さい10進数の負でない整数でなければなりません。GIDのデフォルトは、0より大きい次の使用可能な(一意の)識別子です。グループ識別子0は、「other」グループ用に予約されています。
grpname
新しいグループの名前を指定する出力可能な文字列。値の中にシャープ(#)、カンマ(,)、コロン(:)または改行文字(\n)を含めることはできません。
このコマンドを実行する前に、次のことを実行する必要があります:
  1. グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)のいずれかを使用して、アプリケーションを構成します
  2. TUXCONFIGファイルを指すようにTUXCONFIG環境変数を設定します。
アプリケーションがアクティブでない場合、tpgrpaddは構成のMASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。

移植性

このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。

診断

tpgrpaddコマンドは正しく完了すると、終了コード0で終了します。

関連項目:

tpgrpdel(1)

名前

tpgrpdel - システムからグループを削除します。

形式

tpgrpdel grpname

説明

tpgrpdelは、Oracle Tuxedoセキュリティ・データ・ファイルから対応するグループのエントリを削除することによって、システムからグループの定義を削除します。ただし、ユーザー・ファイルからグループIDは削除されません。このコマンドを実行する前に、SECURITYUSER_AUTHACLまたはMANDATORY_ACLに設定したOracle Tuxedoの構成を作成する必要があります。

以下のオプションが使用できます。

grpname
削除する既存のグループの名前を指定します。

このコマンドを実行する前に、グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)のいずれかを使用してアプリケーションを構成し、TUXCONFIGファイルを指すようにTUXCONFIG環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、tpgrpdelを構成のMASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。

移植性

このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。

診断

tpgrpdelコマンドは正しく完了すると、終了コード0で終了します。

関連項目:

tpgrpmod(1)

名前

tpgrpmod - システム上のグループを変更します。

形式

tpgrpmod [-g GID] [-n name]grpname

説明

tpgrpmodは、Oracle Tuxedoセキュリティ・データ・ファイルの適切なエントリを変更することによって、指定したグループの定義を変更します。このコマンドを実行する前に、SECURITYUSER_AUTHACLまたはMANDATORY_ACLに設定したOracle Tuxedoの構成を作成する必要があります。

次のオプションを使用できます。

-g GID
新しいグループのグループ識別子を指定します。このグループ識別子は、16Kより小さい10進数の負でない整数でなければなりません。グループ識別子0は、「other」グループ用に予約されています。
-n name
新しいグループの名前を、表示可能な文字の重複しない文字列で指定します。カンマ(,)、コロン(:)または改行文字(¥n)を使うことはできません。
grpname
変更するグループの現在の名前を指定します。
このコマンドを実行する前に、次のことを実行する必要があります:
  1. グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)のいずれかを使用して、アプリケーションを構成します
  2. TUXCONFIGファイルを指すようにTUXCONFIG環境変数を設定します。
アプリケーションがアクティブでない場合、tpgrpmodは構成のMASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。

移植性

このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。

診断

tpgrpmodコマンドは正しく完了すると、終了コード0で終了します。

関連項目:

tpkill(1)

名前

tpkill - 掲示板をロックし、Tuxedoサーバーを強制終了します。

形式

tpkill pid [pid . . .]

説明

tpkillは、掲示板をロックし、SIGKILLシグナルを指定のTuxedoサーバーに送信します。このコマンドによって、Tuxedoサーバーの終了時に掲示板の整合性を保証できます。tpkillは、アクティブなTuxedoドメインで実行する必要があります。このコマンドでは、1つまたは複数のTuxedoサーバー・プロセスID値を指定できます。

tpkillはTuxedoネイティブ・クライアント・アプリケーションとして機能し、環境変数TUXDIRTUXCONFIGAPPDIRを必要とします。

関連項目:

tpldapconf(1)

名前

tpldapconf - 暗号化されたldapバインド・パスワードを生成してXAUTHSVR/LAUTHSVR構成ファイルに書き込むコマンド・ユーティリティ。

形式

tpldapconf [-x | -l][-f ldap_conf_file]

説明

tpldapconfは、XAUTHSVR/LAUTHSVR構成ファイルに暗号化されたバインド・パスワードを生成します。ユーザーは、このツールを使用してLDAPバインド・パスワードを設定する必要があります。

tpldapconfには次の制限事項があります:

  • ユーザー・パスワードは31文字以内にする必要があります。
  • $TUXDIR環境変数は、このコマンドを呼び出す前に定義する必要があります。

指定された構成ファイルがない場合、XAUTHSVRではファイル$TUXDIR/udataobj/tpldap.xauthがデフォルトの構成ファイルとみなされ、LAUTHSVRではファイル$TUXDIR/udataobj/tpldapがデフォルトの構成ファイルとみなされます。

構成ファイルにクリア・テキスト・パスワードがすでに存在する場合は、ユーザー入力なしに、暗号化されたパスワードで置き換えられます。それ以外の場合、ユーザーはクリア・テキスト・パスワードの入力を求められ、暗号化されたパスワードが構成ファイルに追加されます。

オプション

次のオプションを使用できます。

-x
XAUTHSVR configuration file is used. This is the default option.
-l
LAUTHSVR configuration file is used.
-f ldap_conf_file
-f ldap_conf_fileは、暗号化されたPASSWORDを生成するために使用されるXAUTHSVR/LGAUTHSVR構成ファイルです。
ファイルが存在しない場合は、構成ファイルが作成されます。

移植性

tpldapconfコマンドは、Tuxedo System/Tリリース12.1.1以上が動作している非/WSサイトでのみ使用できます。[-x | -l]オプションは、リリース12.2.2以上でのみ使用できます。

診断

tpldapconfコマンドは、正常に完了すると、終了コード0で終了します。

$tpldapconf –f tpldap.xauth

関連項目:

  • 拡張セキュリティを有効にする方法:
  • XAUTHSVR (5)
  • LAUTHSVR (5)
「セクション5 - ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス」

tpmigldap(1)

名前

tpmigldap - TuxedoユーザーおよびグループをWebLogic Serverに移行します。

形式

tpmigldap [-h hostname] [-p port] [-d wls_domain] [-r wls_realm]
[-f user_password] [-b bind_DN] [[-w ldap_adm_password]|
[-c]] [-u tpusr] [-g tpgrp] [-i UID-kw] [-e GID-kw]

説明

tpmigldapを実行すると、WebLogic Serverのデフォルトのセキュリティ・データベースにTuxedoのユーザーおよびグループを追加できます。このコマンドを実行する前に、SECURITYをUSER_AUTH、ACLまたはMANDATORY_ACLに設定したTuxedoの構成を作成する必要はありません。

次のオプションを使用できます。

-h hostname
WebLogic Serverが存在するhostname
-p port
WebLogic管理コンソールのポート番号を指定します。
-d wls_domain
WebLogic Serverドメイン名を指定します。
-r wls_realm
WebLogic Serverセキュリティ・レルム名を指定します。
-f user_password
WebLogic Serverに移行する全ユーザーのデフォルトのパスワード設定。
-b bind_DN
バインドDN (通常、WebLogic Server組込みLDAPサーバーの管理者のDN)を指定します。
-w ldap_adm_password
WebLogic Server組込みLDAPサーバーの管理者のパスワードを指定します。
-c
LDAP管理者のパスワードの入力を求めるようにします。
-u tpusr
tpusrファイルのパス名を指定します。
-g tpgrp
tpgrpファイルのパス名を指定します。
-i UID-kw
WebLogic Serverユーザー情報でTuxedo UIDを識別するためのキーワードを指定します。
-e GID-kw
WebLogic Serverユーザー情報でTuxedo GIDを識別するためのキーワードを指定します。

移植性

tpmigldapコマンドは、Tuxedo System/Tリリース8.1以降が動作している非/WSサイト上でのみ使用できます。

診断

tpmigldapコマンドは正しく完了すると、終了コード0で終了します。

$tpmigldap -h proton -c -d wlsdomain -r wlsrealm -b cn=Admin

関連項目:

tpmodusr(1)

名前

tpmodusr - Oracle Tuxedoのシステム・パスワード・ファイルを保守します。

形式

tpmodusr usrname file [cltname]

説明

このコマンドを使用すると、アプリケーション管理者は、Oracle TuxedoシステムのAUTHSVR(5)サーバーでの使用に適したUNIXシステム形式のパスワード・ファイルを保持できます。このコマンドを実行する前に、SECURITYUSER_AUTHACLまたはMANDATORY_ACLに設定したOracle Tuxedoの構成を作成する必要があります。

tpmodusrを使用して、パスワード・ファイルfileに指定されたユーザーのパスワードを変更します(fileに/etc/passwdを指定することはできません)。管理者は、ユーザーに関連付ける新しいパスワードを入力するように求められます。cltnameを指定しない場合、デフォルトは「*」になります。usrnameまたはcltname、もしくはこれらの両方に指定されたワイルドカードは、パスワード・ファイル内の対応するワイルドカード・エントリに対してのみ一致します。これらはすべての一致するエントリに対して拡張されるものではありません。

注意事項

cltnameの値tpsysadmtpsysopは、認証リクエストを処理する際にAUTHSVR(5)により特別な処理が行われます。これらのcltname値は、パスワード・ファイル内のワイルドカードのcltname指定と照合されることはありません。

さらに、パスワード・ファイルへの追加順序に関係なく、ワイルドカードのエントリは、明示的に指定された値の後で処理されます。認証リクエストは、最初に一致するパスワード・ファイルのエントリに対してのみ認証されます。

移植性

このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。

互換性

このコマンドは、ユーザーをSECURITY USER_AUTHに構成するために使用します。SECURITY ACLまたはMANDATORY_ACLとの互換性を保つためには(これらのセキュリティ・レベルに移行できるようにするためにも)、次の制限に従う必要があります。

  • ユーザー名は一意である必要があり、ワイルドカードを含めることはできません。
  • ユーザー識別子は一意である必要があります。これらは、0より大きく128K未満である必要があります。
  • ファイル名は$APPDIR/tpusrである必要があります。

tpusrmod(1)コマンドでは、これらの制限が自動的に適用されます。

関連項目:

tpusradd(1)

名前

tpusradd - システムに新しいプリンシパルを追加します。

形式

tpusradd [-u UID] [-g GID][-c client_name] usrname

説明

tpusraddを実行すると、Oracle Tuxedoセキュリティ・データ・ファイルに新しいプリンシパル(ユーザーまたはドメイン)のエントリが追加されます。この情報は、AUTHSVR(5)サーバーでユーザー単位の認証に使用されます。

このコマンドを実行するには、以下の準備が必要です。

  • グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)のいずれかを使用して、アプリケーションを構成します。
  • TUXCONFIGファイルを指すようにTUXCONFIG環境変数を設定します。
  • SECURITYUSER_AUTHACL、またはMANDATORY_ACLに設定します。

アプリケーションがアクティブでない場合、tpusraddは構成のMASTER上で実行する必要があります。アクティブな場合は、このコマンドはどのアクティブなモードでも実行できます。

このコマンドで作成されたシステム・ファイル・エントリは1行の制限が512文字です。いくつもの(複数の)オプションに長い引数を指定するとこの制限を超えることがあります。

次のオプションを使用できます。

-u UID
ユーザー識別番号を指定します。UIDは、128Kより小さい10進数の正の整数である必要があります。UIDは、アプリケーションの既存の識別子のリスト内で一意である必要があります。UIDのデフォルトは、0より大きい次の使用可能な(一意の)識別子です。
-g GID
既存のグループの整数識別子またはグループ名の文字列を指定します。このオプションは、新しいユーザーのグループ・メンバーシップを定義します。デフォルトは「other」グループ(識別子0)です。
-c client_name
ユーザーに関連付けるクライアント名を、表示可能な文字列で指定します。このオプションを指定した場合、通常は、関連付けられたユーザーのロールを表し、ユーザー・エントリの付加的な修飾子となります。コロン(:)または改行文字(¥n)を使うことはできません。このオプションを指定しないと、デフォルトはワイルドカード「*」になり、どのようなクライアント名を指定しても認証が成功します。
usrname
ユーザーの新しいログイン名を、表示可能な文字列で指定します。コロン(:)、シャープ(#)または改行文字(¥n)を使うことはできません。ユーザー名は、アプリケーションの既存の識別子のリスト内で一意でなければなりません。

管理者は、追加したユーザーに割り当てるパスワードを入力するように要求されます。

ユーザー単位の認証や管理者のパーミッションの構成の詳細は、「AUTHSVR(5)」を参照してください。

移植性

このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。

診断

tpusraddコマンドは正しく完了すると、終了コード0で終了します。

以下の一連のコマンドは、簡単なユーザー・ファイルの作成例を示します。

$ # 1. Add usrname foo with cltname bar and UID 100
$ tpusradd -u 100 -c bar foo
$ # 2. Add usrname foo with tpsysadm cltname and no UID
$ tpusradd -c tpsysadm foo

次の表は、アプリケーションへの様々なアクセス・リクエストの認証に使用されるユーザー・エントリ(上に書かれている数字で示されます)と、関連付けられるUID/GIDを示します。N/Aは、ユーザー・ファイルに一致するエントリが存在しないため、リクエストが許可されないことを示します。

Usrname  Cltname  Password  Entry  Uid  Gid
-------  -------  --------------   ---  ---
"foo"     "bar"         2          100   0
"foo"      ""           1          1     0
"foo"   "tpsysadm"      3          0     8192
"guest" "tpsysadm"      N/A       N/A    N/A

次に示す例は、上で作成したユーザー・ファイルを処理するAUTHSVRのインスタンスの「SERVERS」セクション・エントリです。

AUTHSVR SRVGRP=G SRVID=1 RESTART=Y GRACE=0 MAXGEN=2 CLOPT=”-A”

関連項目:

tpusrdel(1)

名前

tpusrdel - システムからユーザーを削除します。

形式

tpusrdel usrname

説明

tpusrdelコマンドは、システムからプリンシパル(ユーザーまたはドメイン名)定義を削除します。指定したユーザーの定義を削除します。usrnameに、削除する既存のユーザー名を指定します。

このコマンドを実行するには、以下の準備が必要です。

  • グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)のいずれかを使用して、アプリケーションを構成します。
  • TUXCONFIGファイルを指すようにTUXCONFIG環境変数を設定します。
  • SECURITYUSER_AUTHACL、またはMANDATORY_ACLに設定します。

アプリケーションがアクティブでない場合、tpusraddは構成のMASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。

移植性

このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。

診断

tpusrdelコマンドは正しく完了すると、終了コード0で終了します。

tpusrmod(1)

名前

tpusrmod - システムのユーザー情報を変更します。

形式

tpusrmod [-u UID ] [-g GID] [-c client_name] [-l new_login] [-p] usrname

説明

tpusrmodを実行すると、Oracle Tuxedoセキュリティ・データ・ファイルのプリンシパル(ユーザーまたはドメイン)のエントリが変更されます。この情報は、AUTHSVR(5)サーバーによるOracle Tuxedoシステム認証に使用されます。

このコマンドを実行するには、以下の準備が必要です。

  • グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)のいずれかを使用して、アプリケーションを構成します。
  • TUXCONFIGファイルを指すようにTUXCONFIG環境変数を設定します。
  • SECURITYUSER_AUTHACL、またはMANDATORY_ACLに設定します。

アプリケーションがアクティブでない場合、tpusraddは構成のMASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。

このコマンドで作成されたシステム・ファイル・エントリは1行の制限が512文字です。いくつもの(複数の)オプションに長い引数を指定するとこの制限を超えることがあります。

次のオプションを使用できます。

-u UID
新しいユーザー識別番号を指定します。UIDは、128Kより小さい10進数の正の整数である必要があります。UIDは、アプリケーションの既存の識別子のリスト内で一意である必要があります。
-g GID
既存のグループの整数識別子またはグループ名の文字列を指定します。このオプションによって、ユーザーが属するグループを再定義します。
-c client_name
ユーザーに対するクライアント名を、表示可能な文字の重複しない文字列で指定します。コロン(:)または改行文字(¥n)を使うことはできません。
-l new_login
ユーザーの新しいログイン名を、表示可能な文字列で指定します。コロン(:)、シャープ(#)または改行文字(¥n)を使うことはできません。ユーザー名は、アプリケーションの既存の識別子のリスト内で一意でなければなりません。また、このオプションを指定すると、-pオプションによってパスワードを再設定することになります。
-p
tpusrmodは、指定されたユーザーのパスワードを変更します。管理者は、そのユーザーのための新しいパスワードを入力するように要求されます。
usrname
変更する既存のユーザーの名前を、表示可能な文字列で指定します。
ユーザー単位の認証や管理者のパーミッションの構成の詳細は、「AUTHSVR(5)」を参照してください。

移植性

このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。

診断

tpusrmodコマンドは、正常に完了すると、終了コード0で終了します。

関連項目:

txrpt(1)

名前

txrpt - Oracle Tuxedo ATMIシステム・サーバー/サービス・レポート・プログラム。

形式

txrpt [-t] [-n names] [-d mm/dd] [-s time] [-e time]

説明

txrptを指定すると、Oracle Tuxedo ATMIシステム・サーバーの標準エラー出力が分析され、そのサーバーでサービス処理にかかる時間のサマリーが生成されます。レポートには、期間内の各サービスのディスパッチ回数と平均処理時間(秒)が表示されます。txrptは、標準入力または入力用にリダイレクトされた標準エラー・ファイルからの入力を読み込みます。標準エラー・ファイルは、servopts(5)の選択肢から-rオプションを使用して起動されたサーバーによって作成されます。-e servoptsオプションを使用すると、ファイル名を指定できます。複数のファイルを、txrpt用に1つの入力ストリームに連結することができます。txrptコマンドには、以下のオプションがあります。

-t
サービスの合計使用時間の最も長いものから順に出力レポートを生成します。指定がなければ、このレポートはサービスの合計呼出し回数によって配列されます。
-n names
レポートを、namesで指定されたサービスに制限します。namesは、複数のサービス名をカンマで区切ったリストです。
-d mm/dd
レポートを、指定された月(mm)と日(dd)のサービス・リクエストに制限します。デフォルト設定は、現在の日付です。
-s time
指定時刻(time引数)以降に行われた呼出しのレポートを生成します。timeの形式は、 hr [: min [: sec ]]です。
-e time
レポートを、指定されたtimeより前に終了した呼出しに制限します。timeの形式は、-sフラグと同じです。

txrptによって生成されるレポートは、1日のみを対象とします。入力ファイルに複数の日からのレコードが含まれている場合、-dオプションがレポート対象の日付を制御します。

注意事項

サーバーがtxrptを介して分析の統計情報を収集する場合、ULOGDEBUG変数をyに設定しないでください。ファイル内のデバッグ・メッセージをtxrptが間違って解釈してしまいます。

次に示すコマンド行を実行します。

txrpt -nSVC1 -d10/15 -s11:01 -e14:18 < stderr

作成されるレポートは次のようになります:

START AFTER:         Thu Oct 15 11:01:00 1992
END BEFORE:          Thu Oct 15 14:18:00 1992
                   SERVICE SUMMARY REPORT

SVCNAME         11a-12n         13p-14p         14p-15p        TOTALS
                Num/Avg         Num/Avg         Num/Avg        Num/Avg
------         --------         --------        --------       -------
SVC1           2/0.25           3/0.25           1/0.96        6/0.37
-------        -------          -------         -------       -------
TOTALS         2/0.25           3/0.25           1/0.96        6/0.37

上記の例は、SVC1が指定された時間内に全部で6回リクエストされたことを示しています。リクエストを処理する時間は、平均0.37秒でした。

関連項目:

ud、ud32、wud、wud32(1)

名前

udwud - Oracle Tuxedo ATMIドライバ・プログラム。

形式

ud [-p] [-d delay] [-e error_limit] [-r] [-s  sleeptime] [-b timeout] [-t 
timeout] [-n] [-u {n | u | j}] [-U  usrname] [-C  cltname][-S  buffersize]
ud32 [options]
wud [options]
wud32 [options]

説明

udは、Fextread()を使用して標準入力から入力パケットを読み取ります(詳細は、「Fextread」、「Fextread32(3fml)」を参照してください)。パケットは、サービス名として識別されるフィールドを含む必要があります。入力パケットはFMLフィールド化バッファ(FBFR)に転送され、サービスに送信されます。FBFRを受信するサービスが、レコードをデータベースに追加するサービスの場合、udにより、Oracle Tuxedo ATMIシステムが認識しているデータベースにバルク・フィールド化データを入力する方法が提供されます。

入力パケットの行の先頭を示すフラグ(「入力形式」を参照)を使用することにより、udをOracle Tuxedo ATMIサービスのテストに利用できます。

デフォルトでは、FBFRをサービスに送信した後、udFBFRが戻されることを想定します。送信および応答されたFBFRudの標準出力に出力されます。エラー・メッセージは標準エラーに出力されます。

ud32は、FBFR32タイプのFML32バッファを使用します。

wudおよびwud32は、ワークステーション・ライブラリを使用して構築されたバージョンのudud32です。ワークステーションだけをサポートしているサイトでは、wudおよびwud32コマンドだけが提供されています。

オプション

udでは、次のオプションがサポートされます。

-p
送信されたまたは返されたフィールド化バッファの表示を行いません。
-d
すべてのリクエストの応答が遅くなります。delayには最大遅延時間(秒)を指定します(これを超えるとタイムアウトします)。タイムアウトが発生した場合は、エラー・メッセージがstderrに出力されます。udが前のリクエストの応答メッセージを遅延時間内に受け取ると、それらのメッセージは遅延RTNパケットと示されます。つまり、遅延時間内に複数の応答パケットを受信できます。-dオプションは、DOSオペレーティング・システムのwudでは使用できません。
ノート: このオプションは、wudコマンドおよびwud32コマンドでは使用できません。
-e error_limit
エラーがerror_limitで指定された制限を超えると、udはリクエストの処理を停止します。制限が指定されない場合のデフォルト設定は25です。
-r
udは、サーバーからの応答メッセージを期待しません。
-s sleeptime
入力バッファの送信と送信の間、スリープ状態になります。sleeptimeはスリープ時間(秒)です。
-b timeout
udは、非トランザクション・モードでブロッキング・リクエストを送信する必要があります。timeoutは、ブロッキング・リクエストがタイムアウトするまでの時間(秒)です。-bオプションは、-tオプションや-dオプションと組み合せて使用することはできません。
-t timeout
udは、トランザクション・モードでリクエストを送信する必要があります。timeoutは、トランザクションがタイムアウトするまでの時間(秒)です。-d delayおよび-r (応答なし)オプションは、-tオプションと組み合せて使用できません。
-u {n | u | j}
新しいパケットを読み取る前にリクエスト・バッファの内容を修正する方法を指定します。nオプションは、バッファを初期化しなおす(新しいバッファとして扱う)ことを指定します。uオプションは、Fupdate()を使用してバッファを応答バッファで更新することを指定します。jオプションは、Fojoin()を使用して応答バッファをリクエスト・バッファと結合することを指定します。(詳細は、「セクション3fml - FML関数リファレンス」FupdateFupdate32(3fml)FojoinFojoin32(3fml)に関する項を参照してください。)
-n
バッファを再初期化してから、各パケットを読み取ります(つまり、各バッファを新しいバッファとして扱います)。このオプションは-unと同じです。互換性を維持するために存在しています。
-U usrname
usrnameを、アプリケーションに参加するときのユーザー名として使用します。
-C cltname
cltnameは、アプリケーションに参加するときのクライアント名として使用します。
-S buffersize
デフォルトのバッファ・サイズが十分な大きさでない場合、-Sオプションを使用して上限を引き上げることができます。buffersizeの値には、MAXLONGまでの任意の数字を指定できます。

-d delay-rオプションは、相互に排他的です。

入力形式

入力パケットは、次のようにフォーマットされた行で構成されます。

[ flag ] fldname fldval

flagはオプションです。flagが指定されていない場合、値fldvalを持つfldnameで指定されているフィールドの新しいオカレンスがフィールド化バッファに追加されます。flagを指定する場合は、次のいずれかにする必要があります:

+
FBFR内のfldnameのオカレンス0をfldvalに変更する必要があります。
-
fldnameのオカレンス0をFBFRから削除する必要があります。タブ文字は必須で、fldvalは無視されます。
=
fldnameの値は変更する必要があります。この場合、fldvalはフィールド名を指定し、fldnameで指定されているフィールドにその値が割り当てられます。
#
この行はコメントとして扱われ、無視されます。

fldnameがリテラル値SRVCNMであると、fldvalFBFRが渡されるサービスの名前です。

長いフィールド値は、継続行の先頭にタブを挿入することにより、次の行にまたがって入力できます。

改行文字だけで構成される行は入力の終わりを示し、そのパケットをudに送ります。

入力パケットが文字nと改行文字で構成される行で始まる場合、FBFRは初期化しなおされます。FBFRの再初期化は、コマンド行に-unオプションを使用することですべてのパケットに指定することができます。

表示できない文字を入力パケットに入力するには、エスケープ規則を使用して、その後に必要な文字を2文字の16進表現で入力します。(詳細は、UNIXリファレンス・マニュアルのascii(5)の項を参照してください。)シェルからエスケープを保護するためにもう1つバックスラッシュが必要です。たとえば、空白は\20として入力データに入力できます。udでは、このフォーマットのすべての入力が認識されますが、最も役立つのは表示できない文字の場合です。

処理モデル

最初は、udがフィールド化バッファを標準入力から読み取って、fldnameSRVCNMである行のfldvalで名前が指定されているサービスにそれを送信します。-rオプションが選択されないかぎり、udは応答フィールド化バッファを待機します。応答を取得した後で、udは標準入力からもう1つのフィールド化バッファを読み取ります。そのとき、udは戻されたバッファを現在のバッファとして保持します。これは、2つ目のフィールド化バッファを構成する標準入力の行が、戻されたバッファに追加されるということです。つまり、デフォルトの処理では、udが現在のバッファ(一連の入力行によって追加された内容)を維持します。セットは空白行で区切られます。現在のバッファを破棄(つまり、FBFR構造体の再初期化)するように、udに指定することができます。これには、-unオプションをコマンド行に指定するか、文字nだけを含む行を入力セットの最初の行に含めます。応答バッファの内容をリクエスト・バッファにマージするように、udに指定することもできます。これには、-uuオプション(Fupdateが使用される)または-ujオプション(Fojoinが使用される)を指定します。

セキュリティ

udをセキュリティ付きアプリケーションで実行する場合は、アプリケーション・パスワードを指定しないとアプリケーションにアクセスできません。標準入力が端末である場合、udは、応答のエコーをオフの状態でユーザーにパスワードの入力を求めます。ただし、udは標準入力のバルク入力を受け入れるため、通常、標準入力は端末ではなくファイルです。この場合、パスワードは環境変数APP_PWから取得されます。アプリケーション・パスワードが必要な場合に、この環境変数が指定されていないと、udは異常終了します。

移植性

これらのコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。

環境変数

FLDTBLDIRおよびFIELDTBLSを設定してエクスポートする必要があります。FLDTBLDIRのディレクトリのリストには、$TUXDIR/udataobjが含まれていなければなりません。FIELDTBLSには、フィールド表の1つとしてUsysfldsが含まれていなければなりません。

標準入力が端末でない場合、保護アプリケーションでAPP_PWをアプリケーション・パスワードに設定する必要があります。TPIDATAは、標準入力が端末でない場合、認証サーバーで保護アプリケーションにアプリケーションを結合するのに必要なそのアプリケーション特定のデータに設定しなければなりません。

ワークステーションからアクセスする場合には、WSNADDRWSDEVICEおよびWSTYPE (オプション)を設定する必要があります。クライアント・プロセス用に環境変数を設定する方法の詳細は、「compilation(5)」を参照してください。

診断

udは、クライアント・プロセスになれない場合、必要なFBFRを作成できない場合、あるいはUNIXシステムのエラーを検出した場合に失敗します。また、入力パケットのストリーム処理時に25個を超えるエラーを検出すると異常終了します。これらのエラーとしては、構文エラー、サービス名の欠落、トランザクションの開始またはコミットのエラー、入力FBFR送信時あるいは応答FBFR受信時のタイムアウトまたはエラーなどがあります。

注意事項

入力ストリームの最後のフィールド化バッファは空白行で終える必要があります。

$ud <EOF>
SRVCNM       BUY
CLIENT       J. Jones
ADDR         21 Valley Road
STOCK        AAA
SHARES       100 
<CR>
+SRVCNM      SELL
+STOCK       XXX
+SHARES      300
STOCK        YYY
SHARES       150
<CR>
n
SRVCNM       BUY
CLIENT       T. Smith
ADDR         1 Main Street
STOCK        BBB
SHARES       175
<CR>
+SRVCNM      SELL
+STOCK       ZZZ
+SHARES      100
<CR>
EOF
$

この例では、udはまず、フィールド化バッファをサービスBUYに送信します。このとき、CLIENTフィールドをJ.Jones、ADDRフィールドを21 Valley Road、STOCKフィールドをAAASHARESフィールドを100に設定します。

フィールド化バッファがBUYサービスから戻されると、udは、次の行セットを使用してSRVCNMSELLに、STOCKXXXに、SHARES300に変更します。また、STOCKフィールドの追加オカレンス値をYYYで、SHARESフィールドの追加オカレンス値を150で作成します。このフィールド化バッファはこの後、SELLサービス(SRVCNMフィールドの新しい値)に送られます。

SELLが応答フィールド化バッファを送信して戻すと、udは、文字n. udのみの行から始まる一連の行を廃棄します。次に、SRVCNMBUYCLIENTT. Smithのように設定して、まったく新しい入力パケットの作成を開始します。

関連項目:

viewc、viewc32(1)

名前

viewcviewc32 - Oracle Tuxedo ATMI VIEWを生成するVIEWコンパイラ。

形式

viewc [-n] [-d viewdir] [-C] viewfile [viewfile . . . ] [-l]
viewc32 [-n] [-d viewdir] [-C] viewfile [viewfile . . . ][-s][-S][-l]

説明

viewcはVIEWコンパイラ・プログラムです。ソースVIEWファイルを取り込み、以下のファイルを作成します。

  • 実行時に解釈されて、FMLバッファとC構造体との間で実際のマッピングを行うバイナリ・ファイル。
  • 1つまたは複数のヘッダー・ファイル。
  • COBOLコピー・ファイル(必要な場合)。(viewcの実行時には、Cコンパイラが使用可能でなければなりません。)

viewc32は、32ビットのFMLで使用します。環境変数FIELDTBLS32およびFLDTBLDIR32を使用します。

viewfileは、ソース・ビュー記述が格納されるファイルです。複数のviewfileで同じVIEW名が使用されていなければ、viewcコマンド行で複数のviewfileを指定できます。

デフォルトでは、viewfile内のすべてのビューがコンパイルされ、複数のファイルが作成されます。1つはビュー・オブジェクト・ファイル(接尾辞.V)で、1つはCヘッダー・ファイル(接尾辞.h)です。代替ディレクトリが-dオプションで指定されないかぎり、オブジェクト・ファイルの名前はカレント・ディレクトリのviewfile.Vです。Cヘッダー・ファイルは、カレント・ディレクトリ内に作成されます。

-Cオプションを指定すると、viewfileで定義されているVIEWごとに1つのCOBOLコピー・ファイルが作成されます。これらのコピー・ファイルはカレント・ディレクトリに作成されます。

viewcによるコンパイル時には、コンパイラによって、viewfileに指定されているfieldidとフィールド名が、フィールド表ファイルから得られる情報と照合され、後で使用するためにマッピング情報がオブジェクト・ファイルに格納されます。したがって、環境変数FIELDTBLSおよびFLDTBLDIRを設定およびエクスポートして、関連するフィールド表ファイルを指すようにすることが重要です。FIELDTBLSFLDTBLDIRの詳細は、『FMLを使用したOracle Tuxedo ATMIアプリケーションのプログラミング』と『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』を参照してください。

viewcコンパイラがフィールド名とそのフィールド識別子の対応をとれなかった場合(環境変数が正しく設定されていなかったり、フィールド表ファイルにフィールド名が含まれていなかった場合)、警告メッセージ「Field not found」が表示されます。

-nオプションを使用すれば、FMLバッファにマッピングされていないC構造体に対応するVIEW記述ファイルを作成することができます。『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』では、このような独立したVIEW記述ファイルを作成および使用する方法について説明しています。

viewcは、次のオプションを解釈します。

-n
FMLバッファにマッピングされていないC構造体に対応するVIEW記述ファイルをコンパイルするときに使用します。このオプションを使用すると、VIEWコンパイラはFML情報を検索しません。
-d viewdir
VIEWオブジェクト・ファイルをカレント・ディレクトリ以外で作成するために指定します。
-C
COBOLコピー・ファイルを作成するよう指定します。
-s
大文字/小文字が区別されるファイル名を使用して、viewc/viewc32にCOBOLコピー・ファイルを生成させます。常に-Cオプションとともに使用されます。

ノート:

Windowsプラットフォームでは大文字/小文字が区別されないため、このオプションはWindowsプラットフォームでは意味がありません。
-S
VIEWファイルの解釈時にフィールドのソートを禁止します。
-l
VIEWファイルのメモリー整列を行わないことを指定します。

環境変数

CC
viewcは通常、デフォルトのC言語コンパイル・コマンドを使用してクライアント実行可能コードを生成します。デフォルトのC言語コンパイル・コマンドは、サポートされているオペレーティング・システムごとに定義されており、UNIXシステムの場合はcc(1)です。代替コンパイラを指定できるようにするため、viewcは環境変数CCが存在するかどうかを調べます。CCviewcの環境に存在しない場合、またはこの環境変数が文字列""である場合、viewcはデフォルトのC言語コンパイラを使用します。環境内にCCが存在する場合、実行されるコンパイラの名前がCCの値となります。
CFLAGS
環境変数CFLAGSは、コンパイラ・コマンド行の一部として引き渡される引数のセットを指定するときに使用します。CFLAGSviewcの環境に存在しない場合、または文字列""である場合、buildclientはコンパイラ・コマンド行引数を追加しません。64ビット・プラットフォームで32ビットのメモリー・モードを使用する場合は、long型のサイズとして4を設定します。

移植性

出力VIEWファイルは、マシンおよびコンパイラに依存するバイナリ・ファイルです。あるマシン上で特定のコンパイラを使用してビューを生成した場合、そのVIEWファイルを別のタイプのマシン上で使用することはできません。また、パディングやパッキングなど、生成される構造体オフセットが異なるコンパイラで使用することもできません。

以下の追加オプションが認識されます。

-c { m| b }
使用するCコンパイレーション・システムを指定します。Microsoft Cコンパイラではmです。Microsoft Cコンパイラがこのオプションの省略値です。-cオプションはWindowsでのみサポートされます。
-1 filename
パス1を実行し、filename.batという名前のバッチ・ファイルを作成することを指定します。このファイルが作成された後、パス2の実行前にそれを実行する必要があります。パス1とパス2を使用すると、コンパイルできるVIEWのサイズを拡大できます。
-2 filename
処理を完了するためにパス1の出力を使用してパス2を実行することを指定します。

関連項目:

  • 『Oracle Tuxedo ATMI FML関数リファレンス』の「FML関数の概要」
  • 『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』

viewcs、viewcs32(1)

名前

viewcsviewcs32 - 顧客定義のVIEWファイルであるTuxedo .NETワークステーション・クライアント・アプリケーション用のC#ソース・ファイルと.dllライブラリ・ファイルを生成します。

形式

viewcs [binarydllfile] binaryviewfile [binaryviewfile...]
viewcs32 [binarydllfile] binaryviewfile [binaryviewfile...]

説明

viewcsは、顧客定義のVIEWファイル用のC#ソース・ファイルと.dllライブラリ・ファイルを生成するために使用されるユーティリティです。viewc出力ファイル(DOS/Windowsではファイル名の拡張子が.VV、それ以外のプラットフォームでは拡張子が.VのバイナリVIEWファイル)を入力として使用し、対応するC#ソース・ファイルと.dllライブラリ・ファイル(顧客定義のビュー構造を表すクラスが含まれる)を生成します。バイナリ.dllファイルが提供されない場合、dllライブラリ・ファイルは生成されません。

備考

viewcviewc32とは異なり、viewcsおよびviewcs32は環境変数に依存しません。必要とする唯一の入力は、コマンド行で指定するバイナリのVIEWファイルです。

関連項目:

viewdis、viewdis32(1)

名前

viewdisviewdis32 - バイナリVIEWファイル対応のVIEW逆アセンブラ。

形式

viewdis viewobjfile . . . viewdis32 viewobjfile . . .

説明

viewdisはVIEWコンパイラが生成したVIEWオブジェクト・ファイルを逆アセンブルし、VIEWファイル形式でVIEW情報を表示します。また、対応する構造体メンバーのオフセットも表示します。

1つ以上のviewobjfile (接尾辞は.V)をコマンド行で指定できます。デフォルトの設定では、カレント・ディレクトリのviewobjfileが逆アセンブルされます。これが見つからないと、エラー・メッセージが表示されます。

viewobjfileにある情報は、フィールド表ファイルの情報を使用してVIEWファイルにあるfieldidとフィールド名の整合により取得されたため、環境変数FIELDTBLSおよびFLDTBLDIRの設定およびエクスポートを行うことが重要になります。

viewdisの出力は元のVIEW記述と同じように見え、主にコンパイル後のオブジェクトVIEW記述が正しいかどうかを検証するときに使用します。

viewdis32は、32ビットのFMLで使用します。環境変数FIELDTBLS32およびFLDTBLDIR32を使用します。

関連項目:

  • viewc、viewc32(1)
  • 『FMLを使用したOracle Tuxedo ATMIアプリケーションのプログラミング』