![]() ![]() ![]() ![]() ![]() ![]() |
『Oracle Tuxedoコマンド・リファレンス』では、Oracle Tuxedoソフトウェアで提供されるシェル・レベルのコマンドについてアルファベット順に説明します。
特に指定がないかぎり、リファレンス・ページの形式で説明されているコマンドは、下記の構文に従ってオプションや引数を受け付け、次に説明するように解釈されます。
name
[ -option
.. . ] [cmdarg
. . . ]
noargletter
optarg
argletter
を満足させる文字列。argletter
の後に複数のoptargs
を指定するときには、それぞれをカンマあるいは空白で区切らなければなりません。ただし、空白で区切る場合には、全体を引用符で囲む必要があります。
cmdarg
-
--
[ ]
{ }
. . .
bldc_dce
- OSF/DCE
を介して呼び出すことができるOracle Tuxedo ATMIクライアントを作成
bldc_dce [-ooutput_file
] [-iidl_options
] [-ffirstfiles
]
[-llastfiles
] [idl_file
. . .]
bldc_dce
は、すべての入力IDLソース・ファイルおよび関連するACFソース・ファイルを解析し、それらをCのソース・ファイルとオブジェクト・ファイル、およびOSF/DCE
ライブラリと組み合せて、Oracle Tuxedo ATMIクライアントを生成します。この生成されたOracle Tuxedo ATMIクライアントは、DCE
RPC
(つまりDCE
RPC
クライアント)を介して呼び出すことができます。
コマンドライン引数には、入力IDLソース・ファイルと、IDLコンパイラの動作を制御するオプションを指定します。使用できるオプションは次のとおりです。
-o
output_file
-i
idl_options
-no_mepv
オプションを指定できます。
-f
firstfiles
OSF/DCE
ライブラリより前に取り込んでコンパイルする、コンパイラ・オプション、Cソース・ファイル、およびCオブジェクト・ファイルを指定します。
-l
lastfiles
blds_dce
- OSF/DCE
を呼び出すOracle Tuxedo ATMIサーバーを作成
blds_dce [-ooutput_file
] [-iidl_options
] [-ffirstfiles
]
[-llastfiles
] [-sservice
] [idl_file
. . .]
blds_dce
は、すべての入力IDLソース・ファイルおよび関連ACFソース・ファイルを解析し、それらをCソース・ファイルとCオブジェクト・ファイル、およびOSF/DCE
ライブラリと組み合せて、DCE
RPC
呼出しを作成できるOracle Tuxedo ATMIサーバーを生成します。このコマンドの主な使用目的は、Oracle TuxedoシステムからOSF/DCE
へのゲートウェイ・プロセスを作成することです。
コマンドライン引数には、入力IDLソース・ファイルと、IDLコンパイラの動作を制御するオプションを指定します。使用できるオプションは次のとおりです。
-o
output_file
-i
idl_options
-no_mepv
オプションを指定できます。
-f
firstfiles
OSF/DCE
ライブラリより前に取り込んでコンパイルする、コンパイラ・オプション、Cソース・ファイル、およびCオブジェクト・ファイルを指定します。
-l
lastfiles
-s
service
[,
service
. . .]
buildclient
- Oracle Tuxedo ATMIクライアント・モジュールを作成
buildclient [ -C ] [ -v ] [ {-rrmname
| -w } ] [ -oname
]
[ -ffirstfiles
] [ -llastfiles
] [ -k ]
buildclient
は、Oracle Tuxedo ATMIのクライアント・モジュールを構築するときに使用します。このコマンドは、-f
および-l
オプションで指定されるファイルと標準Oracle Tuxedo ATMIライブラリを組み合せて、ロード・モジュールを作成します。ロード・モジュールは、使用しているオペレーティング・システム用に定義されたデフォルトのC言語コンパイル・コマンドを使用し、buildclient
によって構築されます。UNIXシステム用のデフォルトのC言語コンパイル・コマンドは、UNIXシステムのリファレンス・マニュアルで説明されているcc
(1)コマンドです。
-v
-w
-r
オプションとともには使用できません。
-r
rmname
rmname
は、$TUXDIR/udataobj/RM
にあるリソース・マネージャの表にあるものでなければなりません。このファイルの各行は次のような形式になります。
rmname:rmstructure_name:library_names
(詳細は、「buildtms(1)」
を参照してください)。rmname
の値を使用することにより、$TUXDIR/udataobj/RM
にあるエントリは、リソース・マネージャに関連したライブラリを自動的に含み、トランザクション・マネージャとリソース・マネージャ間のインタフェースを正しく設定するのに使用されます。他の値は、リソース・マネージャの表に追加されているものを指定できます。-r
オプションが指定されない場合のデフォルト設定では、クライアントはリソース・マネージャに関連しません。UBBCONFIG(5)のリファレンス・ページを参照してください。
-o
-f
buildclient
のコンパイルおよびリンク・フェーズの最初に、Oracle Tuxedo ATMIライブラリより前に取り込む1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。コンパイラ・オプションおよび引数を含むように指定する場合は、以下に説明するCFLAGS
およびALTCFLAGS
環境変数を使用します。
-l
buildclient
のコンパイルおよびリンク・フェーズの最後で、Oracle Tuxedoライブラリの後に取り込む1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。
-C
注意: | このファイルの生成後の内容は、リリースによって異なる場合があります。このファイルに公開されているデータ構造やインタフェースに依存しないようにしてください。 これは、ビルド時の問題のデバッグを支援するためのオプションです。 |
TUXDIR
CC
buildclient
は通常、デフォルトのC言語コンパイル・コマンドを使用してクライアント実行可能コードを生成します。デフォルトのC言語コンパイル・コマンドは、サポートされているオペレーティング・システムごとに定義されており、UNIXシステムの場合はcc
(1)です。代替コンパイラを指定できるようにするため、buildclient
は環境変数CC
が存在するかどうかを調べます。CC
がbuildclient
の環境に存在しない場合、またはこの環境変数が文字列""
である場合、buildclient
はデフォルトのC言語コンパイラを使用します。環境内にCC
が存在する場合、実行されるコンパイラの名前がCCの値となります。
CFLAGS
CFLAGS
は、コンパイラ・コマンドラインの一部として引き渡される引数のセットを指定するときに使用します。この変数は、コマンドライン・オプション「-I${TUXDIR}/include」
とともにbuildclient
により自動的に引き渡されます。CFLAGS
がbuildclient
の環境に存在しない場合、またはこの環境変数が文字列""
である場合、buildclient
はコンパイラ・コマンドライン引数を追加しません。
ALTCC
-C
オプションを使ってCOBOLのコンパイルを指定すると、buildclient
は通常、Oracle Tuxedoのシェルcobcc
を使用します。cobccはcob
を呼び出し、クライアント実行可能コードを生成します。buildclient
は、別のコンパイラを指定するALTCC
という環境変数の有無をチェックします。ALTCC
がbuildclient
の環境に存在しない場合、または文字列""
である場合、buildclient
はcobcc
を使用します。環境にALTCC
が存在する場合は、その値をとって実行するコンパイラ・コマンドの名前とします。 注意: | Windowsシステムでは、ALTCC およびALTCFLAGS 環境変数は使用できません。これらの変数を設定すると、予想外の結果が生じます。 まずCOBOLコンパイラを使用してアプリケーションをコンパイルし、次に生成されたオブジェクト・ファイルをbuildclient(1) コマンドに渡す必要があります。 |
ALTCFLAGS
-I${TUXDIR}/include
” このオプションは、buildclient
によって自動的に渡されます。-C
オプションを使用する場合、コンパイラ・オプションやその引数をbuildclient -f
オプションで指定するとエラーが発生するため、ALTCFLAGS
を使用する必要があります。設定しなかった場合は、上記のCFLAGS
と同じ値に設定されます。 注意: | ALTCC 環境変数の説明の下の注意を参照してください。 |
COBOPT
COBCPY
buildclient
でリンクするかどうかを示します。環境変数の値には「Yes」または「No」を指定します。「Yes」に設定すると、静的バージョンのlibcobatmiライブラリが使用され、「No」に設定すると共有バージョンが使用されます。この環境変数を指定しないと、共有バージョンのlibcobatmiライブラリがデフォルトで使用されます。 注意: | 10.0より前のTuxedoリリースの場合、buildserver は、静的バージョンのlibcobatmiライブラリにリンクします。 |
IBMCobol
」が指定されると、IBMCOBOLコンパイラが使用されます。 パラメータが指定されないと、標準のCOBOLコンパイラが使用されます。
buildclient
のリンク・フェーズが存在する場合、これらのファイルは環境変数TM_COB_CC_FILESで指定する必要があります。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。この環境変数は、-Cオプションが指定され、環境変数COBが「AcuCobol」に設定されている場合にのみ有効です。 注意: | ACUCOBOL CVMで使用されるACUCOBOLのシステム・ライブラリおよびオブジェクト・ファイルは、ファイル・リストに含める必要があります。 |
注意: | ファイルdirect.cは、ACUCOBOLがC外部変数およびCOBOLプログラムの関数にアクセスするために使用されます。プログラマがdirect.cをサード・パーティのソフトウェアをサポートするように変更した場合、変更されたdirect.cは$ACUCOBOL/libディレクトリ下に配置する必要があります。 |
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
コンパイル・ツールは、以下のプラットフォームで使用できます。
buildclient
コマンドラインで指定するファイル名は、お使いのオペレーティング・システムの構文とセマンティクスに従ってください。
リスト1に、一般的な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に、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に、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
buildserver(1)
、buildtms(1)
、compilation(5)
UNIXシステムのリファレンス・マニュアルのcc
(1)、ld
(1)
buildmqadapter
- TM_MQI
、TM_MQO
、およびTMQUEUE_MQM
サーバーをリンク
buildmqadapter [-v] [-r rmname]
buildmqadapterはTM_MQI
、TM_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管理者は次を構成できます。
buildmqadapter
では、MQリソース・マネージャのTMSサーバーが作成されないため、Tuxedo管理者はある時点でbuildtmsを実行してWebSphere MQ TMSサーバーを作成する必要があります。
$TUXDIR/udataobj/RM
にあるリソース・マネージャ表に登録されていなければなりません。rm_name
の値に対応するエントリは、リソース・マネージャに対する正しいライブラリを自動的に組み込み、かつトランザクション・マネージャとリソース・マネージャとの間のインタフェースを正しく設定(xa_switch_t
構造体を使用して)するときに使用します。このパラメータのデフォルト値はMQSeries_XA_RMI
です。
buildmqadapter
はbuildserverコマンドを使用して出力ファイルを生成します。buildserverは、コンパイラおよびコンパイラ・フラグに関してそれぞれCCおよびCFLAGS環境変数を使用します(設定されている場合)。詳細は、「buildserver(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
-o outfile
Main
が含まれるクラスを持つC#のソース・ファイルの名前をとってアプリケーション・ファイルの名前が付けられます。ファイル名の拡張子は、そのアプリケーションが実行されるオペレーティング・システムによって異なります(Windowsシステムの場合は拡張子は.exe
になります)。
-csflag flagstring
.cs source files
.dll assembly files
.netmodule module files
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 - CORBAクライアント・アプリケーションを作成
buildobjclient [-v][-o name] [-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
-o
name
client<.type>
になります。typeは拡張子で、アプリケーションのオペレーティング・システムによって異なります。たとえば、UNIXシステムではtype
は付きませんが、Windowsシステムではtype
は.EXE
になります。
-f
firstfile-syntax
buildobjclient
のコンパイルとリンクの段階で、最初にインクルードすべきファイルを指定します。指定したファイルは、CORBAライブラリよりも前にインクルードされます。表2に、ファイルを指定する3つの方法を示します。
注意: | 名前に空白が含まれているファイルは指定できません。 |
注意: | -f オプションは何度でも指定できます。 |
-l
lastfile-syntax
buildobjclient
のコンパイルとリンクの段階で、最後にインクルードすべきファイルを指定します。指定したファイルは、CORBAライブラリよりも後にインクルードされます。表3に、ファイルを指定する3つの方法を示します。
注意: | -l オプションは何度でも指定できます。 |
-P
Callbacks
ラッパー・クラスを使用できます。ただし、生成された共同クライアント/サーバーでは、Oracle Tuxedo TPフレームワークの機能であるオブジェクトの状態管理およびトランザクション管理を使用することができません。クライアントの生成時には、-P
スイッチがIDLコンパイラに渡される必要があります。buildobjserver
を使用すると、TPフレームワークが提供するすべてのサポートに対応したサーバーを作成できます。デフォルトでは、サーバー・ライブラリへのリンクは行われません。つまり、デフォルトでは、クライアントのみが作成され、共同クライアント/サーバーは作成されません。
-hまたは -?
TUXDIR
CC
.c
または.cpp
のすべてのファイルに使用するコンパイラを指定します。定義しない場合は、すべての.c
および.cpp
ファイルのコンパイル時に、使用しているオペレーティング・システム用のデフォルトのC++言語コンパイル・コマンドが呼び出されます。
CFLAGS
.c
または.cpp
のファイルのコンパイラ・コマンドラインの一部として渡す引数を示します。buildobjclient
コマンド環境内にCFLAGS
が存在しない場合は、
CPPFLAGS
環境変数がチェックされます。
CPPFLAGS
注意: | CFLAGS 環境変数によって渡される引数は、CPPFLAGS 変数より優先されます。 |
buildobjclient
コマンドによって自動的に渡されるコマンドライン・オプション"-I$(TUXDIR)/include"
(UNIXシステムの場合)または
/I%TUXDIR%¥
(Windowsシステムの場合)に追加されます。CPPFLAGS
がbuildobjclient
コマンド環境に存在しない場合、コンパイラ・コマンドは追加されません。
LD_LIBRARY_PATH
(UNIXシステムの場合)
SHLIB_PATH
環境変数を、AIXではLIBPATH
環境変数を使用してください。
LIB
(Windowsシステムの場合)
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
- CORBAサーバー・アプリケーションを構築
buildobjserver [-v] [-o
name
] [-f
firstfile-syntax
]
[-llastfile-syntax
] [-r
rmname
][-t]
buildobjserver
コマンドを使用して、CORBAサーバー・アプリケーションを構築できます。このコマンドは、メイン・ルーチンで-f
および-l
オプションによって指定されるファイルと標準のCORBAライブラリを組み合せて、サーバー・アプリケーションを形成します。サーバー・アプリケーションは、プラットフォームのデフォルトのC++コンパイラによって作成されます。
指定したすべての.c
および.cpp
ファイルは、使用しているオペレーティング・システム用のコンパイル・システムを1回呼び出すことによってコンパイルされます。呼び出すコンパイラを指定するには、CC
環境変数にコンパイラの名前を指定します。CC
環境変数を定義していない状態でbuildobjserver
が呼び出された場合は、すべての.c
および.cpp
ファイルがコンパイル時に、使用しているオペレーティング・システム用のデフォルトのC++言語コンパイル・コマンドが呼び出されます。
ユーザーは、環境変数CFLAGS
またはCPPFLAGS
を設定することにより、コンパイラに渡すオプションを指定できます。buildobjserver
の呼出し時に、CFLAGS
は定義されていないが、CPPFLAGS
が定義されている場合、このコマンドはCPPFLAGS
の値を使用します。
-v
-o
name
server.
type
になります。type
は拡張子で、アプリケーションで使用中のオペレーティング・システムを示します。たとえば、アプリケーションがserverを呼び出す場合はUNIXシステム、アプリケーションがserver.EXE
を呼び出す場合はWindows NTシステムです。
-f
firstfile-syntax
buildobjserver
コマンドのコンパイルおよびリンク・フェーズで最初に(つまり、CORBAライブラリの前に)取り込むファイルを指定します。 ファイルを指定する2種類の方法については、「最初に取り込むファイルの指定方法」の表を参照してください。
-l
lastfile-syntax
buildobjserver
コマンドのコンパイルおよびリンク・フェーズで最後に(つまり、CORBAライブラリの後に)取り込むファイルを指定します。 ファイルを指定する2種類の方法については、「最後に取り込むファイルの指定方法」の表を参照してください。
-r
rmname
rmname
は、$TUXDIR/udataobj/RM
(UNIXシステムの場合)または%TUXDIR%\udataobj\RM
(Windows NTシステムの場合)にあるリソース・マネージャの表に存在するものでなければなりません。 このファイルの各エントリは、次のような形式になります。 rmname:rmstructure_name:library_names
rmname
の値を使用することにより、$TUXDIR/udataobj/RM
または%TUXDIR%\udataobj\RM
にあるエントリは、リソース・マネージャに関連したライブラリを自動的に取り込み、トランザクション・マネージャとリソース・マネージャとの間にインタフェースをセットアップします。値TUXEDO/SQL
は、Oracle Tuxedo System/SQLリソース・マネージャのライブラリを取り込みます。他の値は、リソース・マネージャの表に追加されているものを指定できます。-r
オプションが指定されていない場合、デフォルトでnullリソース・マネージャが使用されます。
-hまたは -?
-t
UBBCONFIG
ファイルのMAXDISPATCHTHREADS
パラメータで1を超える値を指定することもできます。指定しない場合、CORBAサーバーはシングル・スレッドのアプリケーションとして動作します。
TUXDIR
CC
CFLAGS
.c
または.cpp
ファイル拡張子を持つファイルのコンパイラ・コマンドラインの一部として渡される引数を指定します。CFLAGS
がbuildobjserver
コマンド環境で使用できない場合、buildobjserver
コマンドはCPPFLAGS
環境変数があるかどうかを調べます。
CPPFLAGS
注意: | CFLAGS 環境変数によって渡される引数は、CPPFLAGS 環境変数より優先されます。 |
.c
または.cpp
ファイル拡張子を持つファイルのコンパイラ・コマンドラインの一部として渡される引数を指定します。このオプションは、UNIXシステムのコマンドライン・オプション-I$TUXDIR/include
、またはWindows NTシステムのコマンドライン・オプション/I%TUXDIR%\include
への追加として、buildobjserver
コマンドによって自動的に渡されます。buildobjserver
コマンド環境内でCPPFLAGS
が利用できない場合、コンパイラ・コマンドは追加されません。
LD_LIBRARY_PATH
(UNIXシステムの場合)
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ファイルの例を示します。
Oracle_XA;xaosw;C:\Orant\rdbms73\xa\xa73.lib
C:\Orant\pro22\lib\msvc\sqllib18.lib
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
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
Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lxa -lsql -lsqlnet
-lncr -lclient -lcommon -lgeneric -lepc -lnlsrtl3 -lc3v6
-lcore3 -lm -lld
Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lclntsh
buildserver
- Oracle Tuxedo ATMIのサーバーのロード・モジュールを構築
buildserver [-C] [-M] [-s services[:func[()]]][-v] [-o outfile] [-f firstfiles] [-l lastfiles] [{-r|-g} rmname] [{-r|-g} rmid:rmname] [-E envlabel] [-t]
buildserver
は、Oracle Tuxedo ATMIのサーバーのロード・モジュールを構築するときに使用します。このコマンドは、-f
および-l
オプションで指定されるファイルと標準のサーバーのメイン・ルーチンおよび標準Oracle Tuxedo ATMIライブラリを組み合せて、ロード・モジュールを作成します。このロード・モジュールは、buildserver
が呼び出すcc
(1)コマンドによって作成されます(UNIXシステムのリファレンス・マニュアルのcc
(1)を参照してください)。buildserver
のオプションにはそれぞれ、次のような意味があります。
-v
-o
outfile
-f
firstfiles
buildserver
のコンパイルおよびリンク・フェーズの最初に、Oracle Tuxedo ATMIライブラリより前に取り込む1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。コンパイラ・オプションおよび引数を含むように指定する場合は、以下に説明するCFLAGS
およびALTCFLAGS
環境変数を使用します。
-l
lastfiles
buildserver
のコンパイルおよびリンク・フェーズの最後で、Oracle Tuxedoライブラリの後に取り込む1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。
M
-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
} ]
tmadmin(1)
またはTM_MIB(5)によりファイルを取得した場合は、名前の最初の15文字だけが表示されます(「servopts(5)」を参照してください)。サービスに関連付けることのできるすべての関数を、このオプションで指定する必要があります。ほとんどの場合、サービスは同じ名前を持つ関数によって実行されます。つまり、x
サービスは関数x
によって実行されます。たとえば、次のように指定すると、サービスx
、y
およびz
を提供するサーバーが構築されます。これらのサービスはそれぞれ同じ名前の関数によって処理されます。
-s x,y,z
その他のケースでは、異なる名前の関数でサービスが実行されることもあります。次のように指定すると、サービスx
、y
およびz
を提供するサーバーが構築されます。これらのサービスはそれぞれ関数abc
によって処理されます。-s x,y,z:abc
カンマとカンマの間に空白を入れてはいけません。関数名の前にはコロンを付けます。別のケースでは、実行時までサービス名がわからないことがあります。関連するサービスを持つ可能性のあるすべての関数を、buildserver
で指定しなければなりません。サービス名がマップされている可能性のある関数を指定するには、関数名の前にコロンを付けます。たとえば、次のように指定すると、サービスが関連付けられている可能性のある関数pqr
によってサーバーが構築されます。tpadvertise(3c)は、関数pqr
にサービス名をマップするために使用されます。-s :pqr
-s
オプションでファイル名を指定するには、ファイル名の前に「@」文字を付けます。このファイルの各行は、-s
オプションの引数とみなされます。このファイルには、コメントを入れることができます。コメント行の先頭には「#」文字を置きます。このファイルは、サービス名がマップされている可能性のある、サーバー中のすべての関数を指定するのに使用できます。-s
オプションは何回使用してもかまいません。「.」文字で始まるサービスはシステムで使用するように予約されているため、-s
オプションを指定してそのようなサービスをサーバーに組み込もうとすると、buildserver
は異常終了します。
-C
buildserver
は通常、cc
コマンドを使用してa.out
を生成します。代替コンパイラを指定できるようにするため、buildserver
はシェル変数CC
が存在するかどうかを調べます。CC
がbuildserver
の環境にない場合、または変数の値が文字列""
である場合は、buildserver
はコンパイラとしてcc
を使用します。環境内にCC
が存在する場合、実行されるコンパイラの名前がCCの値となります。同様に、シェル変数CFLAGS
も、コンパイラへ渡す一連のパラメータを取り込むためにチェックされます。
-k
buildserver
は、サービス表などのデータ構造とmain()
関数を持つmainスタブを生成します。通常これは、サーバーの構築時に、コンパイルの後で削除されます。このオプションは、ソース・ファイルを保持する必要があることを示します(ソース・ファイル名を表示するには、-v
オプションを使用します)。 注意: | このファイルの生成内容は、リリースによって変更される場合があります。このファイルで公開されているデータ構造およびインタフェースを重視しないでください。このオプションは、構築の問題のデバッグを支援するためのものです。 |
-t
MAXDISPATCHTRHREADS
に1より大きな値が設定されている場合に、このオプションを指定せずにサーバーを起動しようとすると、ユーザー・ログに警告メッセージが出力され、サーバーはシングル・スレッド操作に戻ります。
TUXDIR
CC
buildserver
は通常、デフォルトのC言語コンパイル・コマンドを使用してサーバー実行可能コードを生成します。デフォルトのC言語コンパイル・コマンドは、サポートされているオペレーティング・システムごとに定義されており、UNIXシステムの場合はcc
(1)です。代替コンパイラを指定できるようにするため、buildserver
は環境変数CC
が存在するかどうかを調べます。CC
がbuildserver
の環境に存在しない場合、またはこの環境変数が文字列""
である場合、buildserver
はデフォルトのC言語コンパイラを使用します。環境内にCC
が存在する場合、使用されるコンパイラの名前がCCの値となります。
CFLAGS
CFLAGS
は、コンパイラ・コマンドラインの一部として引き渡される引数のセットを指定するときに使用します。この変数は、コマンドライン・オプション「-I${TUXDIR}/include」
とともにbuildserver
により自動的に引き渡されます。CFLAGS
がbuildserver
の環境に存在しない場合、またはこの環境変数が文字列""
である場合、buildserver
はコンパイラ・コマンドライン引数を追加しません。
ALTCC
-C
オプションを使ってCOBOLのコンパイルを指定すると、buildserver
は通常、Oracle Tuxedoのシェルcobcc(1)
を使用します。cobccはcob
を呼び出し、サーバー実行可能コードを生成します。buildserver
は、別のコンパイラを指定するALTCC
という環境変数の有無をチェックします。ALTCC
がbuildserver
の環境に存在しない場合、または文字列""
である場合、buildserver
はcobcc
を使用します。環境にALTCC
が存在する場合は、その値をとって実行するコンパイラ・コマンドとします。 注意: | Windowsシステムでは、ALTCC およびALTCFLAGS 環境変数は使用できません。これらの変数を設定すると、予想外の結果が生じます。まずCOBOLコンパイラを使用してアプリケーションをコンパイルし、次に生成されたオブジェクト・ファイルをbuildserver(1) コマンドに渡す必要があります。 |
ALTCFLAGS
ALTCFLAGS
には、-C
オプションを指定した場合に、COBOLコンパイラ・コマンドラインの一部として渡す追加の引数を指定します。これは、buildserver
に自動的に渡されるコマンドライン・オプション「-I${TUXDIR}/include」
に追加されます。-C
オプションを使用する場合、コンパイラ・オプションやその引数をbuildserver -f
オプションで指定すると、エラーが発生しますので、ALTCFLAGS
を使用する必要があります。設定しなかった場合は、上記のCFLAGS
と同じ値に設定されます。 注意: | ALTCC 環境変数の下の注意を参照してください。 |
COBOPT
COBCPY
buildserver
でリンクするかどうかを示します。環境変数の値には「Yes」または「No」を指定します。「Yes」に設定すると、静的バージョンのlibcobatmiライブラリが使用され、「No」に設定すると共有バージョンが使用されます。この環境変数を指定しないと、共有バージョンのlibcobatmiライブラリがデフォルトで使用されます。 注意: | 10.0より前のTuxedoリリースの場合、buildserver は、静的バージョンのlibcobatmiライブラリにリンクします。 |
IBMCobol
」が指定されると、IBMCOBOLコンパイラが使用されます。 パラメータが指定されないと、標準のCOBOLコンパイラが使用されます。
buildserver
のリンク・フェーズが存在する場合、これらのファイルは環境変数TM_COB_CC_FILESで指定する必要があります。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。この環境変数は、-Cオプションが指定され、環境変数COBが「AcuCobol」に設定されている場合にのみ有効です。 注意: | ACUCOBOL CVMで使用されるACUCOBOLのシステム・ライブラリおよびオブジェクト・ファイルは、ファイル・リストに含める必要があります。 |
注意: | ファイルdirect.cは、ACUCOBOLがC外部変数およびCOBOLプログラムの関数にアクセスするために使用されます。プログラマがdirect.cをサード・パーティのソフトウェアをサポートするように変更した場合、変更されたdirect.cは$ACUCOBOL/libディレクトリ下に配置する必要があります。 |
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システム)
以前のリリースでは、sql
つまりdatabase
のgenoption
を指定するのに-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コンパイラの例を示します。
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コンパイラの例を示します。
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コンパイラの例を示します。
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
buildtms(1)
、servopts(5)、UBBCONFIG(5)
お使いのオペレーティング・システムのリファレンス・マニュアルで説明するCコンパイラとリンカーに関する記述
buildTM_MQI(1)
- TM_MQI
サーバーをリンク
buildTM_MQO(1)(1)
- TM_MQO
サーバーをリンク
buildTMQUEUE_MQM(1)
- TMQUEUE_MQM
サーバーをリンク
buildTM_MQI [-v] [-r rmname] [-o outfile]
buildTM_MQO [-v] [-r rmname] [-o outfile]
buildTMQUEUE_MQM [-v] [-r rmname] [-o outfile]
これらのコマンドはそれぞれTM_MQI
、TM_MQO
、またはTMQUEUE_MQM
サーバーを作成します。 デフォルトの出力場所は$TUXDIR/bin/TM_MQI
、$TUXDIR/bin/TM_MQO
、または$TUXDIR/bin/TMQUEUE_MQM
です。 この場所は-o
オプションで変更できます。
これらのコマンドで作成されるサーバーは、Tuxedo MQ AdapterがIBM WebSphere MQとのやり取りに使用します。詳細については『MQ Adapter』を参照してください。
ユーザーは、サーバー出力ファイルを作成または上書きするためのパーミッションを持つ必要があります。
これらのコマンドはbuildserverを呼び出して適切なMQ Adapterサーバーを作成します。
あらかじめリンクされたオブジェクトではなく、これらのコマンドを使用してMQ Adapterサーバー・ファイルを作成することで、Tuxedo管理者は次を構成できます。
システム管理者はMQ Adapterサーバーの作成に加え、ある時点でbuildtmsを実行し、WebSphere MQ TMSサーバーを作成する必要があります。
rm_name
は、$TUXDIR/udataobj/RM
にあるリソース・マネージャ表に登録されていなければなりません。rm_name
の値に対応するエントリは、リソース・マネージャに対する正しいライブラリを自動的に組み込み、かつトランザクション・マネージャとリソース・マネージャとの間のインタフェースを正しく設定( xa_switch_t
構造体を使用して)するときに使用します。このパラメータのデフォルト値はMQSeries_XA_RMI
です。
$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
- トランザクション・マネージャ・サーバーのロード・モジュールを構築
buildtms [ -v ] -o
name
-r
rm_name
buildtms
はトランザクション・マネージャのロード・モジュールを構築するときに使用します。
Oracle TuxedoシステムではいくつかのTMサーバーが一緒に提供されますが、分散トランザクション処理用にOracle Tuxedoシステムとともに使用する新しいリソース・マネージャを提供することもできます。このようなリソース・マネージャは、X/OpenのXAインタフェースに準拠していなければなりません。リソース・マネージャ・ベンダーは、次の4つの項目を提供しなければなりません。1)リソース・マネージャの名前、リソース・マネージャの機能を示すフラグおよび実際のXAの関数ポインタを収めるxa_switch_t
型の構造体の名前、2) xa_switch_t
構造体のname要素に格納されるリソース・マネージャの名前、3) XAインタフェースのサービスを提供しソフトウェアをサポートするオブジェクト・ファイルの名前、そして4) UBBCONFIG
構成ファイルのパラメータOPENINFO
およびCLOSEINFO
に提供される情報文字列の形式、の4項目です。「UBBCONFIG(5)」を参照してください。
新しいリソース・マネージャをOracle Tuxedoシステムに統合化する際には、ファイル$TUXDIR/udataobj/RM
を更新して、そのリソース・マネージャに関する情報を組み込むようにしなければなりません。このファイルの形式は次のとおりです。
rm_name
:
rm_structure_name
:
library_names
ここで、rm_name
はリソース・マネージャの名前、rm_structure_name
はxa_switch_t
構造体の名前、およびlibrary_names
はリソース・マネージャのオブジェクト・ファイルのリストです。空白類(タブまたはスペース)は各値の前後で使用でき、library_names
の中に挿入することもできます。値の中にコロン(:
)を含めることはできません。また、シャープ(#
)で始まる行はコメントとして扱われ、無視されます。
注意: | UNIXシステムの場合はリストをコロン(:)で区切ります。Windowsシステムの場合はコロンのかわりにセミコロン(;)を使用してください。 |
新しいリソース・マネージャのトランザクション・マネージャ・サーバーはbuildtms
を使用して構築し、$TUXDIR/bin
にインストールしなければなりません。buildtms
はbuildserver(1)
コマンドを使用してa.out
を生成します。buildtms
コマンドには、以下のオプションがあります。
-v
-o
name
-r
rm_name
rm_name
は、$TUXDIR/udataobj/RM
にあるリソース・マネージャ表に登録されていなければなりません。rm_name
の値に対応するエントリは、リソース・マネージャに対する正しいライブラリを自動的に組み込み、かつトランザクション・マネージャとリソース・マネージャとの間のインタフェースを正しく設定(xa_switch_t
構造体を使用して)するときに使用します。
buildtms
は、buildserver
コマンドを使用してa.out
を生成します。buildserver
は、コンパイラおよびコンパイラ・フラグに関してそれぞれCC
およびCFLAGS
環境変数を使用します(設定されている場合)。詳細は、「buildserver(1)」
を参照してください。
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
- カスタマイズされたワークステーション・ハンドラ・プロセスの構築
buildwsh
[-v
] [-o
name
] [-f
files
]
buildwsh
は、カスタマイズされたOracle Tuxedo ATMIワークステーション・ハンドラ・モジュールを作成するために使用されます。そのファイルには、アプリケーション・バッファ・タイプ・スイッチと必要なサポート・ルーチンだけを含むようにします。このコマンドは、-f
オプションで指定されるファイルと、ワークステーション・ハンドラ・ロード・モジュールを形成するために必要な標準のOracle Tuxedo ATMIライブラリを組み合せます。このロード・モジュールはUNIXシステムのリファレンス・マニュアルのcc
(1)コマンドによって構築されます。このccコマンドは、buildwsh
によって実行されます。このコマンドのオプションは、次のとおりです。
-v
-o
name
SERVER
セクションにおけるWSL(5)
サーバーの-w
WSHname
オプションで指定しなければなりません。指定しない場合、ロード・モジュールには、WSH
という名前が付きます。
-f
firstfiles
buildwsh
のコンパイル・フェーズやリンク・フェーズで取り込む1つまたは複数のユーザー・ファイルを指定します。ソース・ファイルは、cc
コマンドまたは環境変数CC
によって指定されたコマンドによってコンパイルされます。ソース・ファイルのコンパイルによって生成されたオブジェクト・ファイルと、-f
オプションのパラメータとして直接指定されたオブジェクト・ファイルは、基本となるワークステーション・ハンドラ・プロセスを構築するために必要なすべてのオブジェクト・ファイルの後で、かつOracle Tuxedo ATMIライブラリの前に取り込まれます。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは、何回も指定することができます。
buildwsh
は通常、cc
コマンドを使用してa.out
を生成します。代替コンパイラを指定できるようにするため、buildwsh
はシェル変数CC
が存在するかどうかを調べます。CC
がbuildwsh
の環境にない場合、または変数の値が文字列""である場合は、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
UNIXシステムのリファレンス・マニュアルのcc(1)、ld
(1)
cobcc
[option
. . .
]filename
. . .
cobcc
は、COBOLコンパイラに対するインタフェース・シェルとして使用します。cobccは、-C
(COBOL)オプションを指定してbuildclient(1)
またはbuildserver(1)
が実行された場合にはデフォルトで呼び出されます。ALTCC
環境変数を指定するとオーバーライドできます。
以下にcobcc
で指定可能なオプションを示します。これらのオプションを使用するには、buildclient
やbuildserver
を実行する際に、環境変数ALTCFLAGS
をcobcc
が認識できるオプション文字列に設定します。各オプションの詳細は、COBOLとCコンパイラのドキュメントを参照してください。
注意: | Windowsシステムでは、ALTCC およびALTCFLAGS 環境変数は使用できません。これらの変数を設定すると、予想外の結果が生じます。 まずCOBOLコンパイラを使用してアプリケーションをコンパイルし、次に生成されたオブジェクト・ファイルをbuildclient(1) またはbuildserver(1) コマンドに渡す必要があります。 |
cc
やcob
とは異なりcobcc
では、すべてのオプションはファイル名の前に置かれなければなりません。
-c
-p -g -r -O
-l
argument
-L
argument
-o
output_file
-E -P -S
-A -C -H -f -G
-w
-D
argument
{-T -Y -U -I -B -X -F -q}
argument
-V -v
-a -s
-u
argument
-W
argument
p
または -0
であれば、Cコンパイラに渡されます。-a
で始まる場合には、アセンブラに渡されます。-l
で始まる場合にはローダーに渡されます。-C
で始まるのであれば、COBOLコンパイラに渡されます。それ以外の場合には、Cコンパイラに渡されます。
オプションと引数、およびファイル名は該当するオプションと共にCOBOLコンパイラに渡され、適切な情報がCOBOLコンパイラ、Cコンパイラ、あるいはローダーで処理されます。COBOLコンパイラの名前は"cob
"と想定されており、PATH
で定義されています。
『Micro Focus COBOL/2 Operating Guide』 Micro Focus Ltd.
dmadmin
- Oracle Tuxedo Domains管理プログラムのコマンド・インタプリタ
dmadmin
[-c
]
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
は、-c
オプションを使用して呼び出されるか、configサブコマンドが呼び出されると、configurationモードに入ります。アプリケーション管理者は、このモードを使用して、新しい構成情報を更新したり、ドメイン構成ファイル(BDMCONFIG
)のバイナリ・バージョンに追加したりできます。
dmadmin
では、BDMCONFIG
ファイルの管理にDomains管理サーバー(DMADM
)を、アクティブなDOMAINゲートウェイ・グループの再構成にゲートウェイ管理サーバー(GWADM
)を使用する必要があります。Domains構成で起動される各Oracle Tuxedoアプリケーションに1つのDMADM
プロセスが、各ドメイン・ゲートウェイ・グループに1つのGWADM
プロセスが実行されます。
dmadmin
が呼び出された後は、次に示す構文に従って、プロンプト(">")からコマンドを入力してください。
command
[arguments
]
共通して出現するいくつかの引数には、default
コマンドを使用してデフォルト値が与えられます。default
コマンドによって設定されたパラメータを受け付けるコマンドは、default
に値が設定されているかどうかを調べます。値が設定されていない場合は、エラー・メッセージが戻されます。
一度設定したデフォルト値は、default
コマンドで変更しないかぎり、セッション終了まで有効です。このデフォルト値は、コマンドラインで明示的に値を入力してオーバーライドするか、値*
(アスタリスク)を入力して設定解除します。オーバーライドの効果は、コマンドの単一のインスタンスの間有効です。
dmadmin
コマンドからの出力は、使用しているページ別表示コマンドに従ってページ別に表示されます(後述のpaginate
サブコマンドを参照してください)。
コマンドの入力形式には、完全な名前でも省略形でも使用でき、該当する引数はコマンドの後に付きます。この後の一覧では、完全な名前の後の丸カッコ内に省略形を示しています。大カッコ[ ]で囲まれた引数は省略可能です。中カッコ{ }で囲まれた引数は相互に排他的な選択肢を示します。多くの場合、local_domain_access_point_name
は必須の引数であり、これはdefault
コマンドを使用して設定することができます。
advertise (adv) -d
local_domain_access_point_name
[{service
}]
audit (audit) -d
local_domain_access_point_name
[{off
| on
}]
on
)にまたはアクティブ解除(off
)します。オプションが設定されていない場合は、現在の設定値がon
とoff
で切り替わり、新しい設定が表示されます。初期設定はoff
です。
chbktime (chbt) -d
local_domain_access_point_name
-t
bktime
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
ファイルで指定したパラメータが使用されます。指定のローカル・ドメイン・アクセス・ポイントに関連付けられているドメイン・ゲートウェイ・グループが現在のマシンでアクティブであるか、ログがすでに存在する場合は、このコマンドは失敗します。
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}
]
forgettrans (ft) -d
local_domain_access_point_name
[ -t
tran_id
]
tran_id
が指定されている場合、そのトランザクションのヒューリスティック・ログ・レコードのみが無視されます。トランザクションの識別子tran_id
は、printtrans
コマンドまたはULOG
ファイルから取得できます。
help (h)
[command
]
indmlog (indlg) -d
local_domain_access_point_name
[ -y
]
dmadmin
が動作しているマシン)上の指定されたローカル・ドメイン・アクセス・ポイントに対して、Domainsトランザクション・ログを再初期化します。このローカル・ドメイン・アクセス・ポイントにDMTLOG
が定義されていないか、ローカル・ドメイン・アクセス・ポイントに関連付けられているドメイン・ゲートウェイ・グループがアクティブであるか、または未処理のトランザクション・レコードがログ内に存在している場合は、エラーが戻されます。「未処理のトランザクション」とは、グローバル・トランザクションがすでにコミットされているが、トランザクションの終了がまだ書き込まれていないトランザクションのことです。このコマンドは、-y
オプションを指定していない場合に確認のためのプロンプトを表示します。
paginate
(page
) [{off
| on
}]
PAGER
を使用すると、ページ別表示出力に使用されるデフォルトのコマンドをオーバーライドすることができます。デフォルトのページ別表示コマンドは、ネイティブのオペレーティング・システム環境に固有のコマンドです。たとえば、UNIXシステム・オペレーティング環境では、コマンドpg
がデフォルトのコマンドです。
passwd (passwd)
[ -r
] local_domain_access_point_name
remote_domain_access_point_name
-r
オプションは、既存のパスワードと新しいパスワードをシステムが生成した新しいキーを使用して暗号化することを指定します。パスワードは最大で30文字までに切り捨てられます。passwd
は、TDomainゲートウェイでのみサポートされていません。
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
)します。オプションを何も指定しない場合は、現在の設定値がon
とoff
で切り替わり、新しい設定が表示されます。初期設定はoff
です。
suspend (susp) -d
local_domain_access_point_name
[{ -all
| service
}]
topendpasswd (tepasswd)
[ -r
]
unadvertise (unadv) -d
local_domain_access_point_name
[{ -all
| service
}]
verbose (v)
[{off
| on}
]
!
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
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
]を押します。
FIRST
- 指定されたセクションの最初のレコードを表示します。キー・フィールドは必要ありません(入力バッファに格納されていても、無視されます)。継続
- 入力バッファ内のキー・フィールドに基づいて、指定したセクションから次のレコードを取り出します。照会
- キー・フィールドで指定されたセクションから、指定されたレコードを取り出します。以下のフィールドの説明を参照してください。ADD
- 指定したセクションに、指定したレコードを追加します。フィールドが指定されていない場合(フィールドが不要である場合にかぎり)、DMCONFIG(5)で指定されたデフォルト値が使用されます。すべてのフィールドの現在の値は、出力バッファ内に戻されます。この操作は、Oracle Tuxedo管理者だけが行えます。UPDATE
- 指定したセクションの入力バッファ内にある、指定したレコードを更新します。入力バッファ内で指定されていないフィールドは変更されません。すべてのフィールドの現在の値は、入力バッファ内に戻されます。この操作は、Oracle Tuxedo管理者だけが行えます。DELETE
- 入力バッファで指定したレコードを、選択したセクションから削除します。この操作は、Oracle Tuxedo管理者しか実行できません。新セクション
- 入力バッファをクリアします。すべてのフィールドが削除されます。この操作の後、dmadmin
は即座にセクションの入力を求めます。終了
- プログラムを正常に終了します。dmadmin
は終了します。プロンプトで値q
を入力してもプログラムを終了できます。 構成操作を行う場合は、有効なユーザー識別子は、このプログラムが実行されるマシンのOracle Tuxedo管理者ユーザー識別子(UID
)と一致している必要があります。 レコードの更新や追加を行う場合には、dmloadcf(1)
が使用する妥当性検査機能とすべてのデフォルト値が有効になります。
dmadmin
は次に、入力バッファを編集するかどうかをたずねるプロンプトを表示します。
Enter editor to add/modify fields [n]?
ここで、y
を入力すると、入力バッファは一時ファイルにコピーされ、テキスト・エディタが起動されます。どのエディタを使用するかは、環境変数EDITOR
で指定できます。デフォルトではUNIXのテキスト・エディタのed
が使用されます。入力形式は、フィールド名とフィールド値のペアで、「構成入力フォーマット」で記述しています。各DMCONFIG
セクションに関連するフィールド名は、以下のサブセクションの表にリストします。フィールドのセマンティクスと関連範囲、デフォルト値、制約事項などについては、「DMCONFIG(5)」および「DM_MIB(5)」を参照してください。ほとんどのケースでは、フィールド名はDMCONFIG
ファイル内のKEYWORD
と同じです(接頭辞として"TA_
"が付いています)。ユーザーが入力バッファの編集を終えると、dmadmin
がそれを読み込みます。ある特定のフィールド名が複数行に現れる場合、最初のものだけが使用され、残りは無視されます。エラーが発生した場合は、構文エラーが表示され、問題を訂正するかどうかをたずねるプロンプトが表示されます。
Enter editor to correct?
問題を訂正しない場合(レスポンスn
)は、入力バッファにフィールドは含まれません。問題を訂正する場合は、エディタが再度実行されます。
最後に、操作を行うかどうかをたずねるプロンプトが表示されます。
Perform operation [y]?
操作が完了すると、dmadmin
は「戻り値TAOK」
のように戻り値を表示し、続いて出力バッファのフィールドを表示します。次に、プロセスが再開され、セクションを求めるプロンプトが表示されます。すべての出力バッファ・フィールドは、バッファがクリアされないかぎり、入力バッファ内で利用できます。
いつでもブレークを入力して、セクションを求めるプロンプトでの対話を再開できます。
"QUIT"
を選択すると、テキスト・バージョンの構成ファイルのバックアップを作成する認可を求めるプロンプトが表示されます。
Unload BDMCONFIG file into ASCII backup [y]?
バックアップを選択した場合、ファイル名の入力を求めるプロンプトが表示されます。
成功時にはバックアップが作成されたことが示され、失敗時にはエラーが表示されます。
入力パケットは、次のようにフォーマットされた行で構成されます。
fldname fldval
フィールド名は、1つまたは複数のタブ(または空白)によってフィールド値と区別されます。
長いフィールド値は、1つまたは複数のタブ(dmadmin
に再度読み込まれたときに破棄されます)で始まる継続行を使用することで、次の行に継続できます。
表示できない文字をフィールド値に入力したり、タブからフィールド値を開始したりするには、円マークを使用し、その後に希望する文字を2文字の16進数表現で使用します(UNIXのリファレンス・マニュアルのASCII
(5)を参照してください)。たとえば、入力データに空白を入力するには、「\20」と入力します。円マーク自体を入力するには、円マークを2回重ねて入力します。dmadmin
はこの形式で入力された文字をすべて認識しますが、この形式の最大の利点は表示できない文字を入力できることです。
次に動的Domainsを再構成する機能についての全般的な制限事項を示します。
Oracle Tuxedoのリリース7.1以降では、Domains用のMIBで、ローカル・ドメインとリモート・ドメインとの相互作用を記述するため、クラスと属性の用語が改善されています。新しい用語は、DM_MIB
のリファレンス・ページ、クラスおよびエラー・メッセージや、DMCONFIG
のリファレンス・ページ、セクション名、パラメータ名およびエラー・メッセージで使用されています。新しい用語はdmadmin
のユーザー・インタフェースには適用されていませんが、dmadmin
はDMCONFIG
の従来の用語と新しい用語の両方を認識します。
旧バージョンとの互換性のため、Oracle Tuxedo 7.1より前に使用されたDMCONFIG
用語と、新しいDomains用のMIB用語との間に別名が提供されています。Oracle Tuxedoリリース7.1以降のdmadmin
では、両方のバージョンのDMCONFIG
用語を使用できます。詳細は、DM_MIB(5)リファレンス・ページの「Domains関連の新しい用語」を参照してください。
次のセクションは、各DMCONFIG
について、どのフィールド識別子が各DMCONFIG
フィールドに関連しているか、識別子のフィールド・タイプは何か、およびいつフィールドを更新できるかを説明しています。適用可能なフィールド値はすべて、取出し操作によって戻されます。レコードを追加できるフィールド、またはレコードを追加するために必要なフィールドについては、「DMCONFIG(5)」および「DM_MIB(5)」で説明します。以下にキーとして示すフィールドは、セクション内のレコードを一意に識別するために使用するキー・フィールドです。これらのキー・フィールドは、更新を行うとき入力バッファ内になければなりません。また、これらのキー・フィールドを動的に更新することはできません。「更新」列は、どのようなときにフィールドを更新できるかを示しています。
可能な値は次のとおりです。
表4に、DM_LOCAL
セクション(DM_LOCAL_DOMAINS
セクション)のフィールド一覧を示します。dmadmin
操作のプロンプトでこのセクションにアクセスするには、2 (LOCAL_DOMAINS)を入力します。
表5に、DM_REMOTE
セクション(DM_REMOTE_DOMAINS
セクション)のフィールド一覧を示します。dmadmin
操作のプロンプトでこのセクションにアクセスするには、2 (REMOTE_DOMAINS)を入力します。
DM_TDOMAIN
セクションには、TDOMAIN
タイプ・ドメインが必要とするネットワーク・アドレッシング・パラメータが含まれています。表6に、このセクションのフィールドの一覧を示します。
ローカル・ドメイン・アクセス・ポイント識別子(TA_LDOM
)の場合、TA_NWADDR
フィールドおよびTA_NWDEVICE
フィールドは、そのローカル・ドメイン・アクセス・ポイントに関連付けられたゲートウェイ・グループが実行中でないときに更新できます。
DM_OSITP
セクションには、OSITP
タイプ・ドメインが必要とするOSI TP 1.3対応のネットワーク・アドレッシング・パラメータが含まれています。表7に、このセクションのフィールドの一覧を示します。
ローカル・ドメイン・アクセス・ポイント識別子(TA_LDOM
)の場合、この表に記載されていないフィールドは、そのローカル・ドメイン・アクセス・ポイントに関連付けられたゲートウェイ・グループが実行中でないときに更新できます。
DM_OSITPX
セクションには、OSITPX
タイプ・ドメインが必要とするOSI TP 4.0以降に対応するネットワーク・アドレッシング・パラメータが含まれています。表8に、このセクションのフィールドの一覧を示します。
注意: | DM_OSITPX セクションは、Oracle Tuxedoリリース8.0以降が動作していないと使用できません。 |
ローカル・ドメイン・アクセス・ポイント識別子(TA_LDOM
)の場合、この表に記載されていないフィールドは、そのローカル・ドメイン・アクセス・ポイントに関連付けられたゲートウェイ・グループが実行中でないときに更新できます。
表9に、DM_EXPORT
セクション(DM_LOCAL_SERVICES
セクション)のフィールド一覧を示します。dmadmin
操作のプロンプトでこのセクションにアクセスするには、4 (LOCAL_SERVICES)を入力します。
表10に、DM_IMPORT
セクション(DM_REMOTE_SERVICES
セクション)のフィールド一覧を示します。dmadmin
操作のプロンプトでこのセクションにアクセスするには、2 (REMOTE_SERVICES)を入力します。
表11に、DM_ROUTING
セクションのフィールドの一覧を示します。
表12に、DM_ACCESS_CONTROL
セクションのフィールドの一覧を示します。
表13に、DM_PASSWORDS
セクションのフィールドの一覧を示します。このセクションは、TDomainゲートウェイにのみ適用されます。
TA_LPWD
およびTA_RPWD
は、ローカル・ドメイン・アクセス・ポイントまたはリモート・ドメイン・アクセス・ポイント(あるいはその両方)について定義済みのパスワードがあるかどうかを示します。パスワードは表示されません。UPDATE
操作を選択した場合は、対応するフィールドの値をU
に設定する必要があります。この場合、エコーがオフになり、対応するパスワードの入力を求めるプロンプトが表示されます。
dmadmin
は、FML型付きバッファを割当てできない場合、ユーザーの/etc/passwd
エントリを判別できない場合、または環境変数FIELDTBLS
またはFLDTBLDIR
を再設定できない場合に失敗します。
各操作の完了後、dmadmin
によって表示される戻り値は、リクエストされた操作のステータスを示します。戻り値には3つのクラスがあります。
次の戻り値は、権限に関する問題またはOracle Tuxedoの通信エラーを示しています。戻り値は、操作が正常に完了しなかったことを示しています。
TAEPERM
]
ADD
、UPDATE
またはDELETE
のいずれかの操作が指定されましたが、Oracle Tuxedo管理者として実行されていません。更新操作は管理者(つまり、TUXCONFIG
ファイルのRESOURCES
セクションのUID
属性で指定されたユーザー)が実行する必要があります。
TAESYSTEM
]
TAEOS
]
TAETIME
]
次の戻り値は、操作を行うこと自体の問題を示します。一般的には、入力バッファ内のアプリケーション・データに関するセマンティクスの問題です。文字列フィールドTA_STATUS
は出力バッファ内で設定され、問題を記述する短いテキストを含んでいます。文字列フィールドTA_BADFLDNAME
は問題(エラーは1つのフィールドが原因で発生すると想定しています)の原因となる値を含むフィールドのフィールド名に設定されます。
TAECONFIG
]
TAEDUPLICATE
]
TAEINCONSIS
]
TAENOTFOUND
]
TAENOSPACE
]
TAERANGE
]
TAEREQUIRED
]
TAESIZE
]
TAEUPDATE
]
TAOK
]
TAUPDATED
]
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
がアプリケーション管理者の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
コマンドをシステムがブートする前に入力すると、次のメッセージが表示されます。
No bulletin board exists. Only logging commands are available.
次にdmadmin
は、対応するコマンドを求めるプロンプトを表示します。
正しくないアプリケーション・パスワードが入力されるか、環境を通してシェル・スクリプトで利用できない場合、ログ・メッセージが生成され、次のメッセージが表示されてコマンドが終了します。無効なパスワードが入力されました。
dmadmin
は、Oracle Tuxedoリリース5.0以降にインストールする必要があります。リリース5.0のゲートウェイが存在するドメイン内の他のマシンの場合は、Oracle Tuxedoリリース4.1以降でもかまいません。
dmadmin
管理ツールは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで使用できます。
dmloadcf(1)
、tmadmin(1)
、DMADM(5)、DMCONFIG(5)
『Oracle Tuxedo Domainsコンポーネント』
『ATMIアプリケーションでのOracle Tuxedo TOP END Domain Gatewayの使用』
dmloadcf
- DMCONFIG
ファイルを解析し、バイナリのBDMCONFIG
構成ファイルをロード
dmloadcf [-c] [-n] [-y] [-b
blocks
] {
DMCONFIG_file
| - }
dmloadcf
は、ファイルまたはDMCONFIG
構文による標準入力を読み取り、構文をチェックして、オプションでバイナリのBDMCONFIG
構成ファイルをロードします。BDMCONFIG
環境変数は、情報の格納先となるBDMCONFIG
ファイルのパス名を指しています。
dmloadcf
は、DMCONFIG
ファイルの必要なセクションがないことを検出すると、エラー・メッセージをプリントします。入力ファイルを構文解析しているときに構文エラーを検出すると、dmloadcf
はBDMCONFIG
ファイルを更新せずに終了します。
dmloadcf
を使用する場合は、$TUXDIR/udataobj/DMTYPE
ファイルが存在していなければなりません。このファイルは有効なドメイン・タイプを定義します。このファイルが存在しないと、dmloadcf
はBDMCONFIG
ファイルを更新せずに終了します。
dmloadcf
を使用するユーザーの実効ユーザー識別子は、TUXCONFIG
ファイルのRESOURCES
セクションのUID
と一致していなければなりません。
dmloadcf
にオプション-c
を付けると、プログラムはこの構成に含まれるローカル・ドメイン(ゲートウェイ・グループ)ごとに必要とされる最小限のIPCリソースを表示します。BDMCONFIG
ファイルは更新されません。
dmloadcf
に-n
オプションを付けると、プログラムはテキスト形式のDMCONFIG
ファイルの構文チェックだけを行い、BDMCONFIG
ファイルの更新は行いません。
構文チェックの後、dmloadcf
は、環境変数BDMCONFIG
が参照するファイルが存在するかどうか、存在する場合はそのファイルが有効なOracle Tuxedoファイルであるかどうか、およびBDMCONFIG
表を含んでいるかどうかを調べます。これらの条件が真でなかった場合、そのユーザーにはファイルを作成して初期化するよう、次のような指示が出されます。
BDMCONFIGファイルを初期化しますか
: path
[y, q]?
path
は、BDMCONFIG
ファイルの完全なファイル名です。標準入力および標準出力が端末に送られない場合、またはコマンドラインで-y
オプションが指定されている場合は、このプロンプトは表示されません。このプロンプトに対して「y」
または「Y」
以外で答えると、dmloadcf
はバイナリの構成ファイルを作成せずに終了します。
BDMCONFIG
ファイルが正しく初期化されていない場合、Initialize BDMCONFIG file
プロンプトの後にy
を入力すると、dmloadcf
はOracle Tuxedoファイル・システムを作成し、BDMCONFIG
表を作成します。-b
オプションをコマンドラインで指定すると、Oracle Tuxedoシステムのファイル・システムを作成するときに、-bオプションの引数がデバイスのブロック数として使用されます。-b
オプションの値が、新しいBDMCONFIG
表を収容できる大きさである場合、dmloadcf
は指定された値を使用して新しいファイル・システムを作成します。それだけの大きさがない場合には、エラー・メッセージを出力して終了します。-b
オプションを指定しないと、dmloadcf
は、BDMCONFIG
表を収容できる大きさのファイル・システムを新たに作成します。ファイル・システムがすでに存在している場合は、-b
オプションが無視されます。BDMCONFIG
がrawデバイス(初期化されていない)である場合には、-b
オプションを使用することを強くお薦めします。この場合、-b
オプションを使用して、rawデバイスのブロック数を設定しなければなりません。BDMCONFIG
が通常のUNIXファイル・システムである場合は、-b
オプションを使用しないようお薦めします。
BDMCONFIG
ファイルがすでに初期化されていることがわかると、dmloadcf
は、BDMCONFIG
ファイルで記述されているローカル・ドメインが動作していないことを確認します。ローカル・ドメインが動作している場合は、dmloadcf
がエラー・メッセージをプリントして終了します。ローカル・ドメインが動作していない場合、dmloadcf
は次のプロンプトを表示して、BDMCONFIGファイルを上書きするかどうかを確認します。
“Really overwrite BDMCONFIG
file [y, q]?”
標準入力または標準出力が端末でない場合、または-y
オプションをコマンドラインで指定した場合、このプロンプトは表示されません。このプロンプトに対して「y」
または「Y」
以外で答えると、dmloadcf
はファイルを上書きせずに終了します。
TUXCONFIG
ファイルのRESOURCES
セクションにSECURITY
パラメータが指定されていると、dmloadcf
は標準入力をフラッシュし、端末エコー機能をオフにして、次のようにユーザーにアプリケーション・パスワードの入力を求めます。「アプリケーション・パスワードを入力してください:」。
パスワードは、30文字以内の長さで入力できます。このSECURITY
パラメータがオンになっているときは、(ファイル以外の)標準入力を介してテキスト形式のDMCONFIG
ファイルをロードすることはできません。標準入力が端末でない場合、つまりパスワードの入力を促すプロンプトが(たとえばhere
ファイルを使って)表示されない場合、dmloadcfは環境変数APP_PW
にアクセスしてアプリケーション・パスワードを設定します。選択したパスワードが長すぎたり、環境変数APP_PW
を端末以外の標準入力で設定していない場合、dmloadcf
はエラー・メッセージをプリントし、ログ・メッセージを生成し、BDMCONFIG
ファイルをロードできません。
エラーが発生せず、チェックの結果がすべて条件を満たしていると、dmloadcf
はDMCONFIG
ファイルをBDMCONFIG
ファイルにロードします。BDMCONFIG
表内に存在するすべての情報は上書きされます。
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)
、DMCONFIG(5)、UBBCONFIG(5)
『Oracle Tuxedo Domainsコンポーネント』
『ATMIアプリケーションでのOracle Tuxedo TOP END Domain Gatewayの使用』
dmunloadcf
- バイナリのBDMCONFIG
Domains構成ファイルをアンロード
dmunloadcf [-c]
dmunloadcf
は、BDMCONFIG
構成ファイルをバイナリ表現からテキストに変換します。この変換処理は、バイト・オーダーが異なるマシン間でファイルを簡潔に移送したり、ファイルのバックアップ・コピーを簡潔に作成して信頼性を高める場合に役立ちます。テキスト形式については、DMCONFIG(5)で説明した内容と同じです。
dmunloadcf
は、BDMCONFIG
環境変数が参照するBDMCONFIG
ファイルから値を読み取り、その値を標準出力に書き込みます。
Oracle Tuxedoリリース7.1以降では、dmunloadcf
は、デフォルトで新しいドメイン関連の用語を使用するDMCONFIG
ファイルを生成します。詳細は、次の「Domains関連の新しい用語」を参照してください。以前のドメイン関連の用語を使用するDMCONFIG
ファイルを生成するには、-c
オプションを使用します。
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で終了します。
『Oracle Tuxedo Domainsコンポーネント』
『ATMIアプリケーションでのOracle Tuxedo TOP END Domain Gatewayの使用』
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
$
comment
m
message_text
m
はメッセージ識別子で、これは範囲(1-{NL_MSGMAX
})内の番号です。このメッセージ・テキストの構文と、「注意」
で説明する-m
コマンドライン・オプションの構文とを混同しないようにしてください。メッセージ・テキストは、セット識別子が最後の$set
ディレクティブによって指定され、かつメッセージ識別子がm
である状態でメッセージ・カタログに格納されます。メッセージ・テキストが空で、ASCIIの空白またはタブ・フィールド区切り文字があると、空の文字列がメッセージ・カタログに格納されます。メッセージ・ソース行にメッセージ番号があっても、フィールド区切り文字もメッセージ・テキストもない場合は、その番号を持つメッセージ(ある場合)がカタログから削除されます。メッセージ識別子は必ずしも連続している必要はありません。メッセージ・テキストの長さは、範囲(0-{NL_TEXTMAX
})内とします。
$quote
c
c
を指定します。この文字は、後置きスペースやnull (空)メッセージをメッセージ・ソース行で見分けやすいようにメッセージ・テキストを囲むときに使用できます。デフォルトの設定の場合、あるいは空の$quote
ディレクティブが指定されている場合、メッセージ・テキストの引用符は認識されません。メッセージ・テキストのソース・ファイル内の空の行は無視されます。テキスト文字列には、次の表で定義された特殊文字およびエスケープ・シーケンスを含めることができます。
エスケープ・シーケンス\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 [options]
idl-filename
...
idl-filename
(
s
)
を指定すると、ICFファイルが生成されます。このICFファイルは、コード生成プロセスに、実装のポリシーに関する追加情報、および実装と実装されるインタフェースとの関係を示す情報を提供するファイルです。ICFファイルをidl
コマンドへの入力として指定すると、idl
コマンドはICFファイルに指定された実装とインタフェースのペアに対してのみサーバー・コードを生成します。
生成されるICFファイルのファイル名は、コマンドラインで指定する最初のidl-filename
と同じですが、拡張子は.icf
になります。
間違ったOMG IDL構文でidl-filename
(
s
)
を指定すると、それに応じたエラーが返されます。
-D
identifier
=[
definition
]
#define
と同じ働きをします。つまり、-D
オプションは、定義ファイル内にある特定の識別子のかわりに使用するトークン文字列またはマクロを定義します。definitionが指定されていない場合、identifierは1に定義されます。複数の-D
オプションを指定することができます。-D
オプションとidentifierとの間の空白は省略可能です。
-I
pathname
#include
で指定するディレクトリのほか、インクルード・ファイルを検索するディレクトリを指定します。複数のディレクトリを指定する場合は、複数の-I
オプションを指定します。
#include
には、システム(<a.idl>
など)とユーザー("a.idl
"など)の2種類があります。UNIXシステムでは、システム・ディレクティブ#include
のパスは、/usr/include
および-I
オプションで指定される任意のディレクトリです。ユーザー・ディレクティブ#include
のパスは、#include
ディレクティブを含むファイルの場所と、その後に続く、システム・ディレクティブ#include
に指定されたパスで構成されます。Windows 2003システムでは、システム・ディレクティブ#include
とユーザー・ディレクティブ#include
に違いはありません。
-hおよび -?
次のコマンドは、emp.icf
ファイルを作成します。 genicf emp.idl
idl - Object Management Group (OMG)のインタフェース定義語ファイルをコンパイルし、インタフェースに必要なファイルを生成
idl [-i] [-Didentifier
[=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
idl-filename
_s.h
idl-filename
_i.cpp
idl-filename
_i.h
注意: | ICFファイルが指定されている場合は、そのICFファイル内の情報を基に、デフォルト値をオーバーライドするインタフェース/実装に関する情報がコード・ジェネレータに渡されます。通常、実装のアクティブ化ポリシーおよびトランザクション・ポリシーはICFファイルに指定されます。ICFファイルが指定されていない場合は、OMG IDLファイルで指定されるすべてのインタフェースに対してデフォルトのポリシーが有効になり、すべてのインタフェースに対してスケルトン・コードが生成されます。
icf-filename ファイルをidl コマンドへの入力として指定すると、icf-filename に指定された実装/インタフェースのペアのみが、サーバーの一部として生成されます。 |
IDLコンパイラは、生成するクライアント・スタブの情報をfilename
_c.cpp
ファイルおよびfilename
_c.h
ファイルに格納します。生成されたサーバー・スケルトンの情報は、filename
_s.cpp
ファイルおよびfilename
_s.h
ファイルに格納されます。
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
-D
identifier
[=
definition
]
#define
と同じ働きをします。つまり、-D
オプションは、定義ファイル内にある特定の識別子のかわりに使用するトークン文字列またはマクロを定義します。definitionが指定されていない場合、identifierは1に定義されます。複数の-D
オプションを指定することができます。-D
オプションと名前との間の空白はなくてもかまいません。
-I
pathname
#include
で指定するディレクトリのほか、インクルード・ファイルを検索するディレクトリを指定します。複数のディレクトリを指定する場合は、複数の-I
オプションを指定します。
#include
には、システム
(<a.idl>
など)とユーザー
("a.idl"
など)の2種類があります。システム・ディレクティブ#include
のパスは、システム・インクルード・ディレクトリおよび-I
オプションで指定されるディレクトリで構成されます。ユーザー・ディレクティブ#include
のパスは、#include
ディレクティブを含むファイルの場所と、その後に続く、システム・ディレクティブ#include
に指定されたパスで構成されます。デフォルトでは、#include
ディレクティブで取り込むファイル内のテキストは、クライアント・コードおよびサーバー・コードには取り込まれません。
-i
idl-filename_i.cpp
ファイルを生成します。これらのファイルには、OMG IDLファイルで指定されたインタフェースを実装する実装用のサンプル・テンプレートが入っています。注意: | idl コマンドに-i オプションを使用して実装ファイルを更新する手順は以下のとおりです。 |
"OBB_PRESERVE_BEGIN"
および"OBB_PRESERVE_END"
を"M3_PRESERVE_BEGIN"
および"M3_PRESERVE_END"
に変更します。*_i.cpp
)に追加した場合は、そのファイルを編集して、取り込んだ要素をINCLUDES
保護ブロック内に移動します。idl
コマンドで-i
オプションを使用して、編集した実装ファイルを再生成します。*_i.h
)に修正を加えていた場合は、新しく生成された定義ファイルにその修正箇所を反映させます。修正箇所はコード保護ブロック内に配置します。これにより、以降更新を行ってもその修正箇所は自動的に保護されるようになります。Oracle Tuxedoリリース7.1では、実装のコンストラクタ関数およびデストラクタ関数の文法が変更されているため注意が必要です。*_i.cpp
)の保護ブロックの外側に、または実装のコンストラクタ関数またはデストラクタ関数に修正を加えていた場合は、新しく生成されたファイルを編集して、その修正箇所を反映させます。修正箇所はコード保護ブロック内に配置します。これにより、以降更新を行ってもその修正箇所は自動的に保護されるようになります。-P
Tobj_ServantBase
クラスからは継承しませんが、直接PortableServer::ServantBase
クラスから継承します。デフォルトでは、スケルトン・クラスはTPフレームワークを使用します。そのため、これらのサーバーはTPフレームワークを使用しないので、共同クライアント/サーバーを開発している場合はこのスイッチを使用する必要があります。
Tobj_ServantBase
クラスがないということは、そのサーバーントにactivate_object
メソッドとdeactivate_object
メソッドがないことを意味します。CORBAサーバーでは、これらのメソッドはTPフレームワークによって呼び出され、サーバーントに対してあるメソッドを呼び出す前に、そのサーバーントの状態を動的に初期化して保存します。CORBA共同クライアント/サーバーの場合、ユーザーが記述したコードは明示的にサーバントを作成し、サーバントの状態を初期化する必要があります。そのため、Tobj_ServantBase
による操作は必要ありません。-P
オプションを使用する場合、TPフレームワークを利用できないので、ICFファイルは使用されません。
-T
idl emp.idl
idl emp.idl emp.icf
idl2ir
- インタフェース・リポジトリを作成し、インタフェース・リポジトリにインタフェース定義をロード
idl2ir [options]
definition-filename-list
[-f
repository-name
] [-c]
[-Didentifier
[=
definition
]]
[-Ipathname
[-I
pathname
] [...]] [-N{i|e}]
このコマンドを使用すると、インタフェース・リポジトリを作成し、そのインタフェース・リポジトリにインタフェース定義をロードできます。リポジトリ・ファイルがない場合は作成されます。リポジトリ・ファイルが存在する場合は、指定されたインタフェース定義がそのファイルにロードされ、その結果、ファイルが更新されます。
このコマンドを使用すると、新しいインタフェース・リポジトリ・データベース・ファイルが作成されます。
definition-filename-list
-f
repository-name
-f
オプションを指定しない場合、
UNIXシステムではインタフェース・リポジトリ・ファイルとしてrepository.ifr
が、Microsoft Windows 2003システムでは repository_1.ifr
が作成されます。
-c
既存のリポジトリが存在する場合に、このオプションが指定されていないときは、既存のリポジトリが更新されます。
-D
identifier
[=
definition
]
#define
と同じ働きをします。つまり、-D
オプションは、定義ファイル内にある特定の識別子のかわりに使用するトークン文字列またはマクロを定義します。definitionが指定されていない場合、identifierは1に定義されます。複数の-D
オプションを指定することができます。
-I
pathname
#include
には、システム(<a.idl>
など)とユーザー("a.idl"
など)の2種類があります。システム・ディレクティブ#include
のパスは、UNIXシステムの/usr/include
および-I
オプションで指定されるディレクトリで構成されます。システム・ディレクティブ#include
のパスは、Windows NTシステムのローカル・ディレクトリおよび-I
オプションで指定されるディレクトリで構成されます。ユーザー・ディレクティブ#include
のパスは、カレント・ディレクトリおよび-I
オプションで指定されるディレクトリで構成されます。複数の-I
オプションを指定できます。
注意: | インタフェース・リポジトリに対するサーバー・プロセスの実行中にインタフェース・リポジトリにロードされる追加定義は、そのサーバー・プロセスが停止して再起動するまでは受け付けられません。 |
ir2idl [options] [
interface-name
]
[-f
repository-name
] [-n]
[-tinterface-type
] [-o
filename
]
このコマンドはインタフェース・リポジトリの内容を表示します。-o
オプションを使用して出力をファイルに送れば、リポジトリからOMG IDLファイルを抽出できます。デフォルトでは、リポジトリ・ファイルはrepository.ifr
です。
interface-name
-f
repository-name
-n
-t
interface-type
-o
filename
irdel [-f
repository-name
] [-i
id
]
object-name
このコマンドは、指定されたインタフェースをリポジトリから削除します。削除できるのは、他のインタフェースから参照されていないインタフェースだけです。デフォルトでは、リポジトリ・ファイルはrepository.ifr
です。
-f
repository-name
repository-name
には、インタフェース・リポジトリのファイルを指定します。このオプションが指定されていない場合、デフォルトでrepository.ifr
が使用されます。
-i
id
object-name
MOD1::INTERF2::OP3
と指定できます。この場合、操作OP3
はインタフェースINTERF2
内にあり、そのインタフェースはアプリケーションMOD1
内にあります。
mkfldcs
、mkfldcs32
- フィールド表からC#のヘッダー・ファイルを作成
mkfldcs [-d outdir] [ field_table... ]
mkfldcs32 [-d outdir] [ field_table... ]
mkfldcs
はmkfldhdr
に似ていますが、出力されるファイルがC#のソース・ファイルの生成に使用されることが異なります。このソース・ファイルには、入力ファイルで与えられた各FMLフィールドIDの定義などのパブリック・クラスが含まれます。
mkfldcs
コマンドライン・オプションは、mkfldhdr、mkfldhdr32(1)
と同じです。mkfldcs32
は32ビットFMLで使用します。
『Tuxedo .NETワークステーション・クライアント』の「Tuxedo .NETワークステーション・クライアント・アプリケーションの作成」
mkfldhdr
、mkfldhdr32
- フィールド表からヘッダー・ファイルを作成
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
の定義がなければ、カレント・ディレクトリだけが検索されます。このため、コマンドラインにフィールド表名の指定がなく、FIELDTBLS
とFLDTBLDIR
が設定されていない場合には、mkfldhdr
はカレント・ディレクトリのフィールド表fld.tbl
をヘッダー・ファイルfld.tbl.h
に変換します。
mkfldhdr32
は、32ビットのFMLで使用します。環境変数FIELDTBLS32
およびFLDTBLDIR32
を使用します。
-d
フィールド表のロードに失敗した場合、あるいは出力ファイルを生成できなかった場合には、エラー・メッセージが出力されます。
FLDTBLDIR=/project/fldtbls
FIELDTBLS=maskftbl,DBftbl,miscftbl,
export FLDTBLDIR FIELDTBLS
この例では、ディレクトリ/project/fldtbls
のファイルmaskftbl
、DBftbl
およびmiscftbl
を処理することにより、mkfldhdr
は、#include
ファイルmaskftbl.h
、DBftbl.h
およびmiscftbl.h
をカレント・ディレクトリに作成します。
上記の例のように環境変数を設定すると、コマンドmkfldhdr -d$FLDTBLDIR
は同じ入力フィールド表ファイルを処理して、同じ出力ファイルを生成しますが、それらのファイルは環境変数FLDTBLDIR
の値で示されるディレクトリに格納されます。
また、コマンドmkfldhdr myfields
は、入力ファイルmyfields
を処理して、カレント・ディレクトリにmyfields.h
を生成します。
『Oracle Tuxedo ATMI FML関数リファレンス』の「FML関数の紹介」、field_tables(5)
mklanginfo
- ロケールの言語情報定数をコンパイル
mklanginfo
[fname
]
このプログラムは引数として指定されたファイルを取り込み、その入力を$TUXDIR/locale
/xx
/LANGINFO
に配置するのに適したファイルに変換します(xx
は特定のロケール)。ファイルの引数が指定されていない場合は、標準入力が使用されます。この言語値は、setlocale(3c)、strftime(3c)およびnl_langinfo(3c)で使用されます。
mklanginfo
は入力行を読み取ります。このとき、空白または「#」で始まる行は無視されます。値入力行は次の形式でなければなりません。
<token
> = “
value
”
トークン(token
)と二重引用符値との間の文字は、トークンの後に空白があれば、二重引用符を除けば何でもかまいません。value
がnull文字列であると、その行は無視されます。>
そうでなければ、トークンは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ロケールのデフォルトの値(U.S. English)を使用します。
コマンドラインにファイル名が指定されていると、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.textw
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で提供される関数は、別のファイル・セットおよびファイル形式を使用します。
nl_langinfo(3c)、setlocale(3c)、strftime(3c)、langinfo(5)
[QMCONFIG
=<device
>]qmadmin
[<device
>]
qmadmin
は、次の一覧で示す各種コマンドを使用することにより、メッセージ・キューの作成、検査および変更を行います。汎用デバイス・リスト(UDL)は、Oracle Tuxedo ATMIシステムが稼働するマシンに物理ストレージ・スペースをマップします。UDLのエントリは、キューとキュー・スペースのメッセージが格納される、ディスク空間を指定します。キュー・スペースのための汎用デバイス・リストが存在する(または存在することになる)デバイス(ファイル)名は、コマンドライン引数として指定することも、環境変数QMCONFIG
を介して指定することもできます。この両方で指定された場合には、コマンド・オプションが使用されます。
qmadmin
はシステム付属のサーバーとして、通常の初期化プロセスを行わないため、UBBCONFIG
ファイルからULOGPFX
の値を参照しません。その結果、qmadmin
コマンドによって生成されたすべてのログ・エントリが、現在の作業ディレクトリに書き込まれます。これに対処するには、ULOGPFX
環境変数をユーザー・ログのあるディレクトリのパス名に設定して、エクスポートします。
qmadmin
は、大なり記号>
をプロンプトとして使用します。各引数は、空白(タブまたはスペース、あるいはその両方)で区切って入力されます。空白を含む引数は、二重引用符で囲むことができます。二重引用符で囲まれた引数に二重引用符を含める場合は、引数内の二重引用符を円マークでエスケープしなければなりません。コマンドラインでコマンド情報を指定しなかった場合には、情報の入力を促すプロンプトが表示されます。必須の引数を入力しないと、警告メッセージが表示され、プロンプトが再表示されます。オプション・パラメータに関する情報の入力を求めるプロンプトは表示されません。
ユーザーは、コマンドの入力を求められた際にq
または<CTRL-d>
と入力するとプログラムを終了できます。[Break]キーを押すと、コマンドからの出力を終了でき、新しいコマンドを入力するように求められます。コマンドの入力を求められた際に[Enter]キーを押すと、[Break]キーを押した後を除き、直前のコマンドが繰り返し実行されます。
一度[Enter]キーを押してしまったコマンドを完全に取り消す方法はありません。[Break]キーを押しても、それはコマンドからの出力があればその出力を終了させるだけです。したがって、必ず正確にコマンドをタイプ入力してから、[Enter]キーを押すようにしてください。
qmadmin
コマンドからの出力は、使用しているページ別表示コマンドに従ってページ別表示されます(後述のpaginate
サブコマンドを参照)。
qmadmin
を初めて入力するときは、開いているキュー・スペースはありません。キュー・スペースを作成するにはqspacecreate
を実行します。このキュー・スペースを開くには、qopen
を実行します。qaborttrans
、qclose
、qchangeprio
、qchangequeue
、qchangetime
、qchangeexptime
、qcommittrans
、qchange
、qcreate
、qdeletemsg
、qinfo
、qlist
、qprinttrans
およびqset
コマンドは、キュー・スペースが開いているときのみ実行できます。
次の表は、機能タイプ別にグループ化したqmadmin
コマンドをリストしています。
コマンドの形式は、完全な名前でも省略形でも(省略形を使用できる場合。この後の一覧では、完全な名前の後の丸カッコ内に省略形を示しています)入力することができ、該当する引数はコマンドの後に付きます。大カッコ[ ]で囲まれている引数は省略可能です。中カッコ{ }で囲まれている引数は相互に排他的な選択肢を示します。
chdl
[dlindex
[newdevice
]]
lidl
で戻されます)。第1引数をコマンドラインで指定しなかった場合は、プログラムによって入力が要求されます。
crdl
[device
[offset
[size
]]]
QMCONFIG
によって参照されるデバイスと一致し、0オフセットを含んでいる必要があります。コマンドラインに引数が入力されていない場合は、プログラムから入力するように要求されます。
/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
}]
help (h)
[{command
| all
}]
ipcrm
[-f
] [-y
] [queue_space_name
]
qmadmin
で開かれている場合は、閉じられます。ipcrm
は、キュー・スペースが使用するすべてのIPCリソースを認識しており、IPCリソースを削除する手段としては唯一の手段です。qmadmin
では、IPCリソースが削除される前に、キュー・スペースに他のプロセスが一切アタッチされていないことを保証します。-f
オプションを指定すると、他のプロセスがアタッチされているIPCリソースでも強制的に削除することができます。-f
オプションを指定している場合は、-y
オプションが指定されていないかぎり、このコマンドは実行前に確認のためのプロンプトを表示します。コマンドが正常に完了すると、指定されたキュー・スペースのすべての一時的メッセージが完全に失われます。
ipcs
[queue_space_name
]
lidl
[dlindex
]
dlindex
を指定すると、デバイス・リストのそのエントリについての情報のみが表示されます。
livtoc
VTOC
表のすべてのエントリについて情報を表示します。各エントリについて表示される情報は、VTOC
表の名前、VTOC表のあるデバイス、デバイスの先頭からのVTOC
表のオフセットおよびこの表に割り当てられているページ数があります。VTOC
には、最大100のエントリがあります。
paginate
(page
) [{off|on
}]
pg
は、UNIXオペレーティング・システムにおけるデフォルトのコマンドです。シェル環境変数PAGER
を使用すると、出力のページングに使用されるデフォルトのコマンドをオーバーライドできます。
qaborttrans
(qabort
) [-y
] [tranindex
]
tranindex
に関連付けられている、プリコミットされているトランザクションをヒューリスティックに停止します。トランザクション索引をコマンドラインで指定しなかった場合は、プログラムはその入力を要求します。トランザクションが決定されることがわかっていて、その決定がコミットすることであった場合は、qaborttrans
は失敗します。索引は、事前のqprinttrans
コマンドの実行から取得されます。-y
オプションが指定されていなければ、確認がリクエストされます。このコマンドの使用には、十分な注意が必要です。
qaddext
[queue_space_name
[pages
]]
qmadmin
で開かれている場合は、閉じられます。物理ページ数は4の倍数に最も近い値に切り下げられます。この説明と例については、qspacecreateを参照してください。スペースは、UDL
でQMCONFIG
デバイスに関連付けられて定義されているエクステントから割り当てられます。新しいキュー・スペース・エクステントは、VTOC
においてそれぞれ追加エントリを使用します(最大100のエントリが使用可能です)。キュー・マネージャは、このエクステントに名前を指定して、このエクステントの迅速な識別とキュー・スペースへの関連付けができるようにします。コマンドが正常に完了すると、指定されたキュー・スペースのすべての一時的メッセージが完全に失われます。
qchange
[-d
persist
|nonpersist
] [-n
nhigh
,nlow
,ncmd
] -e
default_relative_expiration_time
]queue_name
[out-of-order
[retries
[delay
[high
[low
[cmd
]]]]]]]
msgid
の前に登録)、再試行の回数、各再試行の間の遅延時間(秒)、しきい値コマンドを実行するための上限値と下限値および永続的メッセージに対するしきい値コマンドそのものを指定できます。
none
、top
またはmsgid
です。top
とmsgid
の両方を、カンマで区切って指定することができます。しきい値を使用すると、永続的メッセージについてしきい値に達したときに、コマンドが自動的に実行されます。上限は、コマンドを実行する時期を指定します。上限に達した場合は、コマンドを再度実行する前に下限に戻しておく必要があります。たとえば、上限と下限がそれぞれ100メッセージ、50メッセージの場合、キュー内のメッセージが100になるとコマンドが実行されます。コマンドはキュー中のメッセージが50に減り、再度100になるまで実行されません。キューの容量の指定は、キューが使用するバイト数またはブロック数(接尾辞"b
"または"B
"を後に付けた数字)、キューが使用するキュー・スペースに対する割合(
"%
"を後に付けた数字)、またはキューの全メッセージ数(
"m
"を後に付けた数字)を使用して行えます。上下のしきい値のタイプは、同じでなければなりません。下限しきい値にタイプを指定するかどうかは省略可能ですが、指定する場合は、上限しきい値のタイプと一致させなければなりません。メッセージ(m
)接尾辞は、永続的メッセージと一時的メッセージの両方に適用されます。その他のしきい値の接尾辞は、永続的メッセージにのみ適用されます。-n
オプションを使用して、一時的メッセージのしきい値を指定します。コマンドラインで指定する場合、空白文字を含むしきい値コマンドは二重引用符で囲みます。再試行回数(retry)は、メッセージをキューから取り出してトランザクションをロールバックし、再びキューにメッセージを戻す、という処理を実行できる最大回数を示します。再試行までの遅延時間も指定できます。再試行回数に達すると、メッセージはキュー・スペースに定義されるエラー・キューに移動されます。エラー・キューが定義されていない場合、メッセージは削除されます。キューに対するキュー順序の値は変更できません。優先順位の低いメッセージは、他に優先順位の高いメッセージがある場合でも、10のメッセージがたまるごとにキューから取り出されます。-d
オプションは、キューのデフォルトの配信ポリシーを指定します。-d
オプションに有効な値は、persist
とnonpersist
です。デフォルトの配信ポリシーがpersist
の場合、明示的に配信モードが指定されずにキューに登録されているメッセージは、永続的(ディスク・ベース)配信方式で配信されます。配信ポリシーがnonpersist
の場合は、明示的に配信モードが指定されずにキューに登録されているメッセージは、一時的(メモリー内)配信方式で配信されます。-d
オプションが指定されない場合、情報の入力を求めるプロンプトは表示されず、デフォルトの配信ポリシーは変更されません。デフォルトの配信ポリシーが変更されても、すでにキューに入っているメッセージについては、サービスの配信基準は変更されません。現在キュー・スペース内にあるメッセージに対する応答キューを変更する場合、キューのデフォルトの配信ポリシーの変更によって、サービスの応答基準が変更されることはありません。メモリー領域の不足やフラグメント化のために一時的メッセージをキューに登録できない場合、メッセージ用の永続ストレージが十分にあってもキューへの登録操作は失敗します。ディスクの不足やフラグメント化のために永続的メッセージをキューに登録できない場合、メッセージ用の非永続ストレージが十分にあってもキューへの登録操作は失敗します。キュー・スペースの中の一時的メッセージ用に確保するメモリー量をゼロ(0
)にすると、一時的メッセージ用の領域は確保されません。一時的メッセージ用のメモリー領域の指定の詳細は、qspacecreate
とqspacechange
を参照してください。この場合、一時的メッセージをキューに登録しようとしても失敗します。これは、サービスの配信基準が指定されていないメッセージを、デフォルトの配信ポリシーがnonpersist
に設定されたキューに登録するときにも当てはまります。-n
オプションは、コマンドを自動実行する際のしきい値を指定します。非永続ストレージ領域の値がしきい値に達すると、コマンドが自動的に実行されます。nhigh
は、コマンドncmd
を実行するタイミングを指定します。nhigh
が上限に達したときは、コマンドを再度実行する前にnlow
を下限に戻しておく必要があります。-n
オプションを指定する場合は、nhigh
、nlow
およびncmd
を共に指定する必要があります。これらを指定していないと、コマンドは失敗します。ncmd
の値は、空文字列として指定することもできます。-n
オプションを指定していなくても、情報の入力を求めるプロンプトは表示されません。メモリー容量(キュー内の非永続的データの量)のしきい値は、バイト(b
)、ブロック(B
)、またはパーセンテージ(数字
の後に%
を付ける)のいずれかのタイプで指定できます。nhigh
とnlow
のしきい値は、同じタイプにする必要があります。たとえば、nhigh
が100%に設定されている場合、nlow
もパーセンテージで指定しなければなりません。nlow
のしきい値のタイプは省略可能です。-n
オプションが指定されていない場合、一時的メッセージ用のデフォルトのしきい値は変更されません。ncmd
に空白を使用する場合は、空白を二重引用符で囲む必要があります。しきい値[ . . . [high
[low
[cmd
]]] . . . ]の接尾辞m
は、永続的メッセージと一時的メッセージを含むキュー内にあるすべてのメッセージに適用されるため、nhigh
とnlow
は使用できません。接尾辞-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
]
qscan
コマンドを使って設定します。選択基準が何も設定されていない場合、キューにあるすべてのメッセージが変更されます。デフォルトでは、期限を設定する前に確認がリクエストされます。-yオプションを指定すると確認は行われません。newtime
の値には、現在時刻からの相対時間、絶対時間またはnone
を指定できます。newtime
の値がコマンドラインに指定されていない場合、その入力を求めるプロンプトが表示されます。キューに登録されるメッセージのうち、メッセージ期限をサポートしていないバージョンのOracle Tuxedo ATMIシステムによって登録されたものについては、値の変更を行うキュー・マネージャがメッセージ期限をサポートしていても、期限を設定できるように変更することはできません。このようなOracle Tuxedo ATMIシステムのバージョンによってキューに登録されたメッセージがqchangeexp
の対象に含まれている場合、選択されたメッセージのうちのいくつかがこの制限により変更されなかったことを知らせるエラー・メッセージが表示されます。相対時間による期限は、キュー・マネージャのプロセスでリクエストを受け取った時点からの相対時間です。相対時間のnewtime
の形式は+
seconds
です。seconds
は、操作をキュー・マネージャが正常に処理してから有効期限に達するまでの経過秒数です。seconds
がゼロ(0
)に設定されている場合、メッセージはすぐに期限切れになります。絶対時間による期限は、キュー・マネージャ・プロセスが存在するマシンの時間によって決まります。絶対時間のnewtime
の形式はYY
[MM
[DD
[HH
[MM
[SS
]]]]]です。これについては、qscan
の項で説明します。newtime
の値には、文字列none
を設定することもできます。この場合、対象となるメッセージが期限切れになることはありません。
qchangeprio
(qcp
) [-y
] [newpriority
]
-y
オプションを指定していないかぎり、変更が行われる前に確認を求められます。qlist
コマンドを実行して、どのメッセージが変更されるのかを調べることをお薦めします(入力ミスを少なくするためです)。newpriority
の値は、メッセージが処理のために転送される際に使用される、新しい優先順位を指定します。優先順位の範囲は、1以上100以下の値でなければなりません。コマンドラインで指定していないと、入力するよう求められます。
qchangequeue
(qcq
) [-y
] [newqueue
]
qset
コマンドを使用して設定し、移動対象のメッセージを選別する選択基準はqscan
コマンドを使用して設定します。選択基準が何も設定されていない場合、キューにあるすべてのメッセージが変更されます。-y
オプションを指定していないかぎり、変更が行われる前に確認を求められます。qlist
コマンドを実行して、どのメッセージが変更されるのかを調べることをお薦めします(入力ミスを少なくするためです)。newqueue
の値は、メッセージの移動先のキューの名前を指定します。コマンドラインでnewqueue
の値がコマンドラインに指定されていない場合、その入力を求めるプロンプトが表示されます。メッセージのサービスの配信レベルは、newqueue
のデフォルトの配信ポリシーに一致するようには変更されません。
qchangetime
(qct
) [-y
] [newtime
]
-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
) [-d
persist
|nonpersist
] [-n
nhigh
,
nlow
,
ncmd
] -e
default_relative_expiration_time
]queue_name
[qorder
[out-of-order
[retries
[delay
[high
[low
[cmd
]]]]]]]]
msgid
の前に登録)、再試行の回数、各再試行の間の遅延時間(秒)、しきい値コマンドを実行するための上限値と下限値、および永続的メッセージに対するしきい値コマンドそのものを指定できます。
fifo
、lifo
、priority
、expiration
およびtime
です。キューの順序を指定する際には、最も重要なソート値を最初に、次に重要なソート値をその後に、というようにして指定します。fifo
やlifo
は、最も重要度の低い(または唯一の)ソート値としてのみ指定できます。fifo
もlifo
も指定しない場合のデフォルトの設定はfifo
になり、これは、他のソート基準の指定範囲内で適用されます。expiration
が指定されている場合、期限が指定されていないメッセージは、期限付きメッセージがすべてキューから取り出された後に取り出されます。複数のソート値を、カンマで区切って指定することができます。out-of-orderの値は、none
、top
またはmsgid
です。top
とmsgid
の両方を、カンマで区切って指定することができます。しきい値を使用すると、永続的メッセージについてしきい値に達したときに、コマンドが自動的に実行されます。上限は、コマンドを実行する時期を指定します。上限に達した場合は、コマンドを再度実行する前に下限に戻しておく必要があります。たとえば、この制限値が100メッセージと50メッセージである場合は、キューのメッセージ数が100になったときにコマンドが実行されます。そして、そのキューが排出されてメッセージ数が50を下回り、メッセージが再度増えて100に達するまではコマンドは再実行されません。キューの容量の指定は、キューが使用するバイト数またはブロック数(接尾辞"b
"または"B
"を後に付けた数字)、キューが使用するキュー・スペースに対する割合(
"%
"を後に付けた数字)、またはキューの全メッセージ数(
"m
"を後に付けた数字)を使用して行えます。上下のしきい値のタイプは、同じでなければなりません。メッセージ(m
)接尾辞は、永続的メッセージと一時的メッセージの両方に適用されます。その他のしきい値の接尾辞は、永続的メッセージにのみ適用されます。-n
オプションを使用して、一時的メッセージのしきい値を指定します。下限しきい値にタイプを指定するかどうかは省略可能ですが、指定する場合は、上限しきい値のタイプと一致させなければなりません。コマンドラインで指定する場合、空白文字を含むしきい値コマンドは二重引用符で囲みます。再試行回数(retry)は、メッセージをキューから取り出してトランザクションをロールバックし、再びキューにメッセージを戻す、という処理を実行できる最大回数を示します。再試行までの遅延時間も指定できます。再試行回数に達すると、メッセージはキュー・スペースに定義されるエラー・キューに移動されます。エラー・キューが定義されていない場合、メッセージは削除されます。優先順位の低いメッセージは、他に優先順位の高いメッセージがある場合でも、10のメッセージがたまるごとにキューから取り出されます。-d
オプションは、キューのデフォルトの配信ポリシーを指定します。-d
オプションに有効な値は、persist
とnonpersist
です。デフォルトの配信ポリシーがpersist
の場合、明示的に配信モードが指定されずにキューに登録されているメッセージは、永続的(ディスク・ベース)配信方式で配信されます。配信ポリシーがnonpersist
の場合は、明示的に配信モードが指定されずにキューに登録されているメッセージは、一時的(メモリー内)配信方式で配信されます。-d
オプションが指定されない場合には、情報の入力を求めるプロンプトは表示されず、デフォルトの配信ポリシーはpersist
です。デフォルトの配信ポリシーが変更されても、すでにキューに入っているメッセージについては、サービスの配信基準は変更されません。メモリー領域の不足やフラグメント化のために一時的メッセージをキューに登録できない場合、メッセージ用の永続ストレージが十分にあってもキューへの登録操作は失敗します。ディスクの不足やフラグメント化のために永続的メッセージをキューに登録できない場合、メッセージ用の非永続ストレージが十分にあってもキューへの登録操作は失敗します。キュー・スペースの中の一時的メッセージ用に確保するメモリー量をゼロ(0
)にすると、一時的メッセージ用の領域は確保されません。一時的メッセージ用のメモリー領域の指定の詳細は、qspacecreate
とqspacechange
を参照してください。この場合、一時的メッセージをキューに登録しようとしても失敗します。これは、サービスの配信基準が指定されていないメッセージを、デフォルトの配信ポリシーがnonpersist
に設定されたキューに登録するときにも当てはまります。-n
オプションは、コマンドを自動実行する際のしきい値を指定します。非永続ストレージ領域の値がしきい値に達すると、コマンドが自動的に実行されます。nhigh
は、コマンドncmd
を実行するタイミングを指定します。nhigh
が上限に達したときは、コマンドを再度実行する前にnlow
を下限に戻しておく必要があります。-n
オプションを指定する場合は、nhigh
、nlow
、およびncmd
を共に指定する必要があります。これらを指定していないと、コマンドは失敗します。ncmd
の値は、空文字列として指定することもできます。-n
オプションを指定していなくても、情報の入力を求めるプロンプトは表示されません。メモリー容量(キュー内の非永続的データの量)のしきい値は、バイト(b
)、ブロック(B
)、またはパーセンテージ(数字
の後に%
を付ける)のいずれかのタイプで指定できます。nhigh
とnlow
のしきい値は、同じタイプにする必要があります。たとえば、nhigh
が100%に設定されている場合、nlow
もパーセンテージで指定しなければなりません。nlow
のしきい値のタイプは省略可能です。-n
オプションが指定されていない場合、nhigh
には100%
、nlow
には0%
がそれぞれデフォルト値として使用され、ncmd
は" "
に設定されます。ncmd
に空白を使用する場合は、空白を二重引用符で囲む必要があります。しきい値[ ...[high
[low
[cmd
]]] ...]の接尾辞m
は、永続的メッセージと一時的メッセージを含むキュー内にあるすべてのメッセージに適用されるため、nhigh
とnlow
は使用できません。接尾辞-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
][-d
delivery_mode
] [-e
time1
[-
time2
]] | none
}]
qchangeprio
、qchangequeue
、qchangetime
、qdeletemsg
およびqlist
に使用する選択基準を設定します。引数none
は、選択基準がないことを示します。この場合は、すべてのメッセージが対象になります。引数なしでこのコマンドを実行すると、現在の選択基準値が表示されます。コマンドライン・オプションで値の範囲を指定する場合(-t
、-e
、-p
など)、値の範囲に空白を入れることはできません。-t
オプションは、時間の値または時間の範囲を示すために使用できます。time1
とtime2
の形式は、YY
[MM
[DD
[HH
[MM
[SS
]]]]]です。それぞれ、年、月、日、時、分、秒を指定します。この日時の値から省略した単位は、デフォルト値として、可能な範囲内の最小値が使用されます。たとえば、"7502"とすると"750201000000"とみなされます。年の値を00 - 37とすると2000 - 2037とみなされ、70 - 99とすると1970 - 1999とみなされ38 - 69とすると無効になります。-p
オプションは、優先順位の値または優先順位の範囲を示すために使用できます。優先順位の値は、1以上100以下の範囲になります。-m
オプションは、メッセージ識別子の値を示すために使用できます。メッセージ識別子の値は、キューにメッセージが登録されるときにシステムがメッセージに割り当てた値です。メッセージ識別子は、1つのキュー内で固有の値を持ち、この値の長さは32文字以内です。32文字未満の値は、右側にNULL (0x0)が埋められます。円マークおよび表示不可能な文字(スペース、改行、タブなどの空白文字)を入力するときは、円マークの後にその文字を表す2桁の16進値を付けた値を入力しなければなりません。たとえば、スペースは¥20なので「hello¥20world」
と入力します。-i
オプションは、メッセージに関連付けられている相関識別子の値を示すために使用できます。この識別子の値は、アプリケーションによって割り当てられ、キューに登録されたメッセージと一緒に格納され、応答メッセージまたはエラー・メッセージのレスポンスと一緒に格納するために渡されて、アプリケーションが特定のリクエストに対するレスポンスを識別できるようにします。この値の長さは32文字以内です。32文字未満の値は、右側にNULL (0x0)が埋められます。円マークおよび表示不可能な文字(スペース、改行、タブなどの空白文字も含む)を入力するときは、円マークの後にその文字を表す2桁の16進値を付けた値を入力しなければなりません(たとえば、スペースは¥20なので、“my¥20ID¥20value”のようにします)。
-d
delivery_mode
オプションの有効な値は、persist
とnonpersist
です。このオプションは、qscan
で選択されるメッセージの配信モードを指定します。これにより、オペレータは配信方式に基づいた操作ができます。-e
オプションは、期限または期限の範囲を示すために使用できます。time1
とtime2
の形式は、-t
オプションのtime1
とtime2
の形式と同じです。
qset
[queue_name
]
qchangeprio
、qchangequeue
、qchangetime
、qdeletemsg
および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
]]]]]
pages
、queues
、(同時) transactions
、processes
および(キュー内) 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
、キュー・スペース用に割り当てる物理ページ数、キューの数、同時トランザクションの数、一度にキュー・スペースにアタッチされているプロセスの数、一度にキューに登録できるメッセージの数、キュー・スペース用のエラー・キューの名前、キュー・スペースの新しいエクステント上でページを初期化するかどうか、およびキュー・スペースの初期化やウォーム・スタート・ディスク入出力を行うためのブロッキング要素。
.
)が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の -n nonpersistent_msg_memoryオプションを参照してください。
quit
(q
)
verbose
(v
) [{off
| on
}]
!
shellcommand
!!
#
[text
]
$ 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: 20
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サーバー環境がサポートされるプラットフォームで実行できます。
qchange ...Queue capacity
コマンドなど、qmadmin()
セッション内で構成したコマンドを実行するために、WindowsのCreateProcess()
関数は、子プロセスをDETACHED PROCESS
として生成します。このようなプロセスには、標準入出力のための関連コンソールがありません。したがって、たとえば、標準コマンドライン構文を使ってdir
やdate
などの組込みコマンドを実行するqchange ... Queue capacity
を設定した後で、標準出力をファイルにパイプまたはリダイレクトすると、コマンド実行が完了した時点でそのファイルは空になります。
この問題を解決する方法として、たとえば、qchange ... Queue capacity command
を実行するために、date /t > x.out
コマンドでファイルのdate
情報を取得します。 この処理を対話的に行うには、次のような手順で実行します。
qmadmin
> qopenyourQspace
> qchangeyourQname
>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
> qopenyourQspace
> qchangeyourQname
>go through all the setups... the threshold queue capacity warning,
> "Queue capacity command: "
and so onyourFile
.cmd
rex
pattern_file C_file
rexpattern
[file
. . . ]
引数なしで起動する場合、rex
は標準入力から正規表現を読み取り、初期化した文字配列を標準出力に書き込みます。通常、出力はCプログラムにインクルードされます。これにより、実行時間およびプログラムのサイズの両方を節約できます。コマンドrex
は、標準入力(通常は入力ファイルから切り替えられる)の正規表現をコンパイルし、出力を標準出力(通常は出力ファイルに切り替える)に書き込みます。
入力ファイルにはいくつかのパターンがあります。各形式は次のようになります。
ここでのname
は、出力配列に使用するCの名前です。string
は正規表現で、二重引用符で囲まれます。複数のstring
がname
の後に続く場合、それらは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つまたは複数の引数を指定して起動することにより、テストするデータをパターンと突き合わせることができます。最初の引数は、残りの引数で指定される名前のファイルの各行に適用されるパターン(正規表現)として扱われます。ファイル名の引数が指定されない場合、標準入力が使用されます。特殊なファイル名-
は、標準入力を指す引数として使用できます。
一致するテキストがある場合、一致したものを含む行が出力され、行の一致した部分にアンダースコアが引かれます。さらに、指定されたサブ・パターン用に抽出したすべてのテキストが、別の行に出力されます。
... 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'
tpsubscribe(3c)の正規表現の情報
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 ]
tlisten
は、ネットワーク独立のリスナー・プロセスで、Oracle Tuxedo ATMIアプリケーション・プロセッサ上でdaemonプロセスとして実行され、たとえばtmboot(1)
など、他のOracle Tuxedo ATMIプロセスに対してリモート・サービス接続を提供します。tlisten
では、次のコマンドライン・オプションが使用されます。
-d
device
-l
nlsaddr
tlisten
は、ローカル名の解決機能(通常DNS)を利用してhostname
のアドレスを見つけます。hostname
はローカル・マシンでなければなりません。ローカル名解決機能によってhostname
をローカル・マシンのアドレスに明確に解決します。 IPv4の場合、文字列#.#.#.#
はドットで区切った10進数の形式です。ドット区切りの10進数形式では、各#
には0
- 255
の数字を使用します。このドット区切りの10進数は、ローカル・マシンのIPアドレスを表します。どちらの形式の場合も、 port_number
はtlisten
プロセスが受信リクエストに対してリスニングするTCPポート番号です。port_number
は0
- 65535
の数値または名前です。 注意: | 一部のポート番号は、お使いのシステムで使用されるトランスポート・プロトコル(TCP/IPなど)のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート・プロトコルのドキュメントを調べてください。 |
port_number
に指定する名前は、ローカル・マシンのネットワーク・サービス・データベース内に存在する名前でなければなりません。 アドレスは、先頭に「 0x
」をつけ、16進形式で指定することもできます。 「 0x
」の後の各文字は、 0
- 9
の数字か、 A
- F
までの英字(大文字/小文字に関係なく)です。 16進数の形式は、IPX/SPXやTCP/IPのような任意のバイナリ・ネットワーク・アドレスに使うことができます。 アドレスはまた、任意の文字列として指定することもできます。 値は、構成ファイル内のNETWORK
セクションのNLSADDR
パラメータに指定された値と同じでなければなりません。
-s
の
SSL
オプションにSSL
値を含める必要があります。
注意: | UBBCONFiG の*Resourcesセクションとtlisten SSL の設定が同期していない場合、アプリケーションは起動しません。 |
-n sec_principal_name
-c sec_principal_location
SEC_PRINCIPAL_NAME
で指定されたプリンシパルの復号化(プライベート)キーを収めるファイルまたはデバイスの場所を指定します。 このパラメータには、最後のnull文字を除いて1023文字まで指定できます。
-p sec_principal_passvar
-u
{uid-#
| uid-name
}
tlisten
は、指定されたユーザーとして動作します。 このオプションにより、 root
によるシステムの初期化処理の一部としてtlisten
を起動できます。 tlisten
の実行ユーザーがroot
である場合には、このオプションは必須です。 したがって、 tlisten
プロセスはroot
が実行することは可能ですが、 root
としては動作しません。 tlisten
コマンドをroot
以外のユーザーが使用する場合には、 -u
オプションは必要はありません。 root
以外のユーザーは-u
オプションを設定することはできますが、このオプションにはそのユーザー自身のユーザーIDにしか設定できないので、あまり意味はありません。 プロセッサ上でのtlisten
プロセスは、使用するアプリケーション管理ユーザーIDが同じであるOracle Tuxedo ATMIアプリケーションすべてをサポートできます。
-z
[0
| 40
| 56
| 128|256
]
tlisten
との間のネットワーク・リンクを確立する場合の、最小レベルの暗号化を指定します。 0
は暗号化が行われないことを示し、 40
, 56
, 128
,および256
は暗号化キーの長さをビット単位で指定します。 ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。 デフォルト値は0
です。 注意: | リンク・レベルの暗号化の値40は、下位互換性を維持するために提供されています。 256ビットの暗号化は、現時点ではSSLを使用している場合にのみ指定できます。 |
-z
[0
| 40
| 56
| 128|256
]
tlisten
との間にネットワーク・リンクを確立する場合の、最大レベルの暗号化を指定します。 0
は暗号化が行われないことを示し、 40
, 56
, 128
,および256
は暗号化キーの長さをビット単位で指定します。 デフォルト値は128
です。 注意: | リンク・レベルの暗号化の値40は、下位互換性を維持するために提供されています。 256ビットの暗号化は、現時点ではSSLを使用している場合にのみ指定できます。 |
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 tail に追加する必要があります。 |
このファイルが見つからない場合、システムは、Oracle Tuxedo ATMIシステムがインストールされる際に作成されるTUXDIR/udataobj/tlisten.pw
を探します。長さがゼロであったり、パスワードがないファイルでは、パスワード・チェックが無効になります。この安全でないモードで実行すると、tlisten
やtlisten
に接続しているすべてのプロセスがユーザー・ログの警告メッセージを生成します。
tmboot
などのように、tlisten
からサービスをリクエストするプロセスは、認証の際に使用するパスワードをプロセスが稼働しているマシンのファイルから検索します。このとき、tlisten
と同じ方法でパスワード・ファイルを検索します。
APPDIR
は、tlisten
パスワード・ファイルの位置を検索するために設定します。 LD_LIBRARY_PATH
を TUXDIR/lib
に設定してからtlisten
プロセスを起動する必要があります。一部のUNIXシステムでは、別の環境変数が必要となる場合もあります。HP-UXシステムではSHLIB_PATH
環境変数を、AIXシステムではLIBPATH
環境変数を使用します。TMUSEIPV6
を使用します。n|N
にするとデフォルトのIPv4値になり、y|Y
にするとIPv6値に設定されます。MPモードでは、スレーブ・マシン上でtlisten
実行する前にTMUSEIPV6
にy|Y
を設定する必要があります。tlisten
を実行する前に、TUXDIR
を設定しエクスポートしておく必要があります。ULOGPFX
は、ログ・メッセージを格納しているファイルを送信するのに使用できます。注意: | インストールの間に管理パスワード・ファイルが作成されます。 Oracle Tuxedo ATMIシステムでは、必要に応じて次のディレクトリでこのファイルを検索します。検索順序は次のとおりです。 |
注意: | 管理パスワード・ファイルが確実に見つかるように、必ずAPPDIR かTUXDIR 、またはその両方の環境変数を設定してください。 |
リンク・レベル暗号化機能がtlisten
とtmboot
などのリクエスト・プロセスとの間で動作している場合は、リンク・レベル暗号化を取り決め、アクティブにしてから認証します。
SSL暗号化機能がtlisten
とtmboot
などのリクエスト・プロセスとの間で動作している場合は、SSL暗号化を取り決め、アクティブにしてから認証します。
tlisten
プロセスは通常、SIGTERM
シグナルを送ることによってしか終了できません。
システムの起動時、アプリケーションごとに1つのtlisten
プロセスを起動することをお薦めします。tlisten
を呼び出す前に、環境変数TUXDIR
およびAPPDIR
を設定しておく必要があります。
tlisten
プロセスを起動する別の方法として、手動による起動もできます。 tlisten
プロセスをアプリケーション管理者が起動する場合、-u
オプションは省略できます。 同じネットワーク・アドレスを使用してtlisten
コマンドを重複して呼び出すと、コマンドは自動的に終了し、該当するメッセージが記録されます。
tlisten
を実行するローカル・マシンがTCP/IPアドレス指定機能を使用しており、アドレスが155.2.193.18
、マシン名がbackus.company.com
であるとします。さらに、tlisten
はポート番号2334
でリクエストを受け取るとします。また、このポート番号2334
がbankapp-nlsaddr
という名前のネットワーク・サービス・データベースに追加されているとします。-l
オプションで指定するアドレスは、次に示す方法で表現できます。
//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は16進数に変換されたポート番号2334です。 その後、IPアドレス155.2.193.12の各要素は16進数に変換されています。 つまり、155は9B、2は02というようになります。
//[fe80::202:55ff:fecf:50b]:9010
注意: | 注意: IPv6では16進数形式はサポートされません。 |
STARLAN
ネットワークの場合は、通常、推奨アドレスuname
.tlisten
がユニークな名前になります。
コントロール・パネル・アプレットを介してリモートWindowsマシン上でtlisten
プロセスを起動するためには、そのリモート・マシンに対する管理者権限が必要です。
『Oracle Tuxedoのセキュリティ機能』の「ATMIのセキュリティについて」
tlistpwd(1)
- システムによって暗号化されたtlisten.pw
ファイルに対してパスワードを追加または変更するために使用
tlistpwd $TUXDIR
パスワードが入力されると、tlisten.pw
ファイルが暗号化されます。新しいパスワードを追加する場合は、tlistpwd(1)
を使用する必要があります。新しいパスワードは$TUXDIR/udataobj/tlisten.pw.
の最後に追加されます。既存のパスワードを削除するには、tlisten.pw
の対応する行を削除する必要があります。
注意: | 新しいパスワードは画面には表示されません。 |
tlisten
パスワードを作成および使用する場合は、全く同じTUXDIR
を使用する必要があります。
tlistpwd(1)
は、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
正常に実行された場合、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".
tlisten(1)
、『Oracle Tuxedoのセキュリティ機能』の「ATMIのセキュリティについて」
tmadmin
- Oracle Tuxedo掲示板コマンド・インタプリタ
tmadmin [ -r ] [ -c ] [ -v ]
tmadmin
は、以下に説明するコマンドを持ち、単一プロセッサ、マルチプロセッサ、あるいはネットワーク環境において掲示板や関連するエンティティ(クライアント、サーバー、サービス等のそれぞれの情報)の検査および修正を行うときに使用します。TUXCONFIG
およびTUXOFFSET
環境変数を使用して、Oracle Tuxedoの構成ファイルがロードされた場所とオフセットを決定します。tmadmin
では、以下のオプションがサポートされます。
-c
-c
オプションを使用してtmadmin
を呼び出すと、構成モードになります。有効なコマンドは、default
、echo
、help
、quit
、verbose
、livtoc
、crdl
、lidl
、dsdl
、indl
およびdumptlog
です。tmadmin
は、非アクティブ状態のノードも含め、どのノードでもこのモードで呼び出せます。tmadmin
が実行中のBBL
を介してアプリケーションに管理者プロセスまたはクライアントとして結合できる場合には、そのノードがアクティブであるとみなされます。
-r
-r
オプションを使用すると、tmadmin
は、管理者としてではなくクライアントとして掲示板に参加します。つまり、読取り専用モードをリクエストします。これは、管理者プロセス用スロットを非占有状態にしておく場合に有用です。注意: | -r オプションを使用すると、このオプションなしでtmadmin を実行した際に取得される情報の一部しか得られないことに注意してください。特に、tmadmin -r を実行した場合、リモート・サイトで動作しているサーバーの負荷値は取得できません。 |
tmadmin
プロセスのみです。Oracle Tuxedo管理者以外のユーザーが-r
オプションを指定し、セキュリティがオンになっている場合、ユーザーはパスワードを求められます。
-v
-v
オプションを使用してtmadmin
を実行すると、Oracle Tuxedoのバージョン番号とライセンス番号が表示されます。情報を出力した後、tmadmin
は終了します。その他2つのオプションは、-v
オプションと共に使用しても無視され、-v
オプションによってリクエストされる情報だけが表示されます。
通常、tmadmin
はアクティブ・アプリケーション内であれば、任意のアクティブ・ノード上で実行できます。パーティション化されているアクティブ・ノード上で実行する場合、使用できるコマンドはローカル掲示板への読取り専用のアクセスを行うものに限られます。これらのコマンドには、bbls
、bbparms
、bbstat
、default
、dump
、dumptlog
、echo
、help
、interfaceparms、printactiveobject、printclient
、printinterface、printfactory、printnet
、printqueue
、printroute、printserver
、printservice
、printtrans
、printgroup
、reconnect
、quit
、serverparms
、serviceparms
およびverbose
があります。これらのほか、構成コマンドも使用できます。このパーティション化ノードがMASTER
のバックアップ・ノードである場合(構成ファイルのRESOURCES
セクションでMASTER
パラメータの2つ目のエントリとして指定)、master
コマンドを使用して、パーティション化アプリケーションのこの部分のMASTER
にこのノードを設定することも可能です。
アプリケーションがアクティブ状態でない場合、tmadmin
はMASTER
プロセッサ上でしか実行できません。このモードでは、すべての構成モード・コマンドと共に、TLOG
コマンド(crlog
、dslog
およびinlog
)とboot
も利用できます。
tmadmin
が呼び出された後は、次に示す構文に従って、プロンプト(>
)からコマンドを入力してください。
共通して出現するいくつかの引数には、default
コマンドを使用してデフォルト値が与えられます。default
コマンドによって設定されたパラメータを受け付けるコマンドは、default
に値が設定されているかどうかを調べます。値が設定されていない場合は、エラー・メッセージが戻されます。
ネットワーク環境またはマルチプロセッサ環境では、default
machine
を設定して単一の掲示板にアクセスできます。このマシン(machine)には、UBBCONFIG
ファイルのMACHINES
セクションで記述される論理machine ID
(LMID
)を指定します。default
machine
にall
を設定すると、すべての掲示板にアクセスできます。machine
にDBBL
を設定すると、特別掲示板が指定されます。default
machine
はプロンプトの一部(たとえばMASTER>
)として表示されます。
default
コマンドによってmachine
が設定されていない場合、DBBL
が使用されます。SHM構成ではローカルBBLが使用されます。
コマンド用のmachine
の値は、通常、default
設定から取得されます(たとえば、printserver
など)。ただし、一部のコマンド(TLOG
コマンドなど)は、TUXCONFIG
を介して見つかったデバイスに作用するので、注意が必要です。DBBL
またはall
のdefault
設定がエラーになります。logstart
のような一部のコマンドの場合、コマンドラインにmachine
の値を指定する必要があります。この値は、-m
オプションの引数としては表示されません。
一度設定したデフォルト値は、default
コマンドで変更しないかぎり、セッション終了まで有効です。このデフォルト値は、コマンドラインで明示的に値を入力してオーバーライドするか、「*」を入力して設定解除します。オーバーライドの効果は、コマンドの単一のインスタンスの間有効です。
tmadmin
コマンドの出力は、ページ別表示コマンドを指定することでページ別に表示できます。後述のpaginate
サブコマンドの説明を参照してください。
詳細情報または要約情報を出力するコマンドがあります。verbose
コマンドは、デフォルトの出力レベル設定に使用します。ただし、各コマンド(boot
、shutdown
およびconfig
を除く)には、そのコマンドのみ詳細または要約情報を出力するための-v
または-t
オプションがあります。要約モードで出力すると、一部の情報(LMID
またはGROUP
名、サービス名、サーバー名など)は省略されることがあります。省略された場合は、値の末尾にプラス記号(+)が付加されます。情報をすべて表示するには、詳細モードでコマンドを再入力します。
コマンドは、そのフルネームあるいは(カッコ内に示される)省略名のいずれかで入力し、適切な引数が続きます。大カッコ[ ]で囲まれた引数は省略可能です。中カッコ{ }で囲まれた引数は相互に排他的な選択肢を示します。該当するデフォルト値がdefault
コマンドで設定されている場合は、そのコマンド・オプションをコマンドラインで指定する必要がないことに注意してください。{}で囲まれたオプションのグループに続く...
は、コマンドラインで1つ以上(少なくとも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} service[:func]
service
は関数func
にマッピングすることができます。qaddress
が指定されていない場合は、groupname
とsrvid
を指定し、サーバーを一意に識別する必要があります。このservice
をMSSQセットに追加する場合には、そのセットのすべてのサーバーでこのサービスを公開します。MSSQセットの一部のサーバーしかそのサービスを公開できない場合は、その公開全体が無効です。文字「.」で始まるサービスはシステム・サーバーで使用するために予約されているため、アプリケーション・サーバーでは公開できません。
bbclean (bbc)
machine
machine
上の掲示板のすべてのアクセス・プロセス、およびDBBL
の整合性をチェックします。bbclean
は、停止したサーバーを適切に削除し、それが再起動可能であれば再起動します。また、どのプロセスからも利用されていないリソースがあれば、それらも削除します。最後にbbclean
は、各BBL
のステータスをDBBL
にチェックさせます。SCANUNIT
の時間内に応答しないBBL
は、パーティション化された掲示板としてマークされます。特殊掲示板のみをクリーンアップするには、machine
にDBBL
を指定します。SHMモードでは、bbclean
はBBL
を再起動します(失敗した場合)。machine
パラメータは任意です。
bbparms
(bbp
)
bbsread
(bbls
) machine
bbstats (bbs)
boot (b) [
options
]
broadcast
(bcst
) [-m machine] [-u usrname] [-c cltname] [text]
STRING
型の型付きバッファで、text
で指定されたデータが入ります。ただし、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
が指定されない場合、サーバーを一意に識別するためにgroupname
とsrvid
を必ず指定する必要があります。CORBA環境では、interface
を指定します。machine
がall
であるか、設定されていない場合には、全マシンに対して変更がなされます。それ以外の場合は、ローカルの変更は指定したmachine
でのみ有効となります。ローカルの修正は、引き続くグローバル(またはローカル)の変更によってオーバーライドされます。
changemonitor
(chmo
) [-m machine] [-g groupname] [-i serverid] 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
が指定されない場合、サーバーを一意に識別するためにgroupname
とsrvid
を必ず指定する必要があります。CORBA環境では、interface
を指定します。machine
がall
であるか、設定されていない場合には、全マシンに対して変更がなされます。それ以外の場合は、ローカルの変更は指定したmachine
でのみ有効となります。ローカルの変更は、それに続くグローバル(またはローカル)の変更によってオーバーライドされます。
changetrace
(chtr
) [-m machine] [-g groupname[-R rmid]] [-i srvid] newspec
-R rmid
オプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。-R
オプションは-g
オプションとともに使用し、rmid
は1
以上31
以下でなければなりません。実行中の特定のサーバー・プロセスのトレース仕様を変更するには、-g
および-i
オプションを指定します。特定のグループで現在実行中のすべてのサーバー・プロセスの構成を変更するには、-g
オプションを-i
オプションなしで指定します。特定のマシンで実行中のすべてのクライアントおよびサーバー・プロセスの構成を変更するには、-m
オプションを指定します。-g
、-i
および-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
が指定されない場合、サーバーを一意に識別するためにgroupname
とsrvid
を必ず指定する必要があります。CORBA環境では、interface
を指定します。machine
がall
であるか、設定されていない場合には、全マシンに対して変更がなされます。それ以外の場合は、ローカルの変更は指定したmachine
でのみ有効となります。ローカルの変更は、それに続くグローバル(またはローカル)の変更によってオーバーライドされます。
committrans (commit) [ -yes ] [-g groupname[-R rmid]]
tranindex
tranindex
に対応するトランザクションを指定サーバー・グループでコミットします。トランザクションが指定サーバー・グループでプリコミットされていなかった場合、あるいはトランザクションが「中断のみ」として認識されている場合は、committrans
は異常終了します。索引には、printtrans
コマンドを前回実行したときの結果が使用されます。-yes
オプションを指定せずにこのコマンドを実行すると、処理を進める前に確認を求められます。
-R
rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。-R
オプションを-g
オプションとともに使用し、rmid
が、1
以上31
以下でなければなりません。
config
(conf
)
configtsam (ct) status | enable | disable | load fromfile | unload [tofile]
REPORT_POLICY
は引き続き有効である点に注意してください。
crdl
-b
blocks
-z
config
-o
configoffset
[ -O
newdefoffset
] [ newdevice
]
blocks
は、デバイスに割り当てる物理ブロック数を指定します。デフォルトのblocks
値は、1000ブロックに初期化されます。configoffset
は、割当て開始空間のブロック番号を指定します。-o
オプションを指定せず、デフォルト値も設定されていない場合は、環境変数FSOFFSET
の値が使用されます。FSOFFSET
が設定されていない場合、デフォルトで0になります。config
引数には、最初のデバイス(デバイス・リストを格納している)を指定します。これは、/で始まる絶対パス名でなければなりません。-z
オプションを指定せず、デフォルト値も設定されていない場合は、FSCONFIG
環境変数に指定されているパスが使用されます。crdl
コマンドへのnewdevice
引数を指定する場合、この引数には作成するデバイスを指定します。これは、/で始まる絶対パス名でなければなりません。このパラメータの指定を省略すると、newdevice
はデフォルトで構成デバイスになります。newdefoffset
はnewdevice
の先頭へのオフセットを指定します。デフォルトの-O
オプション(大文字のO)と共に指定されていない場合、デフォルトで0 (ゼロ)が設定されます。
crlog
(crlg
) -m
machine
machine
(「DBBL」または「all」は設定できません)に対してDTPトランザクション・ログを作成します。構成ファイルTLOG
がそのマシン用に定義されていなければ、エラーになります。このコマンドはTUXCONFIG
ファイルを参照して、TLOG
を格納しているOracle Tuxedoファイル・システム、そのファイル・システム内でのTLOG
の名前、オフセットおよびサイズを判別します(「UBBCONFIG(5)」を参照)。
ctsamverify (cv) fname
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]
-a
オプションについては、printservice
を参照してください。CORBA環境では、対応する引数に、デフォルトのオブジェクトのインタフェース名、オブジェクトIDまたはファクトリ・ベースのルーティング名を設定することもできます。-Bを使用してオブジェクトIDパラメータが指定されている場合、マシン引数(-m
)を指定する必要もあります。すべてのデフォルト値は、引数として*を指定することにより設定を解除できます。machine
に設定されている場合、以降の検索を特殊掲示板から行わせるには、machine
にDBBL
を設定する必要があります。machine
の設定解除(-m
*
)はDBBL
の設定と等値です。default
コマンドを引数なしで入力した場合は、現在のデフォルトの値が表示されます。
dsdl
[ -yes
] -z
config
[ -o
offset
] dlindex
dlindex
引数は、汎用デバイス・リストから削除されるデバイスのデバイス・リストにおける索引です。ただし、エントリ0はVTOC
ファイルとその他のデバイス・リスト・エントリをすべて最初に破棄した後でなければ破棄できません(エントリ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
dumptlog
(dl
) -z
config
[ -o offset ] [ -n name ] [-g groupname[-R rmid]]
filename
TLOG
のテキスト・バージョンを、指定されたfilename
にダンプします。TLOG
は指定のconfig
およびoffset
にあり、指定の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
}]
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
オプションを指定せずにこのコマンドを実行すると、処理を進める前に確認を求められます。
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
TLOG
のテキスト・バージョンを、指定したfilename
(dumptlog
により生成される)から、名前付きまたはdefault
machine
(「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
shutdown -R -l
machine
migratemachine
コマンドを使用する場合には、machine
上のすべてのサーバー・グループは同じ代替位置を持つ必要があります。そうでない場合はmigrategroup
を使用してください。Domainsゲートウェイ・サーバーを含むLMID
の移行は、これらのゲートウェイ・サーバーを代替LMID
に移行することを意味します。-cancel
オプションを指定すると、進行中の移行が取り消されます。つまり、tmshutdown -R
コマンドによってサーバーは停止されていますが、移行されていない状態です。
paginate
(page
) [{off | on
}]
でないかぎり、初期設定はonです。標準入力と標準出力の両方が端末デバイス
の場合にのみonに設定できます。
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
を指定すると、「アプリケーション名またはプロセスID」という表題とプロセスID (PID)が追加されます。
printconn
(pc
) [-m
machine
]
-m
オプションやデフォルト値を使用することにより、情報を指定したマシンに対する接続に関するものに限定することができます。machine
の値に「all」または「DBBL」を設定すると、すべてのマシンの情報が出力されます。
printactiveobject (pao)
[-B
objectid
] [-m
machine
]
printfactory (pf)
printgroup
(pg
) [-m machine] [-g groupname]
-g
および-m
オプションやデフォルト値を使用して、特定のグループやマシンに関する情報を出力できます。サーバー・グループ名、サーバー・グループ番号、一次/代替LMIDおよび現在の位置などの情報が得られます。
printinterface (pif)
[-m
machine
] [-g
groupname
] [-I
interface
]
printnet
(pnw
) [ mach_list
]
printnet
コマンドでは、複数のマシン(LMID
)をカンマで区切ったリストを引数として指定できます。このようなリストを指定した場合は、指定マシンが関係するネットワーク接続情報が表示されます。各マシンについて、パーティション化されているかどうかが示されます。パーティション化されていない場合、そのマシンが接続されるLMIDとメッセージの送受信回数を表す情報が表示されます。
printqueue
(pq
) [qaddress
]
qaddress
コマンドラインまたはデフォルト値は指定したキューに関する情報を制限するために使用されます。出力される情報には、キューが存在するサーバー名、マシンの名前があります。
printroute (pr) [-r routingname]
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
以下でなければなりません。
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から呼び出せるシステム・サービスも表示します。
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
に対しエラーを通知することなく、リクエストを引き続き受け付け、バッファに格納します。この場合、再接続
は失敗し、リモート・マシンがアクセスできないことをBRIDGE
が認識するようにします。ほとんどの場合、ネットワーク障害が解決すればBRIDGE
は自動的に再接続を行い、reconnect
による手作業での再接続は必要ありません。
resume
(res
) {-q
qaddress
| -g
groupname
| -i
srvid
| -s
service
| -I
interface
} . . .
-q
、-g
、-s
、-Iおよび-i
オプションは、キュー、グループ、サービス、インタフェース(CORBA環境でのみ)、およびサーバー (少なくともこれらのオプションの1つが指定されるかデフォルトの値を持たなければなりません)の組合せにより再開されたサービスを制限するために使用されます。したがって、次のコマンドラインを使用すると、アドレスservq8
のキューで公開されているすべてのサービスを簡単に再開できます。
serverparms
(srp
) -g
groupname
[-R rmid]-i
srvid
-R rmid
オプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。-R
オプションを-g
オプションとともに使用し、rmidが、1
以上31
以下でなければなりません。
serviceparms (scp) -g
groupname
-i
srvid
-s
service
shmstats
(sstats) [ ex
| app
]
MODEL SHM
を指定すると、shmstats
を使用してより正確な統計情報を得ることができます。引数なしで入力すると、shmstats
は掲示板構造体内のbbparms.options
メンバーのTMACCSTATS
フラグの現在の設定を戻します。これにより、収集している統計情報が正確なものか、大まかなものかが判別できます。ex
オプションを指定すると、shmstats
はTMACCSTATS
フラグをオンにして掲示板をロックします。またサーバー表、キュー表およびサービス表エントリのカウンタをゼロにリセットします。
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
のキューで公開されているすべてのサービスを簡単に中断できます。
unadvertise
(unadv
) {-q
qaddress
[-g
groupname
] [-i
srvid
] | -g
groupname
-i
srvid
} service
service
についてサービス表のエントリを除去します。qaddress
が指定されていない場合は、groupname
とsrvid
を指定し、サーバーを一意に識別する必要があります。キューまたはそのキューにある特定のサーバーを指定しても結果は同じです。複数サーバーの単一キュー(MSSQ)のセットからこのservice
を削除すると、service
の公開は、キューから読み込まれるすべてのサーバーから削除されます。
verbose
(v
) [{off
| on
}]
off
です。コマンドごとに、-v
(詳細)および-t
(簡潔)オプションを使用して、現在の設定を一時的にオーバーライドできます。
!
shellcommand
!!
#
[text
]
管理者としてtmadmin
を実行する場合、セキュリティ機構は通りません。すでにアプリケーション管理者のログインIDであることが確認済みであるためです。
tmadmin
をアプリケーション管理者以外のユーザーとして実行できる唯一のケースは、そのアプリケーションをクライアントとしてアクセスするよう-r
オプションが使用されている場合です。このようなユーザーが-r
オプションを指定してtmadmin
を呼び出した場合、そのアプリケーションに対してセキュリティ機構が働き、アプリケーションのデータにアクセスする際にはそのアプリケーションのパスワードが必要になります。標準入力が端末である場合、tmadmin
はユーザーにパスワードの入力を求めてきます。なお、パスワードの入力時には、その文字は画面上には表示されません。標準入力が端末でない場合には、このパスワードは環境変数APP_PW
から取得されます。この環境変数の指定がなく、アプリケーション・パスワードが必要な場合には、tmadmin
は異常終了します。
tmadmin
は、-r
オプションの指定がある場合、またはこれをアプリケーション管理者として登録できない場合、アプリケーション・クライアントとして働きます。このような場合、標準入力が端末でないときには、保護アプリケーションのアプリケーション・パスワードをAPP_PW
環境変数に設定しなければなりません。
システムのブート前にtmadmin
コマンドを入力すると、次のようなメッセージが表示されます。
No bulletin board exists. Entering boot mode
>
その後、tmadmin
はboot
コマンドが入力されるのを待機します。
-c
オプションを指定せずに、MASTER
以外の非アクティブなノードからtmadmin
コマンドが入力されると、次のメッセージが表示され、コマンドは終了します。
Cannot enter boot mode on non-master node.
間違ったアプリケーション・パスワードが入力されたり、入力したパスワードが環境を通してシェル・スクリプトで利用できない場合には、ログ・メッセージが生成され、次のメッセージが表示されてコマンドが終了します。
Invalid password entered.
tmadmin
は、相互操作可能なアクティブ・アプリケーション内であれば任意のノード上で実行可能です。ただし、利用可能なコマンドやコマンドライン引数は、tmadmin
が動作しているノードに対応するリリースでtmadmin
から利用できるものに限定されています。たとえば、broadcast
、passwd
およびprintclient
などのコマンドはリリース4.1のノードでは利用できません。
tmadmin
は、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
machine
オプションは、ネットワーク化されていない単一プロセッサ環境では何の効果も得られません。
tmboot(1)
、tmloadcf(1)
、tmshutdown(1)
、compilation(5)、UBBCONFIG(5)
tmboot
[-l
lmid
][-g
grpname
] [-i
srvid
] [-s
aout
] [-o
sequence
][-S] [-A] [-b] [-B
lmid
][-e
command
] [-w] [-y] [-g]
[-n] [-c] [-m] [-M] [-d1]
tmboot
は、オプションの指定に従ってOracle Tuxedoアプリケーション全体あるいはその一部を起動します。tmboot
は、掲示板の管理者(構成ファイルのUID
で指示されている)あるいはroot
しか呼び出せません。また、tmboot
コマンドは、構成ファイルのRESOURCES
セクションでMASTER
として指定されているマシン、あるいはMASTER
として機能するバックアップ・マシン(つまり、tmadmin(1)
のmaster
コマンドによりDBBL
がすでに稼働状態である)上でしか呼び出せません。ただし、これは-b
オプションを指定した場合を除きます。この場合は、MASTER
と指定しなくても、バックアップ・マシンからシステムを起動できます。
オプションなしの場合、tmboot
はすべての管理プロセスと環境変数TUXCONFIG
とTUXOFFSET
に指定されている構成ファイルのSERVERS
セクションにリストされているすべてのサーバーを実行します。MODEL
がMP
の場合、RESOURCES
セクションのMASTER
パラメータで指定されたマシン上でDBBL
管理サーバーが起動します。管理サーバー(BBL
)は、MACHINES
セクションにリストされている各マシン上で起動されます。GROUPS
セクションに記述されているグループごとに、TMS
サーバーは各エントリのTMSNAME
およびTMSCOUNT
パラメータに基づいて起動されます。また、すべての管理サーバーが起動した後、SERVERS
セクションに記述されているサーバーが起動します。あるグループに属するTMS
あるいはゲートウェイがブートした後、そのグループの最初のアプリケーション・サーバーがブートします。必要に応じて、TUXCONFIG
ファイルがリモート・マシンに伝播されます。tmboot
は通常、ブートされたプロセスがその初期化を完了するまで(つまり、tpsvrinit()
が完了するまで)、次のプロセスのブートには移りません。
ゲートウェイ・サーバーの起動時には、ゲートウェイの管理サービスが公開され、そのゲートウェイのCLOPT
パラメータを基に外部サービスを表すアプリケーション・サービスが公開されます。外部サーバーの考え方をとる場合、これらのサーバーはこの時点でゲートウェイによりブートされます。
LMID
をブートすると、そのLMID
上の全グループがブートされることになります。
アプリケーション・サーバーは、SEQUENCE
パラメータで指定された順序、あるいは構成ファイル内のサーバー・エントリの記述順にブートされます(UBBCONFIG(5)の説明を参照)。構成ファイルのSERVERS
セクションに記述されている複数のサーバーが同じSEQUENCE
パラメータを持つ場合、tmboot
はこれらのサーバーを同時にブートし、これらのすべての初期化が完了するまで次の処理には進みません。SERVERS
セクションの各エントリはMIN
とMAX
の2つのパラメータを持つことがあります。tmboot
は、-i
オプションが指定されていない場合は、MIN
個のアプリケーション・サーバーをブートします(サーバー・エントリにMIN
の指定がなければ、デフォルト値として1が使用されます)。ただし、-i
オプションを指定した場合には、個々のサーバーをMAX
で指定された数だけ個別にブートすることができます。
サーバーを起動できなかった場合には、中央イベント・ログに診断メッセージが書き込まれます。-q
が指定されていない場合、診断メッセージは標準出力にも出力されます。この後tmboot
は処理を継続します。ただし、異常終了したプロセスがBBL
の場合には、そのBBL
に依存しているサーバーは自動的に無視されます。また、異常終了したプロセスがDBBL
であると、tmboot
は構成ファイルに記述されている残りのサーバーについては無視します。サーバーが代替LMID
で構成されており、一次マシンを起動できない場合、tmboot
は代替マシンでサーバーを起動します。起動に成功した場合は、DBBL
にメッセージを送信してTUXCONFIG
のサーバー・グループのセクションを更新します。
SERVERS
セクションに記述されたサーバーの場合、tmboot
はCLOPT
、SEQUENCE
、SRVGRP
およびSRVID
だけを使用します。これらを総称して、サーバーのブート・パラメータと言います。サーバーはブートすると、構成ファイルの内容を読み取り、その実行時パラメータを見つけます(パラメータの詳細は、「UBBCONFIG(5)」を参照してください)。
管理サーバーおよびアプリケーション・サーバーはすべて、APPDIR
を現在の作業ディレクトリとしてブートされます。APPDIR
の値は、該当サーバーがブートされるマシンに対応する構成ファイル内のMACHINES
セクションで指定します。
サーバーの実行可能プログラムの検索パスはAPPDIR
、TUXDIR/bin
、/bin
、/usr/bin
およびMACHINE
のENVFILE
に指定されているPATH
です。この検索パスは、サーバーの絶対パス名が指定されていない場合にのみ使用されます。この検索パスの設定は、サーバーのENVFILE
に指定する値によって変更することはできません。
サーバーがブートすると、変数TUXDIR
、TUXCONFIG
、TUXOFFSET
および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
-s
server name
SERVERS
セクションに記述されている全サーバーが、サーバー名とMIN値で実行されます。 MIN値が0のサーバーは実行されません。このオプションは、TMSおよびゲートウェイ・サーバーをブートするときに使用することもできます。通常、このオプションは-g
オプションと一緒に使用します。
-o
sequence
-S
-A
MACHINES
セクションに記述されているマシンの全管理サーバーが実行されます。このオプションは、DBBL
とすべてのBBL
とBRIDGE
プロセスが正しい順序で起動されるようにするときに使用します (-M
オプションの項も参照)。
-b
-B
lmid
-m
1-n
MIN
値が指定されているサーバーの実行時のMIN
値を一時的にリセットします。たとえば、-s server1 -m5
と指定すると、server1という名前のすべてのサーバーがMIN=5
にリセットされます。tmshutdown
を実行すると、サーバーのMIN
値は元の値に戻ります。1
です。最大数の制限はありませんが、あまり多く指定しないよう注意してください。
-M
MODEL
がMP
の場合、RESOURCES
セクションのMASTER
パラメータで指定されたマシン上でDBBL
管理サーバーが起動します。また、BBL
がMASTER
マシン上で起動され、LAN
オプションとNETWORK
エントリが構成ファイルに指定されている場合には、BRIDGE
も起動されます。
-d1
-e
command
command
が実行されます。command
は、SHELL
環境変数で指定されたコマンド・インタプリタが解釈できるものであれば、任意のプログラム、スクリプトまたは一連のコマンドでかまいません。これにより、ブート手順で大きな障害が発生する前に処理を打ち切ることができます。command
に空白を含める場合には、その文字列全体を引用符で囲む必要があります。このコマンドは、サーバーをブートしようとするマシン上ではなく、tmboot
が実行されるマシン上で実行します。 注意: | Windows 2003システムでリダイレクトまたはパイプを選択する場合は、以下のいずれかの方法を使用してください。 |
-w
tmboot
にサーバーが初期化を完了するのを待たずに別のサーバーを起動するように通知します。このオプションの使用には、十分な注意が必要ですBBL
は、有効なDBBL
の存在に依存します。通常のサーバーは、それらが配置されるプロセッサ上でBBL
が実行されていることを必要とします。サーバーが同期的に開始されていない場合、これらの条件は保証されません。サーバーにシーケンス番号がある場合、このオプションは通常行われる待機をオーバーライドします。
-y
yes
の応答を想定します(このプロンプトは、制限を課すオプションを一切付けずにコマンドが入力されたときにのみ表示されます)。
-q
-n
-c
-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
は、最新リリースをサポートしないサイトの/WSリスナーなどの管理サーバーのブートを行うことにつながる構成ファイル内の条件を検出し報告します。
tmboot
は、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
インストールの間に管理パスワード・ファイルが作成されます。必要に応じて、Oracle Tuxedoシステムはこのファイルを次のディレクトリから検索します。検索順序は次のとおりです。APPDIR/.adm/tlisten.pw
、TUXDIR/udataobj/tlisten.pw
。パスワード・ファイルが見つかるように、環境変数APPDIR
またはTUXDIR
またはその両方を必ず設定してください。
リンク・レベルの暗号化機能がtmboot
とtlisten
の間で稼働している場合には、リンク・レベル暗号化はメッセージが認証されるプロセスを保護するために最初に調整され、またアクティブ化されます。
TUXCONFIG
として、存在しないファイルが設定されると、次に示す2つの致命的なエラー・メッセージが表示されます。
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
だけを起動するには、次のようにします。
ローカル名がPE8
のマシン上のBBL
、およびPE8
の位置にあるすべてのサーバーをブートするには、次のようにします。
tmboot -B PE8 -l PE8
この構成で必要とされる最小限のIPCリソースを表示するには、次のコマンドを入力します。
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
値に追加します。MSGMAP
はMSGMNI
の2倍にします。SHMMIN
は常に1にセットします。
IPCの必要最小限の条件は、使用マシンに設定したパラメータと比べて検討することができます。これらのパラメータの変更方法については、お使いのマシンのシステム管理者のドキュメントを参照してください。-y
オプションを使用した場合、その結果得られる表示は上記の例とは若干異なります。
tmboot
コマンドは、ハングアップ・シグナル(SIGHUP
)を無視します。ブート時にシグナルが検出された場合でも、プロセスは続行します。
-c
オプションを使用した場合に表示される最小限のIPCリソースは、指定された構成ファイルに記述されている構成にのみ適用されます。リソース・マネージャまたはその他のOracle Tuxedo構成で必要となるIPCリソースについては、計算上は考慮されません。
tmadmin(1)
、tmloadcf(1)
、tmshutdown(1)
、UBBCONFIG(5)
tmconfig
、wtmconfig
- ネイティブ・クライアントまたはワークステーション・クライアントとして実行中の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ワークステーション・クライアントであるという以外に双方の違いはなく、tmconfig とwtmconfig は共に同じ機能を備えているため、このリファレンス・ページでは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]:
デフォルト・セクションは、プロンプトの終わりに大カッコ内に表示されます。
続いて、目的の操作内容を求めるプロンプトが次のように表示されます。
Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE
6) CLEAR BUFFER 7) QUIT [1]:
デフォルトの操作内容は、プロンプト末尾の大カッコ内に表示されます。デフォルトの操作を選択する場合は、[Enter]キーを押します。他の操作を選択する場合は、該当する番号を入力して[Enter]キーを押します。
FIRST
- 指定されたセクションの最初のレコードを表示します。キー・フィールドは必要ありません(入力バッファに格納されているキー・フィールドは、すべて無視されます)。継続
- 入力バッファ内のキー・フィールドに基づいて、指定したセクションから次のレコードを取り出します。照会
- キー・フィールドで指定したセクションから、指定したレコードを取り出します。ADD
- 指定したセクションに、指定したレコードを追加します。フィールドが指定されていない場合(フィールドが不要である場合にかぎり)、DMCONFIG(5)で指定されたデフォルト値が使用されます。すべてのフィールドの現在の値は、出力バッファ内に戻されます。この操作は、Oracle Tuxedoシステム管理者だけが行えます。UPDATE
- 指定したセクションの入力バッファ内にある、指定したレコードを更新します。入力バッファ内で指定されていないフィールドは変更されません。すべてのフィールドの現在の値は、入力バッファ内に戻されます。この操作は、Oracle Tuxedo管理者だけが行えます。バッファの消去
- 入力バッファをクリアします。すべてのフィールドが削除されます。この操作の後、tmconfig
は直ちにセクションの指定を求めるプロンプトを出します。終了
- プログラムを正常に終了します(クライアントは終了します)。プロンプトで値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
)は、入力バッファにフィールドは含まれません。問題を訂正する場合は、エディタが再度実行されます。
最後に、操作を実行するかどうかを確認するプロンプトが表示されます。
Perform operation [y]?
操作が完了すると、tmconfig
は(「戻り値TAOK」
のように)戻り値を表示し、続いて出力バッファのフィールドを表示します。次に、プロセスが再開され、セクションを求めるプロンプトが表示されます。すべての出力バッファ・フィールドは、バッファがクリアされないかぎり、入力バッファ内で利用できます。
いつでもブレークを入力して、セクションを求めるプロンプトでの対話を再開できます。
QUIT
を選択すると、構成ファイルのバックアップ(テキスト形式)を作成するかどうかを確認するプロンプトが表示されます。
Unload TUXCONFIG file into ASCII backup [y]?
バックアップの作成を選択すると、ファイル名の入力を求めるプロンプトが表示されます。
バックアップ・ファイルのファイル名は? [UBBCONFIG]:
無事にバックアップが完了すると、バックアップ・コピーが作成されたことを示すメッセージを表示します。失敗した場合はエラー・メッセージを表示します。
入力パケットは、次のようにフォーマットされた行で構成されます。
フィールド名とフィールド値は1つまたは複数のタブで区切ります。
長いフィールド値の場合、継続行に1つまたは複数のタブを付けることによって、次の行にわたるようにできます(これらのタブは、tmconfig
に読み戻されるときに取り除かれます)。
表示できない文字をフィールド値に入力したり、タブからフィールド値を開始するには、円マークを使用し、その後に希望する文字を2文字の16進数表現で使用します(UNIXシステムのリファレンス・マニュアルのASCII(5)を参照してください)。たとえば、入力データに空白を入力するには、¥20
と入力します。円マークは2回書くことで1つの円マークを入力できます。tmconfig
はこの形式で入力された文字をすべて認識しますが、16進数形式を使用する最大の利点は表示不能文字を入力できることです。
動的な再構成機能については、次のような全般的な制限事項があります。
LMID
レベルのフィールドは、LMID
がブートされている間は変更できません。同様に、GROUP
レベルのフィールドはGROUP
がブートされている間は変更できません。RESOURCES
パラメータは実行中のシステムでは変更できません。RESOURCES
セクションにいるときに、MACHINES
セクションのENVFILE
パラメータを更新しようとした場合、tmconfig
がTAOK
を返して操作が正常終了したように見えますが、アンロードされたUBBCONFIG
ファイルは変更されていません。以前の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
表には、フィールドの更新が可能かどうかを示す値を入れる列がありました。これについてはMIBのリファレンス・ページで説明していますが、形式について多少注意が必要です。「MIB(5)」の権限の説明を参照してください。MIB表の権限の列は、ファイルへのアクセス制限における読み出し、書き込みおよび実行の権限に似ていますが、この列では単純なファイル権限より多くの情報と制御を指定することができます。たとえば、MIB表の権限列に値を指定することにより、システム稼働時にフィールドの変更が可能かどうかを示すことができます。
tmconfig
を使用する前にはMIB(5)の説明をよくお読みください。
このセクションの属性については、「TM_MIB(5)」のT_DOMAIN
クラスの説明を参照してください。
このセクションについては、ADD
操作は使用できません。このセクションにはレコードが1つしかないので、RETRIEVE
操作はFIRST
操作と同じです(キー・フィールドは不要)。NEXT
操作は常に「レコードなし」が戻されます。
TA_LDBAL
、TA_CMTRET
およびTA_SYSTEM_ACCESS
に対する変更は、それ以後ブートされる新しいクライアントとサーバーに対してのみ適用されます。NO_OVERRIDE
の指定があり、指定アクセス・タイプと一致しない(PROTECTED
またはFASTPATH
)サーバー・エントリがある場合、TA_SYSTEM_ACCESS
は変更できません。TA_NOTIFY
とTA_AUTHSVC
に対する変更は、それ以後起動される新しいクライアントに対してのみ適用されます。
上記のパラメータ以外の更新は、アンロードされたテキスト形式のバックアップ・ファイルには反映されません。
このセクションの属性については、「TM_MIB(5)」のT_MACHINE
クラスの説明を参照してください。
RESOURCES
セクションのOPTIONS
に"LAN
"が指定されていないかぎり、マシンを追加することはできません。
上記のパラメータ以外の更新は、アンロードされたテキスト形式のバックアップ・ファイルには反映されません。
このセクションの属性については、「TM_MIB(5)」のT_GROUP
クラスの説明を参照してください。
このセクションの属性については、「TM_MIB(5)」のT_SERVER
クラスの説明を参照してください。
SERVERS
セクションで変更されたパラメータは、次回、関連するサーバーがブート(再開ではなく)された時点で有効になります。複数のサーバーがMSSQ
に定義されている場合(TA_RQADDR
)、これらのサーバーでは同じサービスがブートされます。たとえば、TA_CLOPT
あるいはENVFILE
に対する変更は、それらが現在ブートされているサーバーと一致しないよう、ブートされるサービスには影響しないようにしなければなりません。TA_MAX
に変更があった場合、そのサーバー・セットのサーバーが1つまたは複数ブートされるまで、新しいサーバー識別子に対応する会話型サーバーは自動的には生成されません。
このセクションの属性については、「TM_MIB(5)」のT_SERVICE
およびT_SVCGRP
クラスの説明を参照してください。
SERVICES
セクションで変更されたパラメータは、次回、そのサービスを提供するサーバーがブート(再開ではなく)された時点で有効になります。TA_ROUTINGNAME
の更新が可能なのは、TA_SRVGRP
フィールドに値が指定されていない場合、またはそのフィールドにNULL
が指定されている場合だけです。この場合、TA_ROUTINGNAME
属性は、一致するすべてのSERVICES
エントリで同時に更新されます。TA_ROUTINGNAME
はSERVICES
セクションのROUTING
に対応しています。
上記のパラメータ以外の更新は、アンロードされたテキスト形式のバックアップ・ファイルには反映されません。
次の表に、NETWORK
セクションのフィールド一覧を示します。
関連するLMID
がブートされている場合には、レコードを追加することはできません。
RESOURCES
セクションのOPTIONS
にLAN
がないかぎり、NETWORK
セクションに対する操作は何もできません。
上記のパラメータ以外の更新は、アンロードされたテキスト形式のバックアップ・ファイルには反映されません。
このセクションの属性については、「TM_MIB(5)」のT_ROUTING
クラスの説明を参照してください。
ROUTING
セクションは、システムが稼働状態にあるときには更新できません。 掲示板のサイズを制御する、RESOURCES
セクションの3つのパラメータMAXDRT
、MAXRFT
、およびMAXRTDATA
が増加可能に設定されている場合、ROUTING
セクションの新しいエントリを追加できます。
このセクションの属性については、「TM_MIB(5)」のT_WSL
クラスの説明を参照してください。
ワークステーション・リスナー・サーバーのCLOPT
の更新は、SERVER
セクションを通じて行うこともできますが、T_WSL
クラスを使用してください。
このセクションの属性については、「TM_MIB(5)」のT_WSL
クラスの説明を参照してください。
このセクションの属性については、「TM_MIB(5)」のT_NETMAP
クラスの説明を参照してください。
このセクションの属性については、「TM_MIB(5)」のT_INTERFACE
クラスの説明を参照してください。
T_INTERFACE
クラスは、ドメインおよびサーバー・グループの両方のレベルでCORBAインタフェースの構成属性と実行時属性を表します。ファクトリ・ベースのルーティング(特定のサーバー・グループに処理を分散する機能)を実行しない場合には、CORBAインタフェースに必要なパラメータはありません。
tmconfig
は保護アプリケーションで実行する場合、そのアプリケーションを利用するときにアプリケーション・パスワードが必要とされます。標準入力が端末であると、tmconfig
はユーザーにパスワードの入力を求めてきます。ユーザーが入力するパスワード文字列は画面には表示されません。標準入力が端末でない場合には、このパスワードは環境変数APP_PW
から取得されます。この環境変数の指定がなく、アプリケーション・パスワードが必要な場合には、tmconfig
は異常終了します。
/WSクライアントの場合、このコマンドはwtmconfig
です。UPDATE
およびADD
コマンドはサポートされていません(TAEPERM
が戻されます)。
tmconfig
は環境変数FIELDTBLS
およびFLDTBLDIR
を設定しなおして、${TUXDIR}/udataobj/tpadmin
フィールド表を取り出します。TUXDIR
を正しく設定しておかなければなりません。
APP_PW
は、標準入力が端末でない場合、保護アプリケーションのアプリケーション・パスワードに設定しなければなりません。
クライアントをOracle Tuxedoアプリケーションに結合する前に、いくつかの環境変数を設定しておく必要があります。
tmconfig
は、型付きバッファを割り当てることができない場合、該当ユーザーに対する/etc/passwd
エントリを判別できない場合、クライアント・プロセスになれない場合、入力バッファ編集用に/tmp
に一時ファイルを作成できない場合、あるいは環境変数FIELDTBLS
またはFLDTBLDIR
を設定し直すことができない場合には異常終了します。
各操作が完了した後、tmconfig
から出力される戻り値には、リクエストされた操作に関するステータスが示されます。戻り値には3つのクラスがあります。
次の戻り値は、権限に関する問題またはOracle Tuxedoの通信エラーを示しています。戻り値は、操作が正常に完了しなかったことを示しています。
TAEPERM
]
TAESYSTEM
]
TAEOS
]
TAETIME
]
次の戻り値は、操作を行うこと自体の問題を示します。一般的には、入力バッファ内のアプリケーション・データに関するセマンティクスの問題です。文字列フィールドTA_STATUS
は、問題内容を示す出力バッファ内で設定されます。文字列フィールドTA_BADFLDNAME
は問題(エラーは1つのフィールドが原因で発生すると想定しています)の原因となる値を含むフィールドのフィールド名に設定されます。
TAERANGE
]
TAEINCONSIS
]
TAECONFIG
]
TAEDUPLICATE
]
TAENOTFOUND
]
TAEREQUIRED
]
TAESIZE
]
TAEUPDATE
]
TAENOSPACE
]
次の戻り値は、少なくともMASTER
サイトでは操作が成功したことを示します。
TAOK
]
TAUPDATED
]
TAPARTIAL
]
MASTER
サイトでは操作は成功しましたが、1つまたは複数の非MASTER
サイトで失敗がありました。それらの非MASTER
サイトには、無効またはパーティション化のマークが付けられます。詳細は、管理者ガイドを参照してください。
Oracle Tuxedoシステム・リリース4.0または4.1ノードが起動されている状態では、UPDATE
およびADD
操作は実行できません。これらの操作を行うには、前もってこれらのノードを停止しておかなければなりません。リブートすると、変更内容が有効になります。
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
tmboot(1)
、tmloadcf(1)
、userlog(3c)、TM_MIB(5)、UBBCONFIG(5)
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
TUXCONFIG_file
TUXCONFIG
ファイルが見つからない場合は、致命的なエラーが発生し、次のメッセージが表示されます。
Cannot open tuxconfig file
TUXCONFIG
ファイルが読み取れない場合は、致命的なエラーが発生し、次のメッセージが表示されます。
Execute permission denied, not application administrator
掲示板の共有メモリーへのアタッチが失敗した場合は、致命的なエラーが発生し、次のメッセージが表示されます。
Cannot attach to BB!
このコマンドは、通常は対話型モードで実行して、必要に応じて質問に対する回答を求めるプロンプトを表示します。-y
オプションを指定すると、tmipcrm
は応答を求めるプロンプトを表示しませんが、すべての質問に対して「はい」と答えたとみなされます。-n
オプションを指定すると、tpipcrm
はstdout
に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
- UBBCONFIG
ファイルを解析し、バイナリ版のTUXCONFIG
構成ファイルをロード
tmloadcf
[-n
] [-y
] [-c
] [-b
blocks
] {UBBCONFIG_file
|
-}
tmloadcf
は、UBBCONFIG
の構文に従った形式のファイルあるいは標準入力を読み取り、その構文をチェックし、指定に応じてバイナリ版のTUXCONFIG
構成ファイルをロードします。環境変数TUXCONFIG
とTUXOFFSET
(オプション)は、それぞれ該当情報を格納するTUXCONFIG
ファイルとオフセットを示します。tmloadcf
は、UBBCONFIG
ファイルのRESOURCES
セクションに定義されているMASTER
マシン上でしか実行できません。ただし、-c
あるいは-n
オプションが指定されている場合を除きます。
注意: | TUXCONFIG 環境変数に指定されたパス名は、UBBCONFIG ファイルのMACHINES セクションに指定されているTUXCONFIG パラメータの値と完全に一致しなければなりません(大文字/小文字の区別も含む)。 一致しない場合、tmloadcf(1) は正常に実行されません。 |
tmloadcf
は、UBBCONFIG
ファイルのセクションで抜けているものを検出すると、警告メッセージを表示します。ただし、LAN
OPTION
の指定のない構成におけるNETWORK
セクションの抜け(「UBBCONFIG(5)」を参照)、またはROUTING
セクションの抜けは除きます。入力ファイルの解析中に構文エラーを検出すると、tmloadcf
はTUXCONFIG
ファイルへの更新を行わずに終了します。
tmloadcf
を実行するユーザーの実効ユーザー識別子は、UBBCONFIG
ファイルのRESOURCES
セクションに記述されているUID
と同じでなければなりません(指定がある場合)。
tmloadcf
にオプション-c
を付けると、プログラムはこの構成に必要とされる最小のIPCリソースを表示します。ノードごとに異なるリソース要件が、構成に含まれるノードごとに表示されます。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
は指定された値を使用して新しいファイル・システムを作成します。それだけの大きさがない場合には、エラー・メッセージを出力して終了します。-b
オプションを指定しないと、tmloadcf
は、TUXCONFIG
表を収容できる大きさのファイル・システムを新たに作成します。ファイル・システムがすでに存在している場合は、-b
オプションが無視されます。
TUXCONFIG
がrawデバイス(初期化されていない)であり、そのrawデバイス上のブロック数を設定する必要がある場合には、-b
オプションをできるだけ使用するようにしてください。TUXCONFIG
が通常のUNIXファイルである場合には、-b
オプションは使用しないようにしてください。
TUXCONFIG
ファイルがすでに初期化されていると判断される場合、tmloadcf
はそのTUXCONFIG
ファイルに記述されているシステムが稼働状態にないことを確認します。そのシステムが稼働状態にあると、tmloadcf
はエラー・メッセージを出して終了します。
システムが非稼働状態にあり、TUXCONFIG
ファイルがすでに存在している場合は、ファイルを上書きするかどうかを確認するプロンプトが表示されます。
Really ove
rwrite TUXCONFIG file [y, q]?
標準入力あるいは標準出力が端末でない場合、あるいはコマンドラインで-y
オプションが指定された場合には、このプロンプトは出されません。"y
"または"Y
"以外のレスポンスを行うと、tmloadcf
は終了して、ファイルの書換えは行われません。
構成ファイルのRESOURCES
セクションにSECURITY
パラメータが指定されていると、tmloadcf
は標準入力をフラッシュし、端末エコー機能をオフにして、ユーザーにアプリケーション・パスワードの入力を求めます。
Enter Application Password?
Reenter Application Password?
パスワードは、30文字以内の長さで入力できます。ファイルではなく標準入力を介してUBBCONFIG
(構成ファイルのテキスト・バージョン)をロードするオプションは、SECURITY
パラメータがオンのときには使用できません。標準入力が端末でない場合、つまり、ユーザーにパスワードの入力を求めることができない場合(たとえば、here
ファイルの場合)、アプリケーション・パスワードの設定のために環境変数APP_PW
が参照されます。APP_PW
環境変数が設定されておらず、標準入力が端末でない場合には、tmloadcf
はエラー・メッセージを出し、ログ・メッセージを生成して、TUXCONFIG
ファイルのロードに失敗します。
エラーがないと仮定して、すべてのチェックの結果が正常であった場合、tmloadcf
はUBBCONFIG
ファイルを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
- バイナリのTuxedoサービス・メタデータ・リポジトリ・ファイルを作成または更新し、サービス・パラメータ情報とともにロードします。
tmloadrepos
[-e|-d service1[,...]
] [-y
] [-i repository_input
file] repository_file
このコマンドを使用すると、バイナリのTuxedoサービス・メタデータ・リポジトリ・ファイルを作成または更新し、サービス・パラメータ情報とともにロードできます。
リポジトリ・ファイルが存在せず、入力ファイルが指定されていない場合は、リポジトリ・ファイルが作成され、コンソールから入力(標準入力)するサービス・パラメータ情報が使用されます。標準入力は、リポジトリ・ファイルがすでに存在しているにもかかわらず、入力ファイルまたは特定のサービス名が指定されていない場合にも使用します。
注意: | tmloadrepos を使用して、JOLTリポジトリ・ファイルのサービス・パラメータ情報を更新、追加、または削除することはできません。 |
-i
-i
オプションを使用すると、tmloadreposは、repository_input
ファイルにリストされていない既存のrepository_file
情報を保持できます。また、repository_input
ファイルに構文エラーがある場合も同様に保持できます。 例1: tmloadrepos -i infile reposfile
指定された入力ファイルが見つからない場合、エラー・メッセージが表示されます。
-e
repository_input
ファイルを指定しないと、コンソールからサービス・パラメータ情報を入力するようにユーザーが要求され、その入力した情報によって既存のリポジトリ情報が置き換えられます。例2: tmloadrepos -e reposfile
例3: tmloadrepos -e -i infile reposfile
-d
-d
を指定すると、指定したサービスの情報がリポジトリから削除されます。-d
オプションを-i
オプションと一緒に使用することはできません。また、特定のサービス情報を削除するために正規表現を使用することもできません。
注意: | 情報が誤って消去されるのを防ぐために、-y オプションを指定しないかぎり、-e および-d オプションによってユーザーの確認を要求します。 |
注意: | 確認メッセージが表示された場合、メタデータ・リポジトリ・ファイルのサービス情報の編集、追加または削除を続行するには「Y」を、続行しない場合は「N」を選択します。 |
-y
repository_input
ファイル
repository_input
ファイルは、サービス・キーワードおよびパラメータ・キーワードとそれらの値を格納するテキスト・ベースのファイルです。キーワードの省略形も使用できます。キーワードおよび省略形の大文字/小文字は区別されます。キーワード、省略形および値の一覧については、『Oracle Tuxedoアプリケーションの設定』の「Tuxedoサービス・メタデータ・リポジトリの管理」の「Tuxedoサービス・メタデータ・リポジトリを作成する」を参照してください。
repository_file
入力にエラーが検出されると、エラーの原因となった行が、問題を指摘するメッセージと共に、標準エラーに出力されます。
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入力ファイルの例
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
tpgetrepos(3c)、tpsetrepos(3c)、tmunloadrepos(1)
、TMMETADATA(5)、『Oracle Tuxedoアプリケーションの設定』の「Tuxedoサービス・メタデータ・リポジトリの管理」
TMS_rac_refresh
- Oracle Real Application Clusters (RAC)の準備されたトランザクションのリストを取得
TMS_rac_refresh groupname
または[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
TMS_rac_refresh
を実行するために必須のパラメータです。
TMS_rac_refresh
は、通常はコマンドラインからは実行しません。したがって、診断メッセージはuserlog
に書き込まれます。
TMS_rac_refresh
では、groupname
が正しいサーバー・グループの名前でなかったとき、またはgroupname
でリストされたTMSサーバーにメッセージを送信できなかった場合にエラーを通知します。
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
パラメータを指定することができます。tmshutdown
は、-i
オプションが指定されていないかぎり、各サーバー・エントリごとにそのサーバーの全オカレンス(MAX
個まで)を停止します。-i
オプションを使用すると、個々のオカレンスを停止できます。
あるサーバーを停止できない場合、あるいはサービスの公開を削除できない場合、中央のイベント・ログに診断が書き出されます(「userlog(3c)」を参照)。次に、すべてのオプションについて個々に説明します。
-l
lmid
LMID
パラメータがlmid
である各グループごとに、該当グループに対応するSERVERS
セクションの全サーバーがまず停止され、続いてそのグループに属するTMS
とゲートウェイ・サーバーが停止されます。
-g
grpname
SERVERS
セクションのすべてのサーバー(つまり、SRVGRP
パラメータがgrpname
に設定されている)が停止され、続いてそのグループのすべてTMS
とゲートウェイ・サーバーが停止されます。TMSサーバーの停止は、そのグループ・エントリのTMSNAME
およびTMSCOUNT
パラメータの設定に基づいて行われます。外部グループの場合、HOST
セクションの関連エントリに対応するゲートウェイ・サーバーの停止は、パラメータGATENAME
とGATECOUNT
に基づいて行われます。ゲートウェイを停止すると、そのプロセスが停止されると共に、その管理サービスと公開されたすべての外部サービスの公開が取り消されます。
-i
srvid
SRVID
パラメータがsrvid
であるSERVERS
セクションの全サーバーが停止されます。30,000を超えるSRVID
を入力しないでください。これらの数字はシステム・プロセス(TMS
やゲートウェイ・プロセス)を表し、それらの停止には-l
または-g
オプションを使用しなければならないためです。
-s
aout
-o
sequence
-S
-A
-M
MASTER
マシン上のBBL
が停止され、構成ファイルにLAN
とNETWORK
エントリが指定されていれば、BRIDGE
が停止されます。MODEL
がMP
であると、DBBL
管理サーバーが停止されます。
-B
lmid
-w
delay
SIGKILL
シグナルは捕捉できないため、その時点でプロセスによって実行されるコードには無関係に、シグナルを受信したプロセスはすべて直ちに終了されます。停止されるプロセスが掲示板を更新中だった場合には、掲示板に構造上の損傷を与えるおそれがあります。注意: | -w オプションが適用されるサーバーは、UNIXのシグナルSIGTERM を捕捉できません。 |
注意: | SIGKILL シグナルの受信に基づいてサーバーが停止される場合、エントリが掲示板に残る場合があります。BBLが停止される場合、これらのエントリが検出され、BBLは停止しません。システムの停止を完了するには、再度tmshutdown コマンドを使用しなければならない場合もあります。 |
-k
{TERM
| KILL
}
SIGKILL
シグナルは捕捉できないため、その時点でプロセスによって実行されるコードには無関係に、シグナルを受信したプロセスはすべて直ちに終了されます。このような挙動は、停止中のプロセスが掲示板を更新中だった場合、掲示板に構造上の損傷を与えるおそれがあります。これを防ぐためにtpkill(1)コマンドを使用できます。tpkillは掲示板をロックした後でSIGKILL
シグナルをプロセスに送信するため、終了されるプロセスによる掲示板の更新を回避できます。 注意: | このオプションは、UNIXシグナルのSIGTERM とSIGKILL をサポートするシステムでは、これらにマップされます。デフォルトでは、SIGTERM はOracle Tuxedoサーバーで順序立てた停止を開始します。SIGTERM をアプリケーションでリセットすると、Oracle Tuxedoシステムがサーバーを停止できなくなることがあります。 |
注意: | SIGKILL シグナルの受信に基づいてサーバーが停止される場合、エントリが掲示板に残る場合があります。BBLが停止される場合、これらのエントリが検出され、BBLは停止しません。システムの停止を完了するには、再度tmshutdown コマンドを使用しなければならない場合もあります。 |
-y
yes
の応答がなされたものとみなされます(このプロンプトは、制限を課すオプションを一切付けずにコマンドが入力されたときにのみ表示されます)。
-q
-n
-R
-R
オプションは、-l
あるいは-g
オプションと一緒に使用しなければなりません(例: tmshutdown -l
lmid
-R
)。また、構成ファイルのRESOURCES
セクションにMIGRATE
オプションを指定しなければなりません。
-c
-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
は、サーバーの停止に失敗した場合や致命的エラーが発生した場合には、終了コード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秒経過しても確認が得られないと強制的に実行されます。
lmid
の値がCS1
に設定されているマシン上のサーバーだけを停止するには、次のコマンドを入力します。
tmshutdown -l CS1
-l
オプションはSERVERS
セクションにリストされているサーバーのみにアクションを制限するものであるため、CS1
上のBBL
は停止されません。
tmshutdown
コマンドは、ハングアップ・シグナル(SIGHUP
)を無視します。停止中にシグナルが検出されても、プロセスは継続します。
tmadmin(1)
、tmboot(1)
、tpkill(1)、UBBCONFIG(5)
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 - Tuxedoサービス・メタデータ・リポジトリからサービス情報を表示
tmunloadrepos [-s service_regular_expression1[,...]] [-t|-c] repository_file
tmunloadreposは、メタデータ・リポジトリ・ファイルの指定されたTuxedoサービス情報を表示します。
注意: | tmunloadreposは、Joltリポジトリ・ファイルの表示にも使用できます。 |
tmunloadreposでは以下のオプションを使用できます。
-s
service_regular_expression
に一致するサービスに限定できます。このオプションを指定しない場合は、リポジトリで認識されているすべてのサービスの情報が表示されます。区切り文字「,」を使用すると、複数のservice_regular_expression
を1つの文字列にできます。
-t
-c
-t
および-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システムのメタデータ・リポジトリ・ファイルとして有効かどうかが検証されます。-sオプションが指定されている場合は、service_regular_expressionに一致する1つまたは複数のサービスについての情報がリポジトリに格納されているかどうかが検証されます。これらの条件のいずれかが満たされない場合、tmunloadreposはエラー・メッセージを出し、終了コード1を戻して終了します。処理が成功すると、tmunloadreposは終了コード0を返して終了します。
例1 : tmunloadrepos -t -s TRANSFER
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 first, and the deposit account is second.
type=string
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 first, and the deposit account is second.
access=out
count=2
requiredcount=2
param=STATLIN
type=string
access=out
例2 : tmunloadrepos -c -s TRANSFER
Fbfr *idata, **odata;
long ilen, *olen. flags=0;
/* Application business logic can be placed here */
if ((idata = tpalloc(5, 10000)) == NULL) {
return(-1);
}
/* The withdrawal account is first, and the deposit account is second. */
if (Fadd(idata, ACCOUNT_ID, USER_DATA_VALUE, 0) == -1) {
tpfree(idata);
return(-1);
}
if (Fadd(idata, ACCOUNT_ID, USER_DATA_VALUE, 0) == -1) {
tpfree(idata);
return(-1);
}
The actual code produced will contain similar Fadd statements for
SAMOUNT, SBALANCE, and STATLIN.
/* This service transfers money from one account to another. */
rtn = tpcall("TRANSFER", idata, 0, &odata, &olen, flags);
/* Code to retrieve fields from odata goes here. */
tpfree(idata);
/* Application business logic can be placed here */
tpgetrepos(3c)
、 tpsetrepos(3c)
、tmloadrepos(1)
、 TMMETADATA(5)
、『Oracle Tuxedoアプリケーションの設定』の「Tuxedoサービス・メタデータ・リポジトリの管理」
tpacladd
- 新しいアクセス制御リストをシステムに追加
tpacladd [-g
GID
[,
GID
. . . ]] [-t
type
]
name
tpacladd
を実行すると、Oracle Tuxedo ATMIのセキュリティ・データ・ファイルにアクセス制御リスト(ACL)の新しいエントリが追加されます。この情報は、サービス、イベント、アプリケーションの各キューに対するOracle Tuxedo ATMIのアクセス制御に使用されます。このコマンドを実行する前に、SECURITY
をUSER_AUTH
、ACL
またはMANDATORY_ACL
に設定したOracle Tuxedoの構成を作成する必要があります。
-g
GID
, . . .
-t
type
name
このコマンドを実行する前に、グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)
のいずれかを使用してアプリケーションを構成し、TUXCONFIG
ファイルを指すようにTUXCONFIG
環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、tpacladd
を構成のMASTER
上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
tpacladd
コマンドは正しく完了すると、終了コード0
で終了します。
tpacldel(1)
、tpaclmod(1)
、tpgrpadd(1)
、tpgrpdel(1)
、tpgrpmod(1)
、AUTHSVR(5)
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
-g
groupfile
このコマンドを実行する前に、グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)
のいずれかを使用してアプリケーションを構成し、TUXCONFIG
ファイルを指すようにTUXCONFIG
環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、tpaclcvt
を構成のMASTER
上で実行する必要があります。
このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
tpgrpadd(1)
、tpusradd(1)
、AUTHSVR(5)
tpacldel [-t
type
]
name
tpacldel
を実行すると、Oracle Tuxedo ATMIのセキュリティ・データ・ファイルから既存のアクセス制御リスト(ACL)のエントリが削除されます。このコマンドを実行する前に、SECURITY
をUSER_AUTH
、ACL
またはMANDATORY_ACL
に設定したOracle Tuxedoの構成を作成する必要があります。
-t
type
name
このコマンドを実行する前に、グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)
のいずれかを使用してアプリケーションを構成し、TUXCONFIG
ファイルを指すようにTUXCONFIG
環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、tpacldel
を構成のMASTER
上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
tpacldel
コマンドは正しく完了すると、終了コード0
で終了します。
tpacladd(1)
、tpaclmod(1)
、AUTHSVR(5)
tpaclmod [-g
GID
[,
GID
...]] [-t
type
]
name
tpaclmod
を実行すると、Oracle Tuxedoのセキュリティ・データ・ファイル内のアクセス制御リスト(ACL)のエントリが変更されて、グループ識別子リストが置き換えられます。この情報は、サービス、イベント、アプリケーションの各キューに対するOracle Tuxedo ATMIのアクセス制御に使用されます。このコマンドを実行する前に、SECURITY
をUSER_AUTH
、ACL
またはMANDATORY_ACL
に設定したOracle Tuxedoの構成を作成する必要があります。
-g
GID
, . . .
-t
type
name
このコマンドを実行する前に、グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)
のいずれかを使用してアプリケーションを構成し、TUXCONFIG
ファイルを指すようにTUXCONFIG
環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、tpaclmod
を構成のMASTER
上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
tpaclmod
コマンドは正しく完了すると、終了コード0
で終了します。
tpacladd(1)
、tpacldel(1)
、AUTHSVR(5)
tpaddusr
- Oracle Tuxedoのパスワード・ファイルを作成
tpaddusr
usrname file
[cltname
[UID
]]
このコマンドを使用すると、アプリケーション管理者は、Oracle TuxedoシステムのAUTHSVR(5)サーバーでの使用に適したUNIXシステム形式のパスワード・ファイルを作成できます。tpaddusr
は、ユーザーのusrname
をパスワード・ファイルfile
に追加します(fileに/etc/passwd
を指定することはできません)。管理者は、追加したユーザーに割り当てるパスワードを入力するように要求されます。必要であれば、0600の権限でfile
が作成されます。cltname
は指定すると、パスワード・エントリでの追加の修飾子を示します。usrname
またはcltname
(あるいはその両方)は、AUTHSVR(5)でワイルドカードとみなされるアスタリスク(*
)として指定することができます。UID
は指定すると、ユーザーの認証が成功した場合に戻されるユーザーの識別番号を示します。指定がない場合には、cltname
とUID
はそれぞれ*
と-1
がデフォルト値となります。
cltname
の値tpsysadm
とtpsysop
は、認証リクエストを処理する際にAUTHSVR(5)により特殊な処理が行われます。これらのcltname
値は、パスワード・ファイル内のワイルドカードのcltname
指定と照合されることはありません。
さらに、パスワード・ファイルへの追加順序に関係なく、ワイルドカードのエントリは、明示的に指定された値の後で処理されます。認証リクエストは、最初に一致するパスワード・ファイルのエントリに対してのみ認証されます。
このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
このコマンドは、ユーザーをSECURITY
USER_AUTH
に構成するために使用します。SECURITY
ACL
またはMANDATORY_ACL
との互換性を保つためには(これらのセキュリティ・レベルに移行できるようにするためにも)、次の制限に従う必要があります。
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”
tpdelusr(1)
、tpmodusr(1)
、tpusradd(1)
、tpusrdel(1)
、tpusrmod(1)
、AUTHSVR(5)
tpdelusr
- Oracle Tuxedoのパスワード・ファイルからユーザーを削除
tpdelusr
usrname
file
[cltname
]
このコマンドを使用すると、アプリケーション管理者は、Oracle TuxedoシステムのAUTHSVR(5)サーバーでの使用に適したUNIXシステム形式のパスワード・ファイルを管理できます。tpdelusr
は、指定されたusrname
とcltname
の組合せのパスワード・ファイル・エントリを削除するために使用します(file
に/etc/passwd
を指定することはできません)。cltname
は指定しなければ、デフォルトで「*」
に設定されます。usrname
またはcltname
、もしくはこれらの両方に指定されたワイルドカードは、パスワード・ファイル内の対応するワイルドカード・エントリに対してのみ一致します。これらはすべての一致するエントリに対して拡張されるものではありません。
cltname
の値tpsysadm
とtpsysop
は、認証リクエストを処理する際にAUTHSVR(5)により特殊な処理が行われます。これらのcltname
値は、パスワード・ファイル内のワイルドカードのcltname
指定と照合されることはありません。
さらに、パスワード・ファイルへの追加順序に関係なく、ワイルドカードのエントリは、明示的に指定された値の後で処理されます。認証リクエストは、最初に一致するパスワード・ファイルのエントリに対してのみ認証されます。
このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
このコマンドは、ユーザーをSECURITY
USER_AUTH
に構成するために使用します。SECURITY
ACL
またはMANDATORY_ACL
との互換性を保つためには(これらのセキュリティ・レベルに移行できるようにするためにも)、次の制限に従う必要があります。
tpusrdel(1)
コマンドでは、これらの制限が自動的に適用されます。
tpaddusr(1)
、tpmodusr(1)
、tpusradd(1)
、tpusrdel(1)
、tpusrmod(1)
、AUTHSVR(5)
tpgrpadd [-g
GID]
grpname
tpgrpadd
は、Oracle Tuxedoセキュリティ・データ・ファイルに適切なエントリを追加することにより、システム上で新しいグループ定義を作成します。この情報は、AUTHSVR(5)サーバーによるOracle Tuxedoシステムの認証や、アクセス制御に使用されます。このコマンドを実行する前に、SECURITY
をUSER_AUTH
、ACL
またはMANDATORY_ACL
に設定したOracle Tuxedoの構成を作成する必要があります。
-g
GID
GID
のデフォルトは、1以上の次の使用可能な(一意の)識別子です。グループ識別子0は、「other」グループ用に予約されています。
grpname
このコマンドを実行する前に、グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)
のいずれかを使用してアプリケーションを構成し、TUXCONFIG
ファイルを指すようにTUXCONFIG
環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、tpgrpadd
を構成のMASTER
上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
tpgrpadd
コマンドは正しく完了すると、終了コード0
で終了します。
tpgrpdel(1)
、tpgrpmod(1)
、tpusradd(1)
、tpusrdel(1)
、tpusrmod(1)
、AUTHSVR(5)
tpgrpdel
grpname
tpgrpdel
は、Oracle Tuxedoセキュリティ・データ・ファイルから対応するグループのエントリを削除することによって、システムからグループの定義を削除します。ただし、ユーザー・ファイルからグループIDは削除されません。このコマンドを実行する前に、SECURITY
をUSER_AUTH
、ACL
またはMANDATORY_ACL
に設定したOracle Tuxedoの構成を作成する必要があります。
grpname
このコマンドを実行する前に、グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)
のいずれかを使用してアプリケーションを構成し、TUXCONFIG
ファイルを指すようにTUXCONFIG
環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、tpgrpdel
を構成のMASTER
上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
tpgrpdel
コマンドは正しく完了すると、終了コード0
で終了します。
tpgrpadd(1)
、tpgrpmod(1)
、tpusradd(1)
、tpusrdel(1)
、tpusrmod(1)
、AUTHSVR(5)
tpgrpmod [-g
GID
] [-n
name
]
grpname
tpgrpmod
は、Oracle Tuxedoセキュリティ・データ・ファイルの適切なエントリを変更することによって、指定したグループの定義を変更します。このコマンドを実行する前に、SECURITY
をUSER_AUTH
、ACL
またはMANDATORY_ACL
に設定したOracle Tuxedoの構成を作成する必要があります。
-g
GID
-n
name
grpname
このコマンドを実行する前に、グラフィカル・ユーザー・インタフェースまたはtmloadcf(1)
のいずれかを使用してアプリケーションを構成し、TUXCONFIG
ファイルを指すようにTUXCONFIG
環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、tpgrpmod
を構成のMASTER
上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
tpgrpmod
コマンドは正しく完了すると、終了コード0
で終了します。
tpgrpadd(1)
、tpgrpdel(1)
、tpusradd(1)
、tpusrdel(1)
、tpusrmod(1)
、AUTHSVR(5)
tpkill - 掲示板をロックし、Tuxedoサーバーを終了
tpkill pid [pid . . .]
tpkillは掲示板をロックし、SIGKILLシグナルを指定のTuxedoサーバーに送信します。 このコマンドによって、Tuxedoサーバーの終了時に掲示板の整合性を保証できます。 tpkillは、アクティブなTuxedoドメインで実行する必要があります。 このコマンドでは、1つまたは複数のTuxedoサーバー・プロセスID値を指定できます。
tpkillはTuxedoネイティブ・クライアント・アプリケーションとして機能し、環境変数TUXDIR、TUXCONFIG、APPDIRを必要とします。
tpmigldap
- TuxedoユーザーおよびグループをWebLogic Serverに移行
tpmigldap [-hhostname
] [-pport
] [-dwls_domain
] [-rwls_realm
]
[-fuser_password
] [-bbind_DN
] [[-wldap_adm_password
]|
[-c]] [-utpusr
] [-gtpgrp
] [-iUID-kw
] [-eGID-kw
]
tpmigldap
を実行すると、WebLogic Serverのデフォルトのセキュリティ・データベースにTuxedoのユーザーおよびグループを追加できます。このコマンドを実行する前に、SECURITYをUSER_AUTH、ACLまたはMANDATORY_ACLに設定したTuxedoの構成を作成する必要はありません。
-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
コマンドは、Tuxedo System/Tリリース8.1以降が動作している非/WSサイト上でのみ使用できます。
tpmigldap
コマンドは正しく完了すると、終了コード0で終了します。
$tpmigldap -h proton -c -d wlsdomain -r wlsrealm -b cn=Admin
LAUTHSVR(5)
tpmigldif
-- ユーザーおよびグループ情報をLDAPデータ交換形式(LDIF)に移行
tpmigldif [-t user|group] [-u tpusr] [-g tpgrp] -f template -o output
tpmigldif
コマンドを呼び出すと、ユーザーおよびグループの情報のLDIF出力ファイルが生成されます。ユーザーまたはグループの情報(あるいはその両方)が1行ごとに処理されます。このコマンドは、GAUTHSVR(5)
とともに使用します。
-t user|group
-u tpusr
-g tpgrp
-f template
-o output
このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
tpmigldif
コマンドは正しく完了すると、終了コード0で終了します。
GAUTHSVR(5)
tpmodusr
- Oracle Tuxedoのシステム・パスワード・ファイルを保守
tpmodusr
usrname
file
[cltname
]
このコマンドを使用すると、アプリケーション管理者は、Oracle TuxedoシステムのAUTHSVR(5)サーバーでの使用に適したUNIXシステム形式のパスワード・ファイルを管理できます。このコマンドを実行する前に、SECURITY
をUSER_AUTH
、ACL
またはMANDATORY_ACL
に設定したOracle Tuxedoの構成を作成する必要があります。
tpmodusr
は、パスワード・ファイルfile
内の指定したユーザーのパスワードを変更するのに使用します(fileに/etc/passwd
を指定することはできません)。管理者は、ユーザーに関連付ける新しいパスワードの入力を求められます。パスワードを指定しない場合、cltname
にはデフォルト値として「*」
が設定されます。usrname
またはcltname
、もしくはこれらの両方に指定されたワイルドカードは、パスワード・ファイル内の対応するワイルドカード・エントリに対してのみ一致します。これらはすべての一致するエントリに対して拡張されるものではありません。
cltname
の値tpsysadm
とtpsysop
は、認証リクエストを処理する際にAUTHSVR(5)により特殊な処理が行われます。これらのcltname
値は、パスワード・ファイル内のワイルドカードのcltname
指定と照合されることはありません。
さらに、パスワード・ファイルへの追加順序に関係なく、ワイルドカードのエントリは、明示的に指定された値の後で処理されます。認証リクエストは、最初に一致するパスワード・ファイルのエントリに対してのみ認証されます。
このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
このコマンドは、ユーザーをSECURITY
USER_AUTH
に構成するために使用します。SECURITY
ACL
またはMANDATORY_ACL
との互換性を保つためには(これらのセキュリティ・レベルに移行できるようにするためにも)、次の制限に従う必要があります。
tpusrmod(1)
コマンドでは、これらの制限が自動的に適用されます。
tpaddusr(1)
、tpdelusr(1)
、tpusradd(1)
、tpusrdel(1)
、tpusrmod(1)
、AUTHSVR(5)
tpusradd
- システムに新しいプリンシパルを追加します。
tpusradd [-u
UID
] [-g
GID
] [-c
client_name
]
usrname
tpusradd
を実行すると、Oracle Tuxedoセキュリティ・データ・ファイルに新しいプリンシパル(ユーザーまたはドメイン)のエントリが追加されます。 この情報は、AUTHSVR(5)サーバーでユーザー単位の認証に使用されます。
tmloadcf(1)
のいずれかを使用して、アプリケーションを構成します。TUXCONFIG
ファイルを指すようにTUXCONFIG
環境変数を設定します。 SECURITY
をUSER_AUTH
、ACL
、またはMANDATORY_ACL
に設定します。 アプリケーションがアクティブでない場合、tpusradd
を構成のMASTER
上で実行する必要があります。アクティブな場合は、このコマンドはどのアクティブなモードでも実行できます。
このコマンドで作成されたシステム・ファイル・エントリは1行の制限が512文字です。いくつもの(複数の)オプションに長い引数を指定するとこの制限を超えることがあります。
-u
UID
UID
は、16Kより小さい正の10進数でなければなりません。UID
は、アプリケーションの既存の識別子のリスト内で一意でなければなりません。UID
のデフォルトは、1以上の次の使用可能な(一意の)識別子です。
-g
GID
-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”
tpgrpadd(1)
、tpgrpdel(1)
、tpgrpmod(1)
、tpusrdel(1)
、tpusrmod(1)
、AUTHSVR(5)
tpusrdel
usrname
tpusrdel
コマンドは、システムからプリンシパル(ユーザー名またはドメイン名)の定義を削除します。このコマンドは、指定されたユーザーの定義を削除します。usrname
には、削除する既存のユーザーの名前を指定します。
tmloadcf(1)
のいずれかを使用して、アプリケーションを構成します。TUXCONFIG
ファイルを指すようにTUXCONFIG
環境変数を設定します。 SECURITY
をUSER_AUTH
、ACL
、またはMANDATORY_ACL
に設定します。アプリケーションがアクティブでない場合、tpusradd
は構成のMASTER
上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
tpusrdel
コマンドは正しく完了すると、終了コード0
で終了します。
tpgrpadd(1)
、tpgrpdel(1)
、tpgrpmod(1)
、tpusradd(1)
、tpusrmod(1)
tpusrmod [-uUID
] [-gGID
] [-cclient_name
] [-lnew_login
] [-p]usrname
tpusrmod
を実行すると、Oracle Tuxedoセキュリティ・データ・ファイルのプリンシパル(ユーザーまたはドメイン)のエントリが変更されます。 この情報は、AUTHSVR(5)サーバーによるOracle Tuxedoシステム認証に使用されます。
tmloadcf(1)
のいずれかを使用して、アプリケーションを構成します。TUXCONFIG
ファイルを指すようにTUXCONFIG
環境変数を設定します。 SECURITY
をUSER_AUTH
、ACL
、またはMANDATORY_ACL
に設定します。アプリケーションがアクティブでない場合、tpusradd
は構成のMASTER
上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドで作成されたシステム・ファイル・エントリは1行の制限が512文字です。いくつもの(複数の)オプションに長い引数を指定するとこの制限を超えることがあります。
-u
UID
-g
GID
-c
client_name
-l
new_login
:
)、シャープ(#
)または改行文字(¥n
)を使うことはできません。ユーザー名は、アプリケーションの既存の識別子のリスト内で一意でなければなりません。また、このオプションを指定すると、-p
オプションによってパスワードを再設定することになります。
-p
usrname
ユーザー単位の認証や管理者のパーミッションの構成の詳細は、「AUTHSVR(5)」を参照してください。
このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
tpusrmod
コマンドは正しく完了すると、終了コード0
で終了します。
tpgrpadd(1)
、tpgrpdel(1)
、tpgrpmod(1)
、tpusradd(1)
、tpusrdel(1)
、AUTHSVR(5)
tuxadm
- Oracle Tuxedo管理コンソールCGIゲートウェイ
http://cgi-bin/tuxadm[TUXDIR=tuxedo_directory | INIFILE=initialization_file][other_parameters]
tuxadm
は、ブラウザから管理コンソールを初期化する際に使用される、コモン・ゲートウェイ・インタフェース(CGI)プロセスです。「形式」に示されているように、このプログラムは1つのロケーションとして、またはWebブラウザからのURLとしてのみ使用できます。通常、標準コマンドライン・プロンプトからは実行されません。他のCGIプログラムと同様に、tuxadm
はQUERY_STRING
環境変数を使用してその引数一覧を解析します。
tuxadm
は引数を解析し、管理コンソールの初期化ファイルを見つけます。TUXDIR
パラメータが存在する場合、初期化ファイルはデフォルトで$TUXDIR/udataobj/webgui/webgui.ini
に設定されます。INIFILE
オプションが存在する場合は、パラメータの値は初期化ファイルへのフルパスになります。その他のパラメータが存在する場合もあります。
初期化ファイルの値をオーバーライドするために追加のパラメータを使用することもできます。初期化ファイルのパラメータの完全なリストは、wlisten
のリファレンス・ページを参照してください。実際の初期化ファイルで許される値と一貫性のあるオーバーライドがされないかぎり、tuxadm
プロセスによってENCRYPTBITS
パラメータがオーバーライドされることはありません。
tuxadm
の通常の動作は、管理コンソール・アプレットを起動するWebページを作成するためのHTMLコマンドを、標準出力に生成することです。Webページの全般的なフォーマットは、初期化ファイル内のTEMPLATE
パラメータによって制御されます。初期化ファイルに含まれるHTMLコマンドには、特殊文字列%APPLET%
を持つものがあり、この文字列の位置に管理コンソール・アプレットを埋め込みます。初期化ファイルからその他のパラメータ(CODEBASE
、WIDTH
、HEIGHT
など)を使用することにより、管理コンソールのインスタンスの作成に必要なすべてのパラメータを含む、正しいAPPLET
タグを生成できます。
注意: | Oracle Tuxedoでは、管理コンソールのセキュリティの脆弱性に関するいくつか問題を解決しています。このリリースで解決された脆弱性の詳細は、次のURLにある「セキュリティ・アドバイザリ」を参照してください。 |
注意: | http://www.beasys.co.jp/dev2dev/resourcelibrary/advisoriesnotifications/index.jsp |
注意: | 無効な入力が行われると、その無効の正確な内容を報告するメッセージのかわりに、管理コンソールからTUXDIR およびINIFILE の設定を確認するよう求める汎用的なエラー・メッセージが戻されるようになりました。この変更により、「情報の開示」や「クロスサイト・スクリプティング」といったセキュリティ・アタックを撃退できます。 |
注意: | 管理コンソールでは、アクセスをより困難にするため、URLで指定するパラメータをTUXDIR のみに限定する設定が可能になりました。他のパラメータ(たとえばINIFILE )をURLに指定すると、アクセスが失敗します。 |
注意: | この設定を有効にするには、環境変数TM_CONSOLE_DISALLOW_URLARGS をy に設定します。デフォルト構成では、この設定は無効になっています。 |
tuxadm
は、障害が発生した場合、エラー・メッセージを含むHTMLコードを生成します。CGIプログラムが動作する仕組みからすると、tuxadm
からいかなる種類のエラー・コードが戻される理由はありません。
tuxwsvr
- Oracle Tuxedo管理コンソールとともに使用するミニWebサーバー。
tuxwsvr
-l
nlsaddr
[-d
device
] [-L
logfile
] [-F]-i
initialization_file
tuxwsvr
はWorld Wide Webサーバー・プロセスです。これを使用すれば、顧客はOracle Tuxedo管理コンソール・プロセスが動作するマシン上に商用Webサーバーまたはパブリック・ドメインWebサーバーを設置していなくても、Oracle Tuxedo管理コンソール・プロセスをサポートすることができます。tuxwsvr
は、特にその他の指定がないかぎり、起動後はバックグラウンドで動作し、マシンが停止するか、オペレーティング・システム・コマンドを使用してtuxwsvr
プロセスが強制終了されるまで実行を継続します。
tuxwsvr
は、Oracle Tuxedo管理コンソールのサポートに必要なすべての機能を含んでいますが、事前分岐プロセス、サーバー側のHTMLインクルード(.shtml
ファイル)、デフォルトのディレクトリ索引、https
接続など、商用Webサーバー用の多数の機能は含まれていません。ただし、Oracle Tuxedo管理コンソールは独自の暗号化プロトコルを実装しているため、https
接続がなくても安全なモードで実行することができます。性能上の理由から、汎用的なWebサーバーでは、受信されたリクエストに対するDNS逆ルックアップは実行されません。
tuxwsvr
で使用されるコマンドライン・オプションには、以下のものがあります。
-l
nlsaddr
hostname:port_number
" #.#.#.#:port_number
" 最初の形式では、tuxwsvr
がローカル名の解決機能(通常DNS)を利用してhostname
のアドレスを見つけます。hostname
はローカル・マシンでなければなりません。ローカル名解決機能によってhostname
をローカル・マシンのアドレスに明確に解決される必要があります。2番目の例の文字列では、 ドットで区切った10進数の形式(#.#.#.#
)が使用されます。ドット区切りの10進数形式では、各#
には0
- 255
の数字を使用する必要があります。このドット区切りの10進数は、ローカル・マシンのIPアドレスを表します。いずれの形式でも、port_number
には、tlisten
プロセスが受信するリクエストをリスニングするTCPポート番号を指定します。port_number
には、0
- 65535
の数字または名前を指定します。port_number
が名前の場合は、ローカル・マシンのネットワーク・サービス・データベース内に存在する名前でなければなりません。アドレスは、先頭に「0x」
を付け、16進形式で指定することもできます。先頭の「0x」
の後の各文字は、0
- 9
の数字か、A
- F
までの英字(大文字/小文字に関係なく)です。16進数の形式は、IPX/SPXやTCP/IPのような任意のバイナリ・ネットワーク・アドレスにも役立ちます。アドレスはまた、任意の文字列として指定することもできます。たとえば、文字列のアドレスは、STARLANネットワークで使用されます。
-d
device
-L
logfile
tuxwsvr
がWebリクエストとエラー・メッセージのログ記録用に使用するファイル名の接頭辞。実際のログ・ファイルの名前は、月、日、年を表す7文字の文字列.
mmddyy
をこの接頭辞に追加したものになります。このオプションを指定しない場合、Webサーバーのログ・ファイルの接頭辞はカレント・ディレクトリのWB
です。tuxwsvr
プロセスを実行する各日の最初のログ・メッセージは新規ファイルに書き込まれます。
-F
tuxwsvr
をバックグラウンドではなくフォアグラウンドで実行するよう指定します。このオプションは、主にテストとデバッグを行う際に便利です。tuxwsvr
プロセスは、特にその他の指定がないかぎり、自動的にバックグラウンドで実行されます。コマンドラインで後にアンパサンド(&
)を付ける必要はありません。
-i
initialization_file
初期化ファイルには、Webサーバーで必要となるディレクトリへのマッピングが含まれます。また、いくつかのコメント行が含まれる場合もあります。コメント行の先頭には#
記号が付きます。コメント行以外の行は、空白で区切られた3つのフィールドで構成されます。
初期化ファイルでコメント行以外の最後の行には、接頭辞「/」
が必要です。これよりも前の行に接頭辞「/」
が付いていると、警告メッセージが生成されます。
初期化ファイルは、起動時に1回読み取られます。したがって、このファイルに何らかの変更を加えた場合は、変更を有効にする前にtuxwsvr
を停止して再起動する必要があります。
CGI /cgi-bin /home/tuxedo/udataobj/webgui/cgi-bin
CGI /webgui /home/tuxedo/udataobj/webgui/cgi-bin
HTML /java /home/tuxedo/udataobj/webgui/java
HTML /doc /home/tuxedo/doc
HTML / /home/tuxedo/udataobj/webgui
次のようなマシンのポート8080でWebサーバーが稼働しているとします。
tuxmach.acme.com
http://tuxmach.acme.com:8080/cgi-bin/tuxadm?TUXDIR=/home/tuxedo
http://tuxmach.acme.com:8080/webgui/tuxadm?TUXDIR=/home/tuxedo
初期化ファイルのCGIディレクトリの値として$TUXDIR/bin
を指定することはお薦めできません。このように指定すると、WebユーザーがOracle Tuxedoの実行可能ファイルを起動してしまう可能性があります。ただし、このようなユーザーによって、tuxadm
以外の実行可能ファイルの結果が参照されることはありません。これらの実行可能ファイルはCGIプログラムとして記述されていないためです。
また、前の例では、最初のHTML行は、2つ目のHTML行でサブディレクトリの/java
を同じパスにマッピングしているため重複しています。この最初の行を含める理由は、ユーザーによってはHTMLドキュメントを格納している場所とは別の場所にJavaクラス・ファイルを配置することがあるためです。
HTML /tuxedo/webgui D:\\tuxedo\\htmldocs
CGI /cgi-bin C:\\cgi-bin
HTML /java D:\\tuxedo\\udataobj\\webgui\\java
HTML / D:\\tuxedo\\udataobj\\webgui
マシンntsvr1のポート80でWebサーバーが稼働しているとします。次のURLを入力します。
http://ntsvr1/tuxedo/webgui/page1.html
D:\\tuxedo\\htmldocs\\page1.html
おそらくこのファイルは、管理コンソールを起動する、顧客によって作成されたページです。
tuxwsvr
プロセスを正常に終了する唯一の方法は、プロセスにSIGTERM
シグナルを送ることです。
tuxwsvr
プロセスは、商用Webサーバーを設置していない顧客向けに、Oracle Tuxedo管理GUI用のWebサーバーとして提供されています。UNIXシステムの場合は、次の形式のコマンドラインをUNIXの初期化スクリプトに追加して、Webサーバーが自動的に起動するようにすることをお薦めします。
TUXDIR=tuxdir_path_name
$TUXDIR/bin/tuxwsvr -lnlsaddr
-iinitialization_file
tuxdir_path_name
は、Oracle Tuxedoシステム・ソフトウェアの場所へのフルパス名を表します。nlsaddr
は、このtuxwsvr
プロセスによって使用される、ネットワーク上のアドレスです。
tuxwsvr
プロセスを起動する別の方法として、上記の推奨コマンドラインを使用して手動で起動する方法があります。また、cron
ジョブを使用して定期的(毎日またはそれより頻繁)にtuxwsvr
プロセスを起動する方法もあります。同じネットワーク・アドレスを使用してtuxwsvr
コマンドを重複して呼び出すと、コマンドは自動的に終了し、状況に応じてメッセージが記録されます。
アプリケーション管理者がtuxwsvr
プロセスにネットワーク・アドレスを指定する場合、指定されたネットワーク上で一意のネットワーク・アドレスを指定しなければならないという制約が1つだけあります。STARLANネットワークの場合は、推奨するアドレスuname.tuxwsvr
が通常一意の名前となります。TCP/IPの場合は、アプリケーション管理者が選択した一意のポートとローカル・マシンのノード識別子をペアにした0x0002
ppppnnnnnnnn
の形式のアドレスになります。特定のマシン(pppp
)で使用する一意のポート値は、ネットワークとマシンの組合せを考慮してユーザー間で取り決める必要があります。低いポート番号はシステム関連のサービスで使用されることが多いため、一般には高いポート番号が有効です。ノード・フィールド(nnnnnnnn
)に適切な値は、次の手順を実行して/etc/hosts
ファイルから見つけることができます。
tuxwsvr
を実行するローカル・マシンがTCP/IPアドレス指定機能を使用しており、アドレスが155.2.193.18
、マシン名がbackus.company.com
であるとします。さらに、tuxwsvr
はポート番号2334
でリクエストを受け取るとします。また、このポート番号2334
がbankapp-tuxwsvr
という名前のネットワーク・サービス・データベースに追加されているとします。-l
オプションで指定するアドレスは、次のいずれかの方法で表現できます。
最後に示す行は、アドレスを16進数形式で表したものです。0002
はTCP/IPアドレスの先頭部分、091E
はポート番号2334
を16進数に変換したもの、および9B02C112
はIPアドレス155.2.193.18
を16進数に変換したものです。最後の変換部分については、155
は9B
、2
は02
のように変換されています。
STARLANネットワークの場合は、通常、推奨アドレスuname
.tuxwsvr
がユニークな名前になります。
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
-d
mm/dd
-s
time
-e
time
txrpt
によって生成されるレポートは、1日のみを対象とします。入力ファイルに複数の日からのレコードが含まれている場合、-d
オプションがレポート対象の日付を制御します。
サーバーがtxrpt
を介して解析統計情報を収集する場合、ULOGDEBUG
変数を"y
"には設定しないようにしてください。ファイル内のデバッグ・メッセージをtxrpt
が間違って解釈してしまいます。
txrpt -nSVC1 -d10/15 -s11:01 -e14:18 newr
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
、wud
- 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
を受け取るサービスがレコードをデータベースに追加するものである場合、大量のフィールド化データをOracle Tuxedo ATMIシステムが認識しているデータベースに入力するためにud
を使用できます。
入力パケットの行の先頭を示すフラグ(「入力形式」を参照)を使用することにより、ud
をOracle Tuxedo ATMIサービスのテストに利用できます。
デフォルトの設定では、FBFR
をサービスに送った後、ud
はFBFR
が戻されることを期待します。送信および応答FBFR
はud
の標準出力に出力されます。エラー・メッセージは標準エラー出力に返されます。
ud32
は、FBFR32
タイプのFML32バッファを使用します。
wud
およびwud32
はワークステーション・ライブラリを利用して構築されたバージョンのud
とud32
です。/WSだけをサポートしているサイトでは、wud
およびwud32
コマンドだけが提供されています。
-p
-d
delay
は、タイムアウトまでの最大遅延時間を秒単位で指定します。タイムアウトになると、stderr
にエラー・メッセージが出力されます。ud
が指定された遅延時間内に以前のリクエストに対する応答メッセージを受け取った場合には、それらのメッセージは遅延RTNパケットとして示されます。このため、遅延時間内に複数の応答パケットを受け取ることも可能です。wud
用の-d
オプションは、DOSオペレーティング・システム上では動作しません。
-e
error_limit
-r
-s
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()
を使用して応答バッファをリクエスト・バッファに結合することを指定します。詳細は、「Fupdate、Fupdate32(3fml)」および「Fojoin、Fojoin32(3fml)」を参照してください。
-n
-U
usrname
-C
cltname
-S
buffersize
-d
delay
および-r
オプションは、相互に排他的です。
入力パケットは、次のようにフォーマットされた行で構成されます。
flag
はオプションです。flag
を指定しなかった場合には、fldname
で指定され、値fldval
を持つフィールドの新しいオカレンスがフィールド化バッファに追加されます。flag
を指定する場合は、次のいずれかとします。
+
-
=
#
fldname
がリテラル値SRVCNM
であると、fldval
はFBFR
を受け取るサービスの名前となります。
長いフィールド値は、継続行の先頭にタブを挿入することにより、次の行にまたがって入力できます。
改行文字だけで構成される行は入力の終わりを示し、そのパケットをud
に送ります。
入力パケットが文字n
と改行文字で構成される行で始まる場合、FBFR
は初期化しなおされます。FBFR
の再初期化は、コマンドラインに-un
オプションを使用することですべてのパケットに指定することができます。
表示不能文字を入力パケットに入力するには、エスケープ文字の後に目的の文字を表す16進数表現を入力します。詳細は、UNIXリファレンス・マニュアルのascii(5)
を参照してください。シェルからエスケープ文字を保護するには、追加の円マークが必要です。たとえば、スペースは¥20
と入力データに入力できます。ud
はこの形式の全入力を認識しますが、その最大の利点は非表示文字を入力する際です。
当初、ud
はフィールド化バッファをその標準入力から読み取って、fldname
がSRVCNM
である行のfldval
によって名前が与えられているサービスにその入力を送ります。-r
オプションが選択されていないかぎり、ud
は応答フィールド化バッファが送られるまで待機します。応答が得られると、ud
は次のフィールド化バッファを標準入力から読み取ります。ud
は、このようにするために、戻されるバッファを現在のバッファとして保持します。つまり、2番目のフィールド化バッファを形成する標準入力上の行が、返されたバッファへの追加情報として扱われます。つまり、デフォルトのアクションでは、ud
は一連の入力行によってその内容が追加される現在のバッファを維持します。これらの入力行は、空白行で区切られます。コマンドラインで-un
オプションを指定するか、あるいは入力セットの先頭行として英字n
を唯一の文字とする行を含めることにより、ud
に現在のバッファを廃棄する(つまり、そのFBFR
構造を初期化しなおす)よう指示できます。また、-uu
オプション(Fupdate
を使用)あるいは-uj
オプション(Fojoin
を使用)を指定することにより、ud
に応答バッファの内容をリクエスト・バッファにマージさせることができます。
ud
を保護アプリケーションで実行する場合、そのアプリケーションを利用するためにはアプリケーション・パスワードが必要です。標準入力が端末である場合、ud
はユーザーにパスワードの入力を求めてきます。このとき、ユーザーが入力するパスワードは画面には表示されません。ただし、ud
は標準入力からの一括入力を受け付けるので、標準入力は一般的に端末ではなくファイルとなっています。このケースでは、パスワードは環境変数APP_PW
から取り出されます。この環境変数が指定されていないときに、アプリケーション・パスワードが必要であると、ud
は異常終了します。
これらのコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
FLDTBLDIR
およびFIELDTBLS
を設定してエクスポートする必要があります。FLDTBLDIR
のディレクトリのリストには、$TUXDIR/udataobj
が含まれていなければなりません。FIELDTBLS
には、フィールド表の1つとしてUsysflds
が含まれていなければなりません。
標準入力が端末でない場合、保護アプリケーションではAPP_PW
をアプリケーション・パスワードに設定しなければなりません。TPIDATA
は、標準入力が端末でない場合、認証サーバーで保護アプリケーションにアプリケーションを結合するのに必要なそのアプリケーション特定のデータに設定しなければなりません。
また、ワークステーションからアクセスする場合には、WSNADDR
、WSDEVICE
および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
はまず、CLIENT
フィールドを「J.Jones」、ADDR
フィールドを「21 Valley Road」、STOCK
フィールドを「AAA」
およびSHARES
フィールドを「100」に設定した状態で、フィールド化バッファをサービスBUY
に送信します。
フィールド化バッファがBUY
サービスから戻されると、ud
は、次の行セットを使用してSRVCNM
をSELL
に、STOCK
をXXX
に、SHARES
を300
に変更します。また、STOCK
フィールドの追加オカレンス値をYYY
で、SHARES
フィールドの追加オカレンス値を150で作成します。このフィールド化バッファはこの後、SELL
サービス(SRVCNM
フィールドの新しい値)に送られます。
SELL
が応答フィールド化バッファを返してくると、ud
は次の行セットを唯一の文字n
で構成される行で開始することにより、そのバッファを廃棄します。次にud
は、全く新しい入力パケットを、SRVCNM
をBUY
に、CLIENT
を値T. Smith
に設定して構築します。
Fextread、Fextread32(3fml)、compilation(5)
UNIXシステムのリファレンス・マニュアルのascii(5)
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
『FMLを使用したTuxedoアプリケーションのプログラミング』
viewc
、viewc32
- Oracle Tuxedo ATMI VIEWを生成するVIEWコンパイラ
viewc [-n] [-dviewdir
] [-C]viewfile
[viewfile
. . . ]
viewc32 [-n] [-dviewdir
] [-C]viewfile
[viewfile
. . . ][-s]
viewc
はVIEWコンパイラ・プログラムです。ソースVIEWファイルを取り込み、以下のファイルを作成します。
viewc32
は、32ビットのFMLで使用します。環境変数FIELDTBLS32
およびFLDTBLDIR32
を使用します。
viewfile
は、VIEWソース記述を収めているファイルです。複数のviewfile
をviewc
コマンドラインに指定できます。ただし、同じVIEW
名が複数のviewfile
に使用されていない場合にかぎります。
デフォルトの設定では、viewfile
内のすべてのVIEWがコンパイルされ、複数のファイルが生成されます。つまり、VIEWオブジェクト・ファイル(接尾辞は.V
)とCヘッダー・ファイル(接尾辞は.h
)です。オブジェクト・ファイルの名前は、-d
オプションによってかわりのディレクトリが指定されないかぎり、カレント・ディレクトリのviewfile.V
です。ヘッダー・ファイルはカレント・ディレクトリに作成されます。
-C
オプションを指定すると、viewfile
で定義しているVIEW
1つにつき1つのCOBOLコピー・ファイルが作成されます。これらのコピー・ファイルはカレント・ディレクトリに作成されます。
viewc
によるコンパイル時には、viewfile
に指定されているフィールド識別子とフィールド名が、フィールド表ファイルから得られる情報と対比され、マッピング情報がオブジェクト・ファイルに格納されます。したがって、VIEWがFMLバッファに基づいている場合には、環境変数
FIELDTBLS
とFLDTBLDIR
を設定およびエクスポートして、関連するフィールド表ファイルを指すようにすることが重要です。FIELDTBLS
とFLDTBLDIR
の詳細は、『FMLを使用したTuxedoアプリケーションのプログラミング』と『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』を参照してください。
viewc
コンパイラがフィールド名とそのフィールド識別子の対応をとれなかった場合(環境変数が正しく設定されていなかったり、フィールド表ファイルにフィールド名が含まれていなかった場合)、警告メッセージ
「Field not found」
が表示されます。
-n
オプションを使用すれば、FML
バッファにマッピングされていないC構造体に対応するVIEW記述ファイルを作成することができます。『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』では、このような独立したVIEW記述ファイルを作成および使用する方法について説明しています。
-n
-d
viewdir
-C
s
-C
オプションとともに使用されます。 注意: | Windowsプラットフォームでは大文字/小文字が区別されるため、このオプションはWindowsプラットフォームでは意味がありません。 |
CC
viewc
は通常、デフォルトのC言語コンパイル・コマンドを使用してクライアント実行可能コードを生成します。デフォルトのC言語コンパイル・コマンドは、サポートされているオペレーティング・システムごとに定義されており、UNIXシステムの場合はcc
(1)です。代替コンパイラを指定できるようにするため、viewc
は環境変数CC
が存在するかどうかを調べます。CC
がviewc
の環境に存在しない場合、またはこの環境変数が文字列""
である場合、viewc
はデフォルトのC言語コンパイラを使用します。環境内にCC
が存在する場合、実行されるコンパイラの名前がCCの値となります。
CFLAGS
CFLAGS
は、コンパイラ・コマンドラインの一部として引き渡される引数のセットを指定するときに使用します。CFLAGS
がviewc
の環境に存在しない場合、または文字列""
である場合、buildclient
はコンパイラ・コマンドライン引数を追加しません。
出力VIEWファイルは、マシンおよびコンパイラに依存するバイナリ・ファイルです。あるマシン上で特定のコンパイラを使用してビューを生成した場合、そのVIEWファイルを別のタイプのマシン上で使用することはできません。また、パディングやパッキングなど、生成される構造体オフセットが異なるコンパイラで使用することもできません。
-c
{ m
| b
}
m
です。Microsoft Cコンパイラがこのオプションの省略値です。-c
オプションはWindowsでのみサポートされます。
-1
filename
filename
.bat
という名前を付けます。このファイルが作られた後、パス2を実行する前にfilename.batを実行する必要があります。パス1とパス2を使用すると、コンパイルできるVIEWのサイズを拡大できます。
-2
filename
『Oracle Tuxedo ATMI FML関数リファレンス』の「FML関数の紹介」
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
viewcs
、viewcs32
— 顧客定義のVIEWファイルであるTuxedo .NETワークステーション・クライアント・アプリケーション用のC#ソース・ファイルと.dllライブラリ・ファイルを生成
viewcs [binarydllfile] binaryviewfile [binaryviewfile...]
viewcs32 [binarydllfile] binaryviewfile [binaryviewfile...]
viewcs
は、顧客定義のVIEWファイル用のC#ソース・ファイルと.dllライブラリ・ファイルを生成するために使用するユーティリティです。viewc
の出力ファイル(バイナリVIEWファイル。ファイル名の拡張子は、DOS/Windowsの場合は.VV
、他のプラットフォームの場合は.V
)を入力として、顧客定義のVIEWの構造体を表すクラスを持つ対応C#ソース・ファイルと.dllライブラリ・ファイルを生成します。バイナリの.dll
ファイルが与えられていない場合は、.dllライブラリ・ファイルは生成されません。
viewc
やviewc32
とは異なり、viewcs
およびviewcs32は環境変数に依存しません。必要とする唯一の入力は、コマンドラインで指定するバイナリのVIEWファイルです。
『Tuxedo .NETワークステーション・クライアント』の「Tuxedo .NETワークステーション・クライアント・アプリケーションの作成」
viewdis
、viewdis32
- バイナリVIEWファイル対応のVIEW逆アセンブラ
viewdis
viewobjfile . . . viewdis32 viewobjfile . . .
viewdis
はVIEWコンパイラが生成したVIEWオブジェクト・ファイルを逆アセンブルし、VIEWファイル形式でVIEW情報を表示します。また、対応する構造体メンバーのオフセットも表示します。
1つまたは複数のviewobjfiles
(接尾辞は.V
)をコマンドラインに指定できます。デフォルトの設定では、カレント・ディレクトリのviewobjfile
が逆アセンブルされます。viewobjfileがない場合、エラー・メッセージが表示されます。
viewobjfile
にある情報は、フィールド表ファイルの情報を使用してVIEWファイルにあるフィールド識別子とフィールド名の整合により取得されたため、環境変数
FIELDTBLS
およびFLDTBLDIR
の設定およびエクスポートを行うことが重要になります。
viewdis
の出力は元のVIEW記述と同じように見え、主にコンパイル後のオブジェクトVIEW記述が正しいかどうかを検証するときに使用します。
viewdis32
は、32ビットのFMLで使用します。環境変数FIELDTBLS32
およびFLDTBLDIR32
を使用します。
『FMLを使用したTuxedoアプリケーションのプログラミング』
wlisten
- Oracle Tuxedo管理コンソール・リスナー・プロセス
wlisten [-i
initialization_file
]
wlisten
は、管理コンソールのアプレットからの着信接続を受信して、管理コンソールのゲートウェイ・プロセス(wgated
)を開始するリスナー・プロセスです。すべてのwlisten
オプションは、-i
オプションで指定される初期設定ファイルから取得されます。-i
オプションが指定されていない場合は、$TUXDIR/udataobj/webgui/webgui.ini
がデフォルトの初期化ファイルになります。初期化ファイルで使用できる形式とパラメータについては後で説明します。デフォルトの初期化ファイルは、システムのインストール時に生成されます。
wlisten
は、初期化ファイルにFOREGROUND=Y
パラメータが含まれていないかぎり、起動後はバックグラウンドで動作し、マシンが停止されるか、wlisten
プロセスがオペレーティング・システム・コマンドによって強制終了されるまで実行を継続します。
wlisten
では、次のコマンドライン・オプションを使用します。
-i
initialization_file
initialization_file
を、wlisten
で使用するように指定します。初期化ファイルの形式については後で説明します。初期化ファイルのパラメータのほとんどは、Oracle Tuxedoシステムのインストール時に妥当な値に設定されます。このオプションがコマンドラインに指定されていない場合、デフォルトの初期化ファイルの場所は$TUXDIR/udataobj/webgui/webgui.ini
になります。
-i
オプションで指定する初期化ファイルにはパラメータが含まれており、アプレット、wlisten
プロセス、およびゲートウェイ・プロセスはこれらのパラメータを使用して、管理コンソールの接続と以降の操作に必要な構成情報を調整することができます。
初期化ファイルのパラメータのほとんどは、Oracle Tuxedoシステムのインストール時に構成されます。また、管理コンソールの実行中、ユーザー入力に応じて、他のパラメータが自動的に追加されることもあります。たとえば、ドメインに接続すると、コンソールはそのドメインのリストを初期化ファイルに追加します。次回からは、プルダウン式「Domain」メニューを使用すると、そのドメインがリストされるようになります。このため、初期化ファイルを明示的に編集していないにもかかわらず、ファイルに行が追加されたり変更されることがあります。
初期化ファイルは、コメント行(空白行または#
文字が先頭にある行)とキーワード行から構成されます。キーワード行の形式はkeyword=value
です。以下に、有効なキーワードとその値を示します。
TUXDIR=
directory
-i
オプションがwlisten
に指定されていない場合は、TUXDIR
を環境内で設定する必要があり、通常は初期化ファイルに指定されている値に設定します。
NADDR=
network_address
wlisten
で使用するネットワーク・アドレスを指定します。このパラメータにはデフォルト値はなく、値を割り当てる必要があります。IPv4ネットワーク・アドレスの形式は、tlisten
およびその他のOracle Tuxedoコマンドで使用する形式と同じです。詳細は、後述の「ネットワーク・アドレス」を参照してください。注意: | wlisten およびWebGUIは、IPv6をサポートしません。 |
DEVICE=
device
wlisten
で使用するネットワーク・デバイスを指定します。この変数はオプションです。バージョン6.4以前のリリースでは、ネットワーク・デバイスが選択されていないことを示す空文字列がデフォルト値に設定されています。Microsoft Windowsなどの一部のシステムでは、この設定が適切です。ここでは、tlisten
の-d
オプションに使用する値と同じ値を使用します。UNIXシステムによっては、 /dev/tcp
を指定する場合もあります。この値を割り当てるかどうかは、オペレーティング・システムによって異なります。
FOREGROUND=
[Y
| N
]
wlisten
をフォアグラウンドで実行する必要があるかどうかを指定します。デフォルト値はN
で、wlisten
は自動的にバックグラウンドで実行されます。このオプションは、テストとデバッグのみを目的として使用します。
WIDTH=
pixels
およびHEIGHT=
pixels
FRAMEWIDTH=
pixels
とFRAMEHEIGHT=
pixels
ENCRYPTBITS=
[0
| 40
]
0
で、暗号化を使用しません。40
オプションを選択すると、40ビットRC4暗号化が使用されます。この場合、tlisten
パスワード・ファイルが必要で、暗号化キーを交換するために認証を行う必要があります。
DOCBASE=
document_root
CODEBASE=
applet_root
SNAPDIR=
snapshot_directory
SNAPDIR
の値は、URLではなくフルパス名です。このパラメータはOracle Tuxedoシステムのインストール時に設定され、通常は以後この値を変更しません。このパラメータにデフォルト値はなく、初期化ファイルで値を割り当てる必要があります。
SNAPBASE=
http_root
SNAPBASE
の値は、フルパス名ではなくURLです。このパラメータはOracle Tuxedoシステムのインストール時に設定され、通常は以後この値を変更しません。このパラメータにデフォルト値はなく、初期化ファイルで値を割り当てる必要があります。
TEMPLATE=
template_path
%APPLET%
を単独で含める必要があります。ファイルの残りの部分は、通常は命令、ロゴまたは管理コンソールの管理者が使用するその他の情報を含む、標準のHTML形式ファイルでなければなりません。デフォルトのパス名は$TUXDIR/udataobj/webgui/webgui.html
です。
INIFILE=
init_file
NADDR
とCODEBASE
パラメータ、各種ディレクトリ・パラメータなどは同じ値に設定する必要があり、ENCRYPTBITS
パラメータの値は2つのファイル間で一致している必要があります。このように、アプリケーションで2つのファイルを使用すると、1つだけしか使用しない場合よりエラーが発生しやすくなります。
FLDTBLDIR32=
field_table_dir
とFIELDTBLS32=
field_tables
wlisten
プロセスを正常に終了する唯一の方法は、プロセスにSIGTERM
シグナルを送ることです。
$TUXDIR/bin/wlisten -i
initialization_file
wlisten
プロセスを手動で開始するには、システム・プロンプトの後に上記のコマンドラインを入力します。APPDIR/.adm/tlisten.pw TUXDIR/udataobj/tlisten.pw
たとえば、wlisten
を実行しているローカル・マシンでTCP/IPアドレス指定機能を使用している場合を考えます。マシン名はbackus.company.com
で、アドレスは155.2.193.18
です。
また、wlisten
はポート番号2334
でリクエストを受け取るとします。
注意: | 一部のポート番号は、お使いのシステムで使用されるトランスポート・プロトコル(TCP/IPなど)のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート・プロトコルのドキュメントを調べてください。 |
また、このポート番号2334
がbankapp-nlsaddr
という名前のネットワーク・サービス・データベースに追加されているとします。-l
オプションで指定するアドレスは、次に示す方法で表現できます。
最後に示す行は、アドレスを16進数形式で表したものです。0002
はTCP/IPアドレスの先頭部分、091E
はポート番号2334
を16進数に変換したもの、および9B02CU2
はIPアドレス155.2.193.18
を要素ごとに16進数に変換したものです。最後の変換部分については、155
は9B
、2
は02
のように変換されています。
STARLAN
ネットワークの場合は、通常、推奨アドレスuname
.wlisten
が一意の名前になります。
![]() ![]() ![]() |