![]() ![]() ![]() ![]() |
『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 ライブラリを組み合わせて、1 つのロード モジュールを形成します。このロード モジュールは、使用しているオペレーティング システム用に定義されたデフォルトの C 言語コンパイル コマンドを使用し、buildclient
によって作成されます。UNIX システム用のデフォルトの C 言語コンパイル コマンドは cc
(1) コマンドです (UNIX システムのリファレンス マニュアルを参照してください)。
-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
を使用して 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 ライブラリがデフォルトで使用されます。
注意 : | Tuxedo 10.0 より前のリリースの buildclient は、常に静的バージョンの libcobatmi ライブラリをリンクします。 |
buildclient
のリンク フェーズが存在する場合、これらのファイルは環境変数 TM_COB_CC_FILES で指定する必要があります。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。この環境変数は、-C オプションが指定され、環境変数 COB が「AcuCobol」に設定されている場合にのみ有効です。
注意 : | ACUCOBOL CVM で使用される ACUCOBOL のシステム ライブラリおよびオブジェクト ファイルは、ファイル リストに含める必要があります。 |
注意 : | ファイル direct.c は、ACUCOBOL が C 外部変数および COBOL プログラムの関数にアクセスするために使用されます。プログラマが direct.c をサード パーティのソフトウェアをサポートするように変更した場合、変更された direct.c は $ACUCOBOL/lib ディレクトリ下に配置する必要があります。 |
LD_LIBRARY_PATH
(UNIX システムの場合)
LD_LIBRARY_PATH
には、Oracle Tuxedo システムの共有オブジェクトに加えて、COBOL コンパイラが使用する共有オブジェクトが存在するディレクトリを指定します。一部の UNIX システムでは、別の環境変数が必要となる場合もあります。HP-UX システムでは SHLIB_PATH
環境変数を、AIX システムでは LIBPATH
環境変数を使用します。
LIB
(Windows NT システム)
buildclient
コンパイル ツールは、以下のプラットフォームで使用できます。
buildclient
コマンドラインで指定するファイル名は、お使いのオペレーティング システムの構文とセマンティクスに従ってください。
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"
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
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 とのやり取りに使用します。詳細については『MQ Adapter』を参照してください。
ユーザは、MQ Adapter サーバ ファイルを作成または上書きするためのパーミッションを持つ必要があります。
buildmqadapter
は buildserver コマンドを呼び出してそれぞれの MQ Adapter サーバを作成します。
事前リンクされたオブジェクトを配布する代わりに MQ Adapter サーバ ファイルを buildmqadapter で作成すると、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# コンパイラを呼び出す別のコマンドラインを作成し、実行可能アプリケーションをビルドします。
たとえば、Windows システムでは、[buildnetclient -o t1.exe, t1.cs]
は 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
を設定することにより、コンパイラに渡すオプションを指定できます。CFLAGS
が定義されていない場合に buildobjclient
が呼び出されると、buildobjclient
コマンドは CPPFLAGS
の値 (定義されている場合) を使用します。
-v
-o
name
client<.type>
になります。type は拡張子で、アプリケーションのオペレーティング システムによって異なります。たとえば、UNIX システムでは type
は付きませんが、Windows システムでは type
は .EXE
になります。
-f
firstfile-syntax
buildobjclient
コマンドのコンパイルおよびリンク フェーズで最初に取り込むファイルを指定します。指定されたファイルの後で CORBA ライブラリが取り込まれます。ファイルは、次の表に示すように 2 種類の方法で指定できます。
注意 : | 名前に空白が含まれているファイルは指定できません。 |
注意 : | -f オプションは何度でも指定できます。 |
-l
lastfile-syntax
buildobjclient
コマンドのコンパイルおよびリンク フェーズで最後に取り込むファイルを指定します。指定されたファイルは、CORBA ライブラリの後に取り込まれます。ファイルは、次の表に示すように 2 種類の方法で指定できます。
注意 : | -l オプションは何度でも指定できます。 |
-P
Callbacks
ラッパー クラスを使用できます。ただし、生成された共同クライアント/サーバでは、Oracle Tuxedo TP フレームワークの機能であるオブジェクトの状態管理およびトランザクション管理を使用することができません。クライアントの生成時には、-P
スイッチが IDL コンパイラに渡される必要があります。buildobjserver
を使用すると、TP フレームワークが提供するすべてのサポートに対応したサーバを作成できます。デフォルトでは、サーバ ライブラリへのリンクは行われません。つまり、デフォルトでは、クライアントのみが作成され、共同クライアント/サーバは作成されません。
-h または -?
TUXDIR
CC
.c
または .cpp
ファイル拡張子を持つファイルのコンパイルに使用するコンパイラを指定します。この環境変数が定義されていない場合、.c
および .cpp
ファイルのコンパイルには、使用しているオペレーティング システムのデフォルトの C++ 言語コンパイル コマンドが呼び出されます。
CFLAGS
.c
または .cpp
ファイル拡張子を持つファイルのコンパイラ コマンドラインの一部として渡される引数を指定します。CFLAGS
が buildobjclient
コマンド環境に存在しない場合、buildobjclient
コマンドは CPPFLAGS
環境変数があるかどうかを調べます。
CPPFLAGS
注意 : | CFLAGS 環境変数によって渡される引数は、CPPFLAGS 変数より優先されます。 |
buildobjclient
コマンドによって自動的に渡されるコマンドライン オプション "-I$(TUXDIR)/include"
(UNIX システムの場合) または
/I%TUXDIR%¥include
(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
のファイルのコンパイラ コマンドラインの一部として渡される引数を指定します。このオプションは、-I$TUXDIR/include
コマンドライン オプション (UNIX システム) または /I%TUXDIR%¥include
コマンドライン オプション (Windows NT システム) に追加して使用し、buildobjserver
コマンドによって自動的に渡されます。CPPFLAGS
が buildobjserver
コマンド環境で使用できない場合、コンパイラ コマンドは追加されません。
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
][-s
{ @filename | service[,service .. . ]
[:func]| :func } ] [-v
] [-o
outfile] [-f
firstfiles]
[-l
lastfiles] [{-r|-g
} rmname] [-k
] [-t]
buildserver
は、Oracle Tuxedo ATMI のサーバのロード モジュールを構築するときに使用します。このコマンドは、-f
および -l
オプションで指定されるファイルと標準のサーバのメイン ルーチンおよび標準 Oracle Tuxedo ATMI ライブラリを組み合わせて、ロード モジュールを作成します。このロード モジュールは、buildserver
が呼び出す cc
(1) コマンドによって作成されます (UNIX システムのリファレンス マニュアルの cc
(1) を参照してください)。buildserver
のオプションにはそれぞれ、次のような意味があります。
-v
-o
outfile
-f
firstfiles
buildserver
のコンパイルおよびリンク フェーズで最初に取り込む 1 つまたは複数のファイルを指定します。指定されたファイルが取り込まれた後で Oracle Tuxedo ATMI ライブラリが取り込まれます。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。コンパイラ オプションおよび引数を含むように指定する場合は、以下に説明する CFLAGS
および ALTCFLAGS
環境変数を使用します。
-l
lastfiles
buildserver
のコンパイルおよびリンク フェーズで最後に取り込む 1 つまたは複数のファイルを指定します。指定されたファイルは、Oracle Tuxedo ATMI ライブラリが取り込まれた後で取り込まれます。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。
-r
rmname
rmname
は、$TUXDIR/udataobj/RM
にあるリソース マネージャのテーブルにあるものでなければなりません。このファイルの各行は次のような形式になります。
rmname:rmstructure_name:library_names
buildtms(1)
」を参照してください)。rmname
の値を使用することにより、$TUXDIR/udataobj/RM
にあるエントリは、リソース マネージャに関連したライブラリを自動的に含み、トランザクション マネージャとリソース マネージャ間のインタフェースを正しく設定するのに使用されます。他の値は、リソース マネージャのテーブルに追加されているものを指定できます。-r
オプションの指定がない場合、デフォルトの設定として null リソース マネージャが使用されます。UBBCONFIG(5) のリファレンス ページを参照してください。
-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
が環境に存在すれば、実行するコンパイラの名前としてその値が使用されます。
CFLAGS
CFLAGS
は、コンパイラ コマンドラインの一部として引き渡される引数のセットを指定するときに使用します。これは、buildserver
に自動的に渡されるコマンドライン オプション "-I${TUXDIR}/include
" に追加されます。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 ライブラリがデフォルトで使用されます。
注意 : | Tuxedo 10.0 より前のリリースの buildserver は、常に静的バージョンの libcobatmi ライブラリをリンクします。 |
buildserver
のリンク フェーズが存在する場合、これらのファイルは環境変数 TM_COB_CC_FILES で指定する必要があります。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。この環境変数は、-C オプションが指定され、環境変数 COB が「AcuCobol」に設定されている場合にのみ有効です。
注意 : | ACUCOBOL CVM で使用される ACUCOBOL のシステム ライブラリおよびオブジェクト ファイルは、ファイル リストに含める必要があります。 |
注意 : | ファイル direct.c は、ACUCOBOL が C 外部変数および COBOL プログラムの関数にアクセスするために使用されます。プログラマが direct.c をサード パーティのソフトウェアをサポートするように変更した場合、変更された direct.c は $ACUCOBOL/lib ディレクトリ下に配置する必要があります。 |
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
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
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
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)
- 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 # XYZ リソース マネージャの TMS
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 アプリケーションのプログラミング』の「型付きバッファの管理」を参照してください。
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 サブコマンドが呼び出されたときにコンフィグレーション モードになります。アプリケーション管理者は、このモードを使用して Domains コンフィグレーション ファイル (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) 終了
セクションを入力してください [1]:
デフォルト セクションの番号は、プロンプトの終わりに角括弧内に表示されます。デフォルトの値を受け入れるときは、〔RETURN
〕または〔Enter
〕を押します。別のセクションを選択するときは、その番号を入力して〔RETURN
〕または〔Enter
〕を押します。
次に dmadmin
は、希望の操作を求めるプロンプトを表示します。
操作:
1) 最初 2) 継続
3) 照会 4) 追加
5) 更新 6) 削除
7) 新セクション 8) 終了
操作を入力してください [1]:
デフォルトの操作番号がプロンプトの終わりの角括弧内に表示されます。〔RETURN
〕または〔Enter
〕を押してこのオプションを選択します。別の操作を選択するときは、その番号を入力して〔RETURN
〕または〔Enter
〕を押します。
最初
- 指定したセクションの先頭レコードを取り出します。キー フィールドは必要ありません (入力バッファ内にある場合、キー フィールドは無視されます)。継続
- 入力バッファ内のキー フィールドに基づいて、指定したセクションから次のレコードを取り出します。照会
- キー フィールドで指定されたセクションから、指定されたレコードを取り出します。以下のフィールドの説明を参照してください。追加
- 指定したセクションに、指定したレコードを追加します。フィールドが指定されていない場合 (フィールドが不要である場合に限り)、DMCONFIG(5) で指定されたデフォルト値が使用されます。すべてのフィールドの現在の値は、出力バッファ内に返されます。この操作は、Oracle Tuxedo 管理者だけが行えます。更新
- 指定したセクションの入力バッファ内にある、指定したレコードを更新します。入力バッファ内で指定されていないフィールドは変更されません。すべてのフィールドの現在の値は、入力バッファ内に返されます。この操作は、Oracle Tuxedo 管理者だけが行えます。削除
- 入力バッファで指定したレコードを、選択したセクションから削除します。この操作は、Oracle Tuxedo 管理者しか実行できません。新セクション
- 入力バッファをクリアします。すべてのフィールドが削除されます。この操作の後、dmadmin
は即座にセクションの入力を求めます。終了
- プログラムを正常に終了します。dmadmin
は終了します。プロンプトで値 q
を入力してもプログラムを終了できます。
コンフィグレーション操作を行う場合は、有効なユーザ識別子は、このプログラムが実行されるマシンの Oracle Tuxedo 管理者ユーザ識別子 (UID
) と一致している必要があります。レコードの更新や追加を行う場合には、dmloadcf(1)
が使用する妥当性検査機能とすべてのデフォルト値が有効になります。
dmadmin
は次に、入力バッファを編集するかどうかをたずねるプロンプトを表示します。
フィールドを追加/修正するために、エディタを使用しますか ? [n]
ここで、y
を入力すると、入力バッファは一時ファイルにコピーされ、テキスト エディタが起動されます。どのエディタを使用するかは、環境変数 EDITOR
で指定できます。デフォルトでは UNIX のテキスト エディタの ed
が使用されます。入力形式は、フィールド名とフィールド値のペアで、「コンフィグレーション入力フォーマット」で記述しています。各 DMCONFIG
セクションに関連するフィールド名は、以下のサブセクションの表にリストします。フィールドのセマンティクスと関連範囲、デフォルト値、制約事項などについては、「DMCONFIG(5)」および「DM_MIB(5)」を参照してください。ほとんどのケースでは、フィールド名は DMCONFIG
ファイル内の KEYWORD
と同じです (接頭辞として "TA_
" が付いています)。ユーザが入力バッファの編集を終えると、dmadmin
がそれを読み込みます。ある特定のフィールド名が複数行に現れる場合、最初のものだけが使用され、残りは無視されます。エラーが発生した場合は、構文エラーが表示され、問題を訂正するかどうかをたずねるプロンプトが表示されます。
修正のためにエディタを実行しますか?
問題を訂正しない場合 (応答 n
) は、入力バッファにフィールドは含まれません。問題を訂正する場合は、エディタが再度実行されます。
最後に、操作を行うかどうかをたずねるプロンプトが表示されます。
実行しますか ? [y]
操作が完了すると、dmadmin
は戻り値を「戻り値 TAOK
」内に表示し、その後に出力バッファ フィールドが続きます。次に、プロセスが再開され、セクションを求めるプロンプトが表示されます。すべての出力バッファ フィールドは、バッファがクリアされない限り、入力バッファ内で利用できます。
いつでもブレークを入力して、セクションを求めるプロンプトでの対話を再開できます。
"QUIT"
を選択すると、テキスト バージョンのコンフィグレーション ファイルのバックアップを作成する認可を求めるプロンプトが表示されます。
BDMCONFIG ファイルを ASCII ファイルにバックアップしますか [y]?
バックアップを選択した場合、ファイル名の入力を求めるプロンプトが表示されます。
成功時にはバックアップが作成されたことが示され、失敗時にはエラーが表示されます。
入力パケットは、次のようにフォーマットされた行で構成されます。
fldname fldval
フィールド名は、1 つまたは複数のタブ (または空白) によってフィールド値と区別されます。
長いフィールド値は、1 つまたは複数のタブ (dmadmin
に再度読み込まれたときに破棄されます) で始まる継続行を使用することで、次の行に継続できます。
表示できない文字をフィールド値に入力したり、タブからフィールド値を開始するには、円マークを使用し、その後に希望する文字を 2 文字の 16 進数表現で使用します (UNIX システムのリファレンス マニュアルの ASCII
(5) を参照してください)。たとえば、スペースは ¥20 と入力データに入力できます。円マークは 2 回書くことで 1 つの円マークを入力できます。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)」で説明します。以下にキーとして示すフィールドは、セクション内のレコードをユニークに識別するために使用するキー フィールドです。これらのキー フィールドは、更新を行うとき入力バッファ内になければなりません。また、これらのキー フィールドを動的に更新することはできません。「更新」列は、どのようなときにフィールドを更新できるかを示しています。
可能な値は次のとおりです。
次の表に、DM_LOCAL
セクション (DM_LOCAL_DOMAINS
セクション) のフィールド一覧を示します。dmadmin
操作のプロンプトでこのセクションにアクセスするには、2 (LOCAL_DOMAINS) を入力します。
次の表に、DM_REMOTE
セクション (DM_REMOTE_DOMAINS
セクション) のフィールドの一覧を示します。dmadmin
操作のプロンプトでこのセクションにアクセスするには、3 (REMOTE_DOMAINS) を入力します。
DM_TDOMAIN
セクションには、TDOMAIN
タイプ ドメインが必要とするネットワーク アドレッシング パラメータが含まれています。次の表に、このセクションのフィールドの一覧を示します。
ローカル ドメイン アクセス ポイント識別子 (TA_LDOM
) の場合、TA_NWADDR
フィールドおよび TA_NWDEVICE
フィールドは、そのローカル ドメイン アクセス ポイントに関連付けられたゲートウェイ グループが実行中でないときに更新できます。
DM_OSITP
セクションには、OSITP
タイプ ドメインが必要とする OSI TP 1.3 対応のネットワーク アドレッシング パラメータが含まれています。次の表に、このセクションのフィールドの一覧を示します。
ローカル ドメイン アクセス ポイント識別子 (TA_LDOM
) の場合、この表に記載されていないフィールドは、そのローカル ドメイン アクセス ポイントに関連付けられたゲートウェイ グループが実行中でないときに更新できます。
DM_OSITPX
セクションには、OSITPX
タイプ ドメインが必要とする OSI TP 4.0 以降対応のネットワーク アドレッシング パラメータが含まれています。次の表に、このセクションのフィールドの一覧を示します。
注意 : | DM_OSITPX セクションは、Oracle Tuxedo リリース 8.0 以降が動作していないと使用できません。 |
ローカル ドメイン アクセス ポイント識別子 (TA_LDOM
) の場合、この表に記載されていないフィールドは、そのローカル ドメイン アクセス ポイントに関連付けられたゲートウェイ グループが実行中でないときに更新できます。
次の表に、DM_EXPORT
(DM_LOCAL_SERVICES
) セクションのフィールドの一覧を示します。dmadmin
操作のプロンプトでこのセクションにアクセスするには、4 (LOCAL_SERVICES) を入力します。
次の表に、DM_IMPORT
セクション (DM_REMOTE_SERVICES
セクション) のフィールドの一覧を示します。dmadmin
操作のプロンプトでこのセクションにアクセスするには、5 (REMOTE_SERVICES) を入力します。
次の表に、DM_ROUTING
セクションのフィールドの一覧を示します。
次の表に、DM_ACCESS_CONTROL
セクションのフィールドの一覧を示します。
次の表に、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
セクション:
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
セクションを入力してください [1]:
セクションを入力してください [1]: 2
操作:
1) 最初 2) 継続
3) 照会 4) 追加
5) 更新 6) 削除
7) 新セクション 8) 終了
操作を入力してください [1]: 4
フィールドを追加/修正するために、エディタを使用しますか? [n]: y
a
TA_RDOM B05
TA_DOMAINID BA.BANK05
TA_TYPE TDOMAIN
.
w
53
q
実行しますか [y]?<return>
戻り値 TAUPDATED
バッファの値:
TA_OPERATION 4
TA_SECTION 2
TA_DOMAINID BA.BANK05
TA_RDOM B05
TA_TYPE TDOMAIN
TA_STATUS 更新は正常終了しました。
操作:
1) 最初 2) 継続
3) 照会 4) 追加
5) 更新 6) 削除
7) 新セクション 8) 終了
操作を入力してください [4]: 7
セクション:
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) 終了
セクションを入力してください [1]:9
操作:
1) 最初 2) 継続
3) 照会 4) 追加
5) 更新 6) 削除
7) 新セクション 8) 終了
操作を入力してください [6]:4
フィールドを追加/修正するために、エディタを使用しますか ? [n]: y
a
TA_RDOM B05
TA_NWADDR 0x00020401c0066d05
TA_NWDEVICE /dev/tcp
.
w
55
q
実行しますか [y]?<return>
戻り値 TAUPDATED
バッファの値:
TA_OPERATION 4
TA_SECTION 8
TA_RDOM B05
TA_NWADDR 0x00020401c0066d05
TA_NWDEVICE /dev/tcp
TA_STATUS 更新は正常終了しました。
操作:
1) 最初 2) 継続
3) 照会 4) 追加
5) 更新 6) 削除
7) 新セクション 8) 終了
操作を入力してください [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
コマンドをシステムがブートする前に入力すると、次のメッセージが表示されます。
掲示板がありません。ロギング・コマンドのみ使用できます。
すると、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 ファイルを上書きするかどうかを確認します。
"BDMCONFIG
ファイルを更新しますか: [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 はアクティブなノード上では実行できません。***
dmloadcf
を実行するユーザの実効ユーザ識別子が、TUXCONFIG
ファイルで指定された UID
と一致しない場合は、次のエラー メッセージが表示されます。
*** UID は実効ユーザ ID ではありません。 ***
dmloadcf
が正しく完了すると、終了コード 0 で終了します。BDMCONFIG
ファイルが更新されると、このイベントを記録するための userlog
メッセージが生成されます。
dmunloadcf(1)
、DMCONFIG(5)、UBBCONFIG(5)
『Oracle Tuxedo アプリケーション実行時の管理』
『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
}) 内の数字でなければなりません。1 つのソース ファイル内のセット識別子は連続している必要はありません。セット識別子に続く文字列はすべて、注釈として扱われます。$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
- 実装コンフィグレーション ファイル (ICF) を生成
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 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 までの任意の整数とするか、以下に示す文字列のいずれかとしなければなりません。
整数 文字列 値 1
DAY_1 週の第 1 日目 (例 : Sunday) 2
DAY_2 週の第 2 日目 (例 : Monday) 3
DAY_3 週の第 3 日目 (例 : Tuesday) 4
DAY_4 週の第 4 日目 (例 : Wednesday) 5
DAY_5 週の第 5 日目 (例 : Thursday) 6
DAY_6 週の第 6 日目 (例 : Friday) 7
DAY_7 週の第 7 日目 (例 : Saturday) 8
ABDAY_1 週の第 1 日目の略称 (例 : Sun) 9
ABDAY_2 週の第 2 日目の略称 (例 : Mon) 10
ABDAY_3 週の第 3 日目の略称 (例 : Tue) 11
ABDAY_4 週の第 4 日目の略称 (例 : Wed) 12
ABDAY_5 週の第 5 日目の略称 (例 : Thu) 13
ABDAY_6 週の第 6 日目の略称 (例 : Fri) 14
ABDAY_7 週の第 7 日目の略称 (例 : Sat) 15
MON_1 年の最初の月 (例 : January) 16
MON_2 年の 2 番目の月 (例 : February) 17
MON_3 年の 3 番目の月 (例 : March) 18
MON_4 年の 4 番目の月 (例 : April) 19
MON_5 年の 5 番目の月 (例 : May) 20
MON_6 年の 6 番目の月 (例 : June) 21
MON_7 年の 7 番目の月 (例 : July) 22
MON_8 年の 8 番目の月 (例 : August) 23
MON_9 年の 9 番目の月 (例 : September) 24
MON_10 年の 10 番目の月 (例 : October) 25
MON_11 年の 11 番目の月 (例 : November) 26
MON_12 年の 12 番目の月 (例 : December) 27
ABMON_1 年の最初の月の略称 (例 : Jan) 28
ABMON_2 年の 2 番目の月の略称 (例 : Feb) 29
ABMON_3 年の 3 番目の月の略称 (例 : Mar) 30
ABMON_4 年の 4 番目の月の略称 (例 : Apr) 31
ABMON_5 年の 5 番目の月の略称 (例 : May) 32
ABMON_6 年の 6 番目の月の略称 (例 : Jun) 33
ABMON_7 年の 7 番目の月の略称 (例 : Jul) 34
ABMON_8 年の 8 番目の月の略称 (例 : Aug) 35
ABMON_9 年の 9 番目の月の略称 (例 : Sep) 36
ABMON_10 年の 10 番目の月の略称 (例 : Oct) 37
ABMON_11 年の 11 番目の月の略称 (例 : Nov) 38
ABMON_12 年の 12 番目の月の略称 (例 : Dec) 39
RADIXCHAR 基数文字 (例 : '.')40
THOUSEP 1000 位の区切り文字 41
YESSTR 肯定応答文字 (例 : yes) 42
NOSTR 否定応答文字 (例 : no) 43
CRNCYSTR 通貨記号 44
D_T_FMT 日付/時刻のフォーマット文字列 (例 : “%a%b%d%H:%M:0Y”) 45
D_FMT 日付のフォーマット文字列 (例 : “%m/%d/%y”) 46
T_FMT 時刻のフォーマット文字列 (例 : “H:%M:%S”) 47
AM_FMT 午前を表す接尾辞 (例 : AM) 48
PM_FMT 午後を表す接尾辞 (例 : 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
は、キュー スペースが開いているときのみ実行できます。
コマンドの形式は、完全な名前でも省略形でも (省略形を使用できる場合。この後の一覧では、完全な名前の後の丸括弧内に省略形を示しています) 入力することができ、該当する引数はコマンドの後に付きます。角括弧 [ ] で囲まれている引数は省略可能です。中括弧 { } で囲まれている引数は相互に排他的な選択肢を示します。
chdl
[dlindex
[newdevice
]]
lidl
で返されます)。第 1 引数をコマンドラインで指定しなかった場合は、プログラムによって入力が要求されます。
crdl
[device
[offset
[size
]]]
QMCONFIG
が指すデバイスに対応していなければならず、またオフセット 0 を持つ必要がある点に注意してください。コマンドラインで引数を指定しなかった場合には、プログラムはその引数の入力を要求します。
/app/queues/myspace 0 500
と /app/queues/myspace 1000 500
を割り当てることで、合計 1000 ブロックの割り当てを行い、500 から 999 までのブロックを未使用にすることができます。
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
の両方を、カンマで区切って指定することができます。
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
の値がコマンドラインに指定されていない場合、その入力を求めるプロンプトが表示されます。
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
の両方を、カンマで区切って指定することができます。
b
" または "B
" を後に付けた数字)、キューが使用するキュー スペースに対する割合 (
"%
" を後に付けた数字)、またはキューの全メッセージ数 (
"m
" を後に付けた数字) を使用して行えます。上下のしきい値のタイプは、同じでなければなりません。メッセージ (m
) 接尾辞は、永続的メッセージと一時的メッセージの両方に適用されます。その他のしきい値の接尾辞は、永続的メッセージにのみ適用されます。-n
オプションを使用して、一時的メッセージのしきい値を指定します。下限しきい値にタイプを指定するかどうかは省略可能ですが、指定する場合は、上限しきい値のタイプと一致させなければなりません。コマンドラインで指定する場合、空白文字を含むしきい値コマンドは二重引用符で囲みます。
-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
、このキュー スペースに割り当てる物理ページ数、キューの数、同時実行可能なトランザクションの数、このキュー スペースに同時にアタッチできるプロセスの数、一度にキューに登録できるメッセージの数、このキュー スペースのエラー キュー名、このキュー スペースの新しいエクステントでページを初期化するかどうか、およびキュー スペースの初期化やウォーム スタート ディスクの入出力を行なうためのブロッキング要因があります。
.
) が出力されます。初期化のオプションをオンにしていないが基底のデバイスが文字型特殊デバイスでない場合には、エクステントとして指定したサイズに達していなければ、ファイルは初期化されます。つまり、指定された領域を割り当てることができるようにファイルが拡大されます。
-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
オプションが指定されていない場合、デフォルト値は 0 に設定されます。– 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
# キュー スペースを配置できるデバイスのリストを作成します。
# 2 つのデバイスを、それぞれ 80,000 ブロック
# および 600 ブロックと指定します。
# 注意 : 1 つ目のデバイスは実際にデバイス リストを持ちます。
#
# 1 つ目のデバイスを raw スライスに作成します。
#
> crdl /dev/rawfs 0 80000
デバイス /dev/rawfs、オフセット 0、サイズ 80000 を /dev/rawfs 上に作成しました。
#
# もう 1 つのデバイスを UNIX ファイルに作成します。
#
> crdl /home/queues/FS 0 600
デバイス /home/queues/FS、オフセット 0、サイズ 600 を /dev/rawfs 上に作成しました。
#
# デバイス リストを表示する場合
#
> v 冗長モードはオンです。
> lidl
汎用デバイス・インデックス 0:
名前: /dev/rawfs
開始: 0
サイズ: 20000
利用可能空間マップ (1 エントリ使用中、47 利用可能):
サイズ[1]: 79974 アドレス[1]: 26
汎用デバイス・インデックス 1:
名前: /home/queues/FS
開始: 0
サイズ: 600
利用可能空間マップ (1 エントリ使用中、47 利用可能):
サイズ[1]: 600 アドレス[1]: 0
#
# キュー スペースを作成します。
#
> qspacecreate
キュー・スペース名: myqueuespace
キュー・スペースの IPC キー: 42000
ディスク上のキュー・スペースのサイズ: 50000
キュー・スペース中のキューの数: 30
キュー・スペース中の同時実行トランザクションの数: 20
キュー・スペース中の同時実行プロセスの数: 30
キュー・スペース中のメッセージ数: 20000
エラー・キュー名: ERRORQ
エクステントの初期化 (y, n [デフォルト値=n]): y
ブロッキング係数 [デフォルト値=16]: 16
....................
#
# キュー スペースを開きます。
#
> qopen myqueuespace
#
# キュー スペースのデフォルト設定をキューに適用します。
> qcreate
キュー名: service1
キューの順序 (優先順位、時刻、有効期限、fifo、lifo): fifo
順序無視のキュー登録 (top, msgid, [デフォルト値=none]): top,msgid
再試行回数 [デフォルト値=0]: 1
再試行遅延時間 [デフォルト値=0]: 30
キュー容量警告の上限しきい値 (b はバイト数、B はブロック数、
% は使用中のパーセント値、m はメッセージ。[デフォルト値=100%]): 100m
キュー容量警告の下限しきい値 [デフォルト値=0m]: 50
キュー容量警告コマンド名: /usr/app/bin/mailadmin myqueuespace service1
#
# このプログラムを終了します。
#
> 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
を実行するために、date /t > x.out
コマンドでファイルの date
情報を取得します。この処理を対話的に行うには、次のような手順で実行します。
qmadmin
> qopenyourQspace
> qchangeyourQname
>go through all the setups... the threshold queue capacity warning,
and so on> "キュー容量警告コマンド名: " 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,
> "キュー容量警告コマンド名: "
and so onyourFile
.cmd
『Oracle Tuxedo アプリケーション実行時の管理』
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”
/* パターン : “;[a-aA-Z_][a-zA-Z0-9_]*&” */
char cname[] = {
040,0,0206,012,0,0210,0141,0172,0210,0101,0132,0137,
... };
/* パターン : "\\\\(([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 アプリケーション プロセッサ上のデーモン プロセスとして動作するネットワーク独立型のリスナ プロセスで、ほかの Oracle Tuxedo ATMI プロセス (tmboot(1)
など) に対してリモート サービス接続を提供します。tlisten
では次のようなコマンドライン オプションを使用します。
-d
device
-l
nlsaddr
tlisten
は、ローカル名の解決機能 (通常 DNS) を利用して hostname
のアドレスを見つけます。hostname
はローカル マシンでなければなりません。ローカル名解決機能によって hostname
をローカル マシンのアドレスに明確に解決します。
#.#.#.#
はドットで区切った 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 10gR3 を MP モードでマスタとして使用する際、旧バージョンの Tuxedo をインストールしてインストール後に tlisten パスワードを変更しなかった場合、セキュリティ調整エラー メッセージ ((CMDTUX_CAT:4291 ) が表示されます。この問題を解決するには、(旧バージョンの Tuxedo で) 1 つの空白行を $TUXDIR/udataobj/tlisten.pw tail に追加する必要があります。 |
このファイルが見つからない場合、システムは TUXDIR/udataobj/tlisten.pw
を検索します。このファイルは Oracle Tuxedo ATMI システムのインストール時に作成されます。長さがゼロまたはパスワード ファイルが見つからない場合は、パスワードのチェックは行われません。こうしたセキュリティで保護されないモードでの起動時は、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
で検出されるデバイスに対して実行されるので注意が必要です。この場合、default
に DBBL
または all
を設定するとエラーになります。logstart
などのコマンドでは、コマンドラインで machine
の値を指定する必要があります。この場合、machine
値は -m
オプションの引数で指定しません。
一度設定したデフォルト値は、default
コマンドで変更しない限り、セッション終了まで有効です。このデフォルト値は、コマンドラインで明示的に値を入力してオーバーライドするか、「*」を入力して設定解除します。オーバーライドの効果は、コマンドの単一のインスタンスの間有効です。
tmadmin
コマンドの出力は、ページ別表示コマンドを指定することでページ別に表示できます。後述の paginate
サブコマンドの説明を参照してください。
詳細情報または要約情報を出力するコマンドがあります。verbose
コマンドは、デフォルトの出力レベル設定に使用します。ただし、各コマンド (boot
、shutdown
、および config
を除く) には、そのコマンドのみ詳細または要約情報を出力するための -v
または -t
オプションがあります。要約モードで出力すると、一部の情報 (LMID
または GROUP
名、サービス名、サーバ名など) は省略されることがあります。省略された場合は、値の末尾に正符号 (+) が付加されます。情報をすべて表示するには、詳細モードでコマンドを再入力します。
コマンドは、そのフルネームあるいは (括弧内に示される) 省略名のいずれかで入力し、適切な引数が続きます。角括弧 [ ] で囲まれた引数は省略可能です。中括弧 { } で囲まれた引数は相互に排他的な選択肢を示します。該当するデフォルト値が default
コマンドで設定されている場合は、そのコマンド オプションをコマンドラインで指定する必要がないことに注意してください。{} で囲まれたオプションのグループに続く ...
は、コマンドラインで 1 つ以上 (少なくとも 1 つ必要) のオプションを指定できることを示します。
aborttrans
(abort
) [ -yes
] [ -g
groupname
] tranindex
groupname
が指定されると、指定サーバ グループの指定されたトランザクション インデックス (tranindex
) に対応するトランザクションをアボートさせます。このオプションの指定がない場合は、トランザクションのコーディネータにグローバル トランザクションのアボートを通知します。トランザクションが既に決定されており、その決定がコミットである場合は、aborttrans
は失敗します。インデックスには、printtrans
コマンドを前回実行したときの結果が使用されます。トランザクションを完全に終了させるには、そのトランザクションに関わっているすべてのグループに対して printtrans
および aborttrans
を実行する必要があります。このコマンドの使用には、十分な注意が必要です。
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
] [-i
srvid
] newspec
newspec
に変更します (newspec
の構文については、「tmtrace(5)」を参照してください)。実行中の特定のサーバ プロセスのトレース仕様を変更するには、-g
および -i
オプションを指定します。特定のグループで実行中のサーバ プロセスのコンフィグレーションを変更するには、-i
オプションを指定せずに -g
オプションのみを指定します。特定のマシンで実行中のすべてのクライアントおよびサーバ プロセスのコンフィグレーションを変更するには、-m
オプションを指定します。-g
、-i
、および -m
のいずれのオプションも指定しなかった場合は、デフォルトのマシンのすべての非管理のプロセスが対象となります。このコマンドは、現在実行中でないクライアントやサーバ、および /WS クライアントの動作には影響を与えません。
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 tranindex
tranindex
に対応するトランザクションを指定サーバ グループでコミットします。トランザクションが指定サーバ グループでプリコミットされていなかった場合、あるいはトランザクションが「アボートのみ」として認識されている場合は、committrans
は異常終了します。インデックスには、printtrans
コマンドを前回実行したときの結果が使用されます。-yes
オプションを指定せずにこのコマンドを実行すると、処理を進める前に確認を求められます。このコマンドの使用には、十分な注意が必要です。
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
] filename
TLOG
のテキスト バージョンを、指定された filename
にダンプします。TLOG
は指定の config
および offset
にあり、指定の name
が使用されます。-n
オプションを指定せず、デフォルト値も設定されていない場合は、「TLOG」が使用されます。config
引数には、汎用デバイス リストを格納するデバイスを指定します。/ で始まる絶対パス名でなければなりません。-z
オプションを指定せず、デフォルト値も設定されていない場合は、FSCONFIG
環境変数に指定されているパスが使用されます。-o
offset
オプションを使用すると、config
のオフセットを指定できます。-o
オプションを指定せず、デフォルト値も設定されていない場合は、環境変数 FSOFFSET
の値が使用されます。FSOFFSET
が設定されていない場合、デフォルトで 0 になります。groupname
の指定があれば、そのグループがコーディネータとなっているトランザクションのログ レコードだけがダンプされます。
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
dumptlog
によって生成された TLOG
のテキスト バージョンを、指定されたファイル filename
から、指定またはデフォルト
の 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 になります。
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
] [-i
srvid
] [-q
qaddress
]
-q
、-m
、-g
および -i
オプションを使用すれば、キュー、マシン、グループあるいはサーバの任意の組み合わせに限定して情報を得ることができます。マルチコンテキスト サーバで printserver
を実行すると、そのサーバのすべてのコンテキストについて 1 つのエントリが表示されます。
printservice
(psc
) [-m
machine
] [-g
groupname
] [-i
srvid
] [-a
{ 0
| 1
| 2
}] -q
qaddress
] [-s
service
]
-q
、-m
、-g
、-i
および -s
オプションを使用することで、キュー、マシン、グループ、サーバ、またはサーバの任意の組み合わせに限定して情報を得ることができます。-a
オプションを使用すると、サービスのクラスを選択できます。-a0
と指定すると、アプリケーション サービスだけを表示します。-a1
と指定すると、アプリケーション サービスに加えて、アプリケーションから呼び出せるシステム サービスも表示します。-a2
と指定すると、上記の 2 つに加えて、Oracle Tuxedo から呼び出せるシステム サービスも表示します。
printtrans
(pt
) [-g
groupname
] [-m
machine
]
machine
が「all
」または「DBBL
」の場合、アプリケーションのパーティション化されていないすべてのマシンでトランザクション テーブルからの情報がマージされます。コマンドラインまたはデフォルトの groupname
値によって、指定グループが参加している (コーディネータを含む) トランザクションに限定して情報を得ることができます。
aborttrans
または committrans
でトランザクションをアボートまたはコミットするときに使用するインデックス、トランザクション状態、参加リソースの数などが表示されます。
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
-i
srvid
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
コマンドを入力すると、次のようなメッセージが表示されます。
掲示板は存在しません。ブート・モードに入ります。
>
この後、tmadmin
は boot
コマンドの入力を待ちます。
-c
オプションを指定せずに、MASTER
以外の非アクティブなノードから tmadmin
コマンドが入力されると、次のメッセージが表示され、コマンドは終了します。
マスタ・ノード以外からブート・モードに入ることはできません。
間違ったアプリケーション パスワードが入力されたり、入力したパスワードが環境を通してシェル スクリプトで利用できない場合には、ログ メッセージが生成され、次のメッセージが表示されてコマンドが終了します。
無効なパスワードが入力されました。
tmadmin
は、相互操作可能なアクティブ アプリケーション内であれば任意のノード上で実行可能です。ただし、利用可能なコマンドやコマンドライン引数は、tmadmin
が動作しているノードに対応するリリースで tmadmin
から利用できるものに限定されています。たとえば、broadcast
、passwd
、および printclient
などのコマンドはリリース 4.1 のノードでは利用できません。
tmadmin
は、Oracle Tuxedo サーバ環境がサポートされるプラットフォームで実行できます。
machine
オプションは、ネットワーク化されていない単一プロセッサ環境では何の効果も得られません。
tmboot(1)
、tmloadcf(1)
、tmshutdown(1)
、compilation(5)、UBBCONFIG(5)
『Oracle Tuxedo アプリケーション実行時の管理』
tmboot
- Oracle Tuxedo コンフィグレーションを起動
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 はマスタ・ノード以外では実行できません。
tmboot
が、実際のマスタ ノードでないアクティブなノード上で実行されると、次のような致命的エラー メッセージが表示されます。
tmboot は、アクティブなアプリケーションの実際のマスタ・ノード以外では実行できません。
複数の TUXCONFIG
ファイルで同じ IPCKEY
が使用されていると、tmboot
は異常終了して次のメッセージを表示します。
コンフィギュレーション・ファイルのパラメータは、最後の tmboot から変更されていません。
LAN 以外のコンフィグレーションで MACHINES
セクションに複数のノード名があると、次のような致命的エラー メッセージが表示されます。
LAN 以外のアプリケーションで、MACHINES に複数のノードを使用することはできません。
tlisten
が LAN アプリケーションの MASTER
マシン上で実行していない場合、警告メッセージが表示されます。この場合 tmadmin(1)
は、リモート マシン上で管理モードで実行することはできません。読み取り専用の操作のみに制限されます。これは、バックアップ サイトが障害の発生後にマスタ サイトをリブートできないことを意味します。
CS0
および CS1
というローカル名のマシン上にあるサーバたけを起動するには、次のようにします。
tmboot -l CS0 -l CS1
DBG1
という名前のグループに属するサーバ CREDEB
だけを起動するには、次のようにします。
ローカル名が PE8
のマシン上の BBL
、および PE8
の位置にあるすべてのサーバをブートするには、次のようにします。
tmboot -B PE8 -l PE8
そのコンフィグレーションに必要とされる最小限の IPC リソースを表示するには、次のようにします。
IPC の大きさ変更 (Oracle Tuxedo の最小値のみ) ...
プロセッサごとの固定した最小値
SHMMIN: 1
SHMALL: 1
SEMMAP: SEMMNI
プロセッサごとの可変の最小値
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
ここで 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)
『Oracle Tuxedo アプリケーション実行時の管理』
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
は最初に、目的のセクションを指定するよう求め、続いてそれに対する操作の内容を指定するよう求めます。セクションを求めるプロンプトは次のとおりです。
セクション: 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]:
プロンプト末尾の角括弧の中にはデフォルトのセクションが表示されます。
続いて、目的の操作内容を求めるプロンプトが次のように表示されます。
操作: 1) 最初 2) 継続 3) 照会 4) 追加 5) 更新
6) バッファの消去 7) 終了 [1]:
デフォルトの操作内容は、プロンプト末尾の角括弧内に表示されます。デフォルトの操作を選択する場合は、〔Enter〕を押します。ほかの操作を選択する場合は、該当する番号を入力して〔Enter〕を押します。
最初
- 指定したセクションの先頭レコードを取り出します。キー フィールドは必要ありません入力バッファ内にある場合、キー フィールドは無視されます。継続
- 入力バッファ内のキー フィールドに基づいて、指定したセクションから次のレコードを取り出します。照会
- キー フィールドで指定したセクションから、指定したレコードを取り出します。追加
- 指定したセクションに、指定したレコードを追加します。フィールドが指定されていない場合 (フィールドが不要である場合に限り)、UBBCONFIG(5) で指定されたデフォルトの値が使用されます。すべてのフィールドの現在の値は、出力バッファ内に返されます。この操作は、Oracle Tuxedo システム管理者しか実行できません。更新
- 指定したセクションの入力バッファ内にある、指定したレコードを更新します。入力バッファ内で指定されていないフィールドは変更されません。すべてのフィールドの現在の値は、入力バッファ内に返されます。この操作は、Oracle Tuxedo 管理者しか実行できません。バッファの消去
- 入力バッファをクリアします。すべてのフィールドが削除されます。この操作の後、tmconfig
は直ちにセクションの指定を求めるプロンプトを出します。終了
- プログラムを正常に終了します。クライアントは終了します。プロンプトで値 q
を入力してもプログラムを終了できます。
管理者の操作を行う場合、実効ユーザ識別子が、このプログラムを実行するマシンの Oracle Tuxedo 管理者ユーザ識別子 (UID) と同じでなければなりません。レコードの更新や追加を行う場合には、tmloadcf(1)
が使用する妥当性検査機能とすべてのデフォルト値が有効になります。
次に tmconfig
は、入力バッファを編集するかどうかを確認するプロンプトを表示します。
フィールドを追加/修正するために、エディタを使用しますか ? [n]
ここで、y
を入力すると、入力バッファは一時ファイルにコピーされ、テキスト エディタが起動されます。どのエディタを使用するかは、環境変数 EDITOR
によって決めることができます。デフォルト値は ed
です。入力時の形式は「フィールド名」/「フィールド値」です。これについては、以下の「入力形式」の節で説明します。各 UBBCONFIG
セクションに対応するフィールド名を、以下のサブセクションの表に示します。フィールドのセマンティクスと関連範囲、デフォルト値、制約事項などについては、UBBCONFIG(5) に説明があります。許容値は、8 進数ではなく 10 進数で指定します。ほとんどの場合、フィールド名は UBBCONFIG
ファイルの KEYWORD
と同じですが、"TA_
" が先頭に付きます。
ユーザが入力バッファの編集を完了すると、tmconfig
はその内容を読み取ります。特定のフィールド名についての行が複数ある場合、最初のオカレンスが使用され、ほかのオカレンスは無視されます。何らかのエラーが発生すると、構文エラー メッセージが表示され、その問題を訂正するかどうかを確認するプロンプトが表示されます。
修正のためにエディタを実行しますか?
問題を訂正しなかった場合 (上記プロンプトに対して n
と応答) は、入力バッファにはフィールドが入りません。問題を訂正する場合は、エディタが再度実行されます。
最後に、操作を実行するかどうかを確認するプロンプトが表示されます。
実行しますか ? [y]
操作が完了すると、tmconfig
は「戻り値 TAOK
」のように戻り値を表示し、続いて出力バッファのフィールドを表示します。次に、プロセスが再開され、セクションを求めるプロンプトが表示されます。すべての出力バッファ フィールドは、バッファがクリアされない限り、入力バッファ内で利用できます。
いつでもブレークを入力して、セクションを求めるプロンプトでの対話を再開できます。
QUIT
を選択すると、コンフィグレーション ファイルのバックアップ (テキスト形式) を作成するかどうかを確認するプロンプトが表示されます。
TUXCONFIG ファイルを ASCII ファイルにバックアップしますか [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 つの例外を除いて、この『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
セクション: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
操作: 1) 最初 2) 継続 3) 照会 4) 追加 5) 更新
6) バッファの消去 7) 終了 [1]: 1
フィールドを追加/修正するために、エディタを使用しますか? [n]? <return>
実行しますか? [y] <return>
戻り値 TAOK
バッファの値:
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 操作は正常終了しました
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
セクション: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>
操作: 1) 最初 2) 継続 3) 照会 4) 追加 5) 更新
6) バッファの消去 7) 終了 [1]: 5
フィールドを追加/修正するために、エディタを使用しますか? [n]: y
240
/CLOPT/s/6d6b/690E/p
TA_CLOPT -A -- -d/dev/tcp -M4 -m2 -x5 -n0x0002fe19c00b690E
w
240
q
実行しますか? [y] <return>
戻り値 TAUPDATED
バッファの値:
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 更新は正常終了しました
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
セクション: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
TUXCONFIG ファイルを ASCII ファイルにバックアップしますか [y]? <return>
バックアップ・ファイルのファイル名は? [UBBCONFIG]: <return>
UBBCONFIG にコンフィギュレーション・ファイルのバックアップを保存しました。
$ # 変更したサーバを起動します。
$ 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 リソースをクリーンアップします。このコマンドは、通常、停止の異常終了などのエラー状況の発生後に実行されます。正常な状態では、割り当てられたすべての IPC リソースは、Oracle Tuxedo ATMI システムの停止時にクリーンアップされます。Oracle Tuxedo ATMI のコア システムとワークステーション コンポーネントによって使用される IPC リソースも削除されます。
tmipcrm
はローカル サーバ マシン上でのみ機能するので、Oracle Tuxedo コンフィグレーション内のリモート マシン上にある IPC リソースはクリーンアップされません。TUXCONFIG
ファイルの名前は、TUXCONFIG
環境変数の値として指定するか、またはコマンドラインで指定する必要があります。TUXCONFIG
ファイルは必須で、読み取り可能である必要があります。
このコマンドを正常に実行できるのは、適切なパーミッションを持つユーザまたは管理者だけです。このコマンドは、掲示板 (BB) を格納する共有メモリ セグメントにアタッチ可能であることを前提としており、掲示板に格納されて参照される IPC リソースを削除しようとします。システム上のその他の条件によって削除が失敗することもあります。このような失敗が検出された場合には通知されます。
-y
-n
TUXCONFIG_file
TUXCONFIG
ファイルが見つからない場合は、致命的なエラーが発生し、次のメッセージが表示されます。
'tuxconfig' ファイルをオープンできません。
TUXCONFIG
ファイルが読み取れない場合は、致命的なエラーが発生し、次のメッセージが表示されます。
管理者でないために、アクセスの許可がありません。
掲示板の共有メモリへのアタッチが失敗した場合は、致命的なエラーが発生し、次のメッセージが表示されます。
掲示板にアタッチできません。
このコマンドは、通常は対話型モードで実行して、必要に応じて質問に対する応答を求めるプロンプトを表示します。-y
オプションを指定すると、tmipcrm
は応答を求めるプロンプトを表示しませんが、すべての質問に対して「はい」と答えたと見なされます。-n
オプションを指定すると、tpipcrm
は stdout
に IPC リソースを表示するだけで終了し、IPC リソースは削除されません。
$ tmipcrm /home/user/apps/tuxconfig
TUXCONFIG ファイルの IPC 資源 /home/user/apps/tuxconfig を探しています。
次の IPC 資源が見つかりました。
メッセージ・キュー:
0x2345
0x3456
...
セマフォ:
0x34567
0x45678
...
共用メモリ:
0x45678
0x56789
...
IPC 資源を削除しますか (y/n)?: y
IPC 資源を削除します。 終了
次のサンプル コードでは、ローカル マシン上の 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
の作成および初期化を行うかどうかを確認するプロンプトを表示します。
TUXCONFIG ファイルを初期化しますか: 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
ファイルが既に存在している場合は、ファイルを上書きするかどうかを確認するプロンプトが表示されます。
TUXCONFIG ファイルを更新しますか: [y, q] ?
標準入力あるいは標準出力が端末でない場合、あるいはコマンドラインで -y
オプションが指定された場合には、このプロンプトは出されません。"y
" または "Y
" 以外の応答を行うと、tmloadcf
は終了して、ファイルの書き換えは行われません。
コンフィグレーション ファイルの RESOURCES
セクションに SECURITY
パラメータが指定されていると、tmloadcf
は標準入力をフラッシュし、端末エコー機能をオフにして、ユーザにアプリケーション パスワードの入力を求めます。
アプリケーション・パスワードを入力してください:
アプリケーション・パスワードを再度入力してください:
パスワードは、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 は実効ユーザ ID ではありません。 ***
tmloadcf
を非マスタ ノード上で実行すると、次のようなエラー メッセージが表示されます。
tmloadcf はマスタ・ノード以外では実行できません。
tmloadcf
をアクティブ ノード上で実行すると、次のようなエラー メッセージが表示されます。
tmloadcf はアクティブなノード上では実行できません。
tmloadcf
は正常に処理を完了すると、終了コード 0 を返して終了します。TUXCONFIG
ファイルが更新された場合には、userlog
メッセージが生成されてこのイベントが記録されます。
『Oracle Tuxedo アプリケーション実行時の管理』
tmloadrepos
- バイナリの Tuxedo サービス メタデータ リポジトリ ファイルを作成または更新し、サービス パラメータ情報とともにロード
tmloadrepos
[-e|-d service1[,...]
] [-y
] [-i repository_input
file] repository_file
このコマンドを使用すると、バイナリの Tuxedo サービス メタデータ リポジトリ ファイルを作成または更新し、サービス パラメータ情報とともにロードできます。
リポジトリ ファイルが存在せず、入力ファイルが指定されていない場合は、リポジトリ ファイルが作成され、コンソールから入力 (標準入力) するサービス パラメータ情報が使用されます。標準入力は、リポジトリ ファイルが既に存在しているにもかかわらず、入力ファイルまたは特定のサービス名が指定されていない場合にも使用します。
注意 : | tmloadrepos を使用して、JOLT リポジトリ ファイルのサービス パラメータ情報を更新、追加、または削除することはできません。 |
tmloadrepos
では以下のオプションを使用できます。
-i
i
を指定すると、tmloadrepos
は特定の入力ファイルを使用して、サービス パラメータ情報を新しいメタデータ リポジトリ ファイルに作成するか、既存のメタデータ リポジトリ ファイルを修正します。
-i
オプションのデフォルトでは、repository_file
情報が repository_input
ファイルにリストされていない場合や、repository_input
ファイルに構文エラーがある場合は、tmloadrepos が既存の情報を保持できます。
tmloadrepos -i infile reposfile
指定した入力ファイルが見つからない場合は、エラー メッセージが表示されます。
e
repository_input
ファイルが指定されていない場合は、サービス パラメータ情報の入力を求めるメッセージが表示され、入力された情報で既存のリポジトリ情報が置換されます。
tmloadrepos -e reposfile
tmloadrepos -e -i infile reposfile
-d
-d
を指定すると、指定したサービスの情報がリポジトリから削除されます。-d
オプションを -i
オプションと一緒に使用することはできません。また、特定のサービス情報を削除するために正規表現を使用することもできません。
注意 : | -e および -d オプションでは、-y オプションを指定しない限り、情報を誤って削除することを避けるための確認メッセージが表示されます。 |
注意 : | 確認メッセージが表示された場合、メタデータ リポジトリ ファイルのサービス情報の編集、追加、または削除を続行するには「Y」を、続行しない場合は「N」を選択します。 |
-y
repository_input
ファイル
repository_input
ファイルは、サービス キーワードおよびパラメータ キーワードとそれらの値を格納するテキスト ベースのファイルです。キーワードの省略形も使用できます。キーワードおよび省略形の大文字/小文字は区別されます。キーワード、省略形、および値の一覧については、『Oracle Tuxedo アプリケーションの設定』の「Tuxedo サービス メタデータ リポジトリの管理」の「Tuxedo サービス メタデータ リポジトリを作成する」を参照してください。
repository_file
入力にエラーが検出されると、エラーの原因となった行が、問題を指摘するメッセージと共に、標準エラーに出力されます。
例 1 : 単純な tmloadrepos 入力ファイルの例
service=TRANSFER
svcdescription=This service transfers money from one account to another
export=Y
inbuf=FML
outbuf=FML
param=ACCOUNT_ID
type=integer
paramdescription=The withdrawal account is 1st, and the deposit account is 2nd.
access=in
count=2
requiredcount=2
param=SAMOUNT
paramdescription=This is the amount to transfer.It must be greater than zero.
type=string
access=in
param=SBALANCE
paramdescription=The withdrawal account is 1st, and the deposit account is 2nd.
type=string
access=out
count=2
requiredcount=2
param=STATLIN
type=string
access=out
service=LOGIN
svcdescription=This service allows users to log in to the Acme Banking¥ Corporation computer systems.Only tellers and trusted administrators may¥
make use of this service.
inbuf=VIEW
inview=LOGINS
outview=LOGINR
export=Y
param=user
type=string
access=in
param=passwd
type=string
access=in
param=token
type=integer
access=out
例 2 : 埋め込み型パラメータの tmloadrepos 入力ファイルの例
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 は、アクティブなアプリケーションの実際のマスタ・ノード以外では実行できません。
プロセスを停止することでアクティブ プロセスが DBBL
からパーティション化されると、次のような致命的エラー メッセージが表示されます。
シャットダウンできないため、分断が生じます。
サーバが異常終了した場合には、次のようなメッセージが出されます。
CMDTUX_CAT:947 サーバ (GRPID) をシャットダウンできません。
システム全体を停止して、Oracle Tuxedo の IPC リソースをすべて削除するには、次のコマンドを実行します。30 秒経過しても確認が得られないと強制的に実行されます。
lmid
の値が CS1
に設定されているマシン上のサーバだけを停止するには、次のコマンドを入力します。
tmshutdown -l CS1
-l
オプションは SERVERS
セクションにリストされているサーバのみにアクションを制限するものであるため、CS1
上の BBL
は停止されません。
tmshutdown
コマンドは、ハングアップ シグナル (SIGHUP
) を無視します。停止中にシグナルが検出されても、プロセスは継続します。
tmadmin(1)
、tmboot(1)
、tpkill(1)、UBBCONFIG(5)
『Oracle Tuxedo アプリケーション実行時の管理』
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 を返して終了します。
『Oracle Tuxedo アプリケーション実行時の管理』
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 形式を使用しています。
Tuxedo 10.0 / SALT 2.0 のコマンド ユーティリティ tmwsdlgen は、Tuxedo サービスの WSDL 発行用にのみ推奨されています。tmwsdlgen は、Oracle SALT 1.1 製品で最初に導入されたコマンド ユーティリティです。このユーティリティは、一般的な Tuxedo ファミリの WSDL 生成ユーティリティとして推奨されます。Tuxedo 10.0 リリースの tmwsdlgen は、Oracle SALT ライセンスを取得せずに実行できます。tmwsdlgen の詳細については、Oracle SALT 2.0 のドキュメントを参照してください。
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;
/* ここにアプリケーション ビジネス ロジックを挿入できます。 */
if ((idata = tpalloc(5, 10000)) == NULL) {
return(-1);
}
/* 先に口座からの引き出しを行い、次に口座への預け入れを行います。*/
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);
}
生成される実際のコードには、SAMOUNT、SBALANCE、および STATLIN
に関して同様の Fadd 文が含まれます。
/* このサービスは、ある口座から別の口座にお金を転送します。*/
rtn = tpcall("TRANSFER", idata, 0, &odata, &olen, flags);
/* odata からフィールドを取得するコードをここに記述します。*/
tpfree(idata);
/* アプリケーション ビジネス ロジックをここに挿入できます。 */
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
:
)、シャープ (#
)、または改行文字 (¥n
) を使うことはできません。
このコマンドを実行する前に、グラフィカル ユーザ インタフェースまたは tmloadcf(1)
のいずれかを使用してアプリケーションをコンフィグレーションし、TUXCONFIG
ファイルを指すように TUXCONFIG
環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、tpacladd
をコンフィグレーションの MASTER
上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedo ATMI サーバ環境がサポートされるプラットフォームで実行できます。
tpacladd
コマンドは正しく完了すると、終了コード 0
で終了します。
tpacldel(1)
、tpaclmod(1)
、tpgrpadd(1)
、tpgrpdel(1)
、tpgrpmod(1)
、AUTHSVR(5)
『Oracle Tuxedo アプリケーション実行時の管理』
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)
『Oracle Tuxedo アプリケーション実行時の管理』
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)
『Oracle Tuxedo アプリケーション実行時の管理』
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)
『Oracle Tuxedo アプリケーション実行時の管理』
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. ワイルドカード cltname、UID なしで usrname foo を追加
$ tpaddusr foo /home/tuxapp/pwfile
$ # 2. cltname bar、UID 100 で usrname foo を追加
$ tpaddusr foo /home/tuxapp/pwfile bar 100
$ # 3. tpsysadm cltname、UID なしで usrname foo を追加
$ tpaddusr foo /home/tuxapp/pwfile tpsysadm
$ # 4. tpsysop cltname、UID なしでワイルドカード usrname を追加
$ tpaddusr '*' /home/tuxapp/pwfile tpsysop
$ # 5. ワイルドカード cltname、UID なしでワイルドカード usrname を追加
$ 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)
『Oracle Tuxedo アプリケーション実行時の管理』
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)
『Oracle Tuxedo アプリケーション実行時の管理』
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)
『Oracle Tuxedo アプリケーション実行時の管理』
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)
『Oracle Tuxedo アプリケーション実行時の管理』
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)
『Oracle Tuxedo アプリケーション実行時の管理』
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. cltname bar、UID 100 で usrname foo を追加
$ tpusradd -u 100 -c bar foo
$ # 2. tpsysadm cltname、UID なしで usrname foo を追加
$ 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)
『Oracle Tuxedo アプリケーション実行時の管理』
tpusrdel
usrname
tpusrdel
コマンドは、システムからプリンシパル (ユーザ名またはドメイン名) の定義を削除します。このコマンドは、指定されたユーザの定義を削除します。usrname
には、削除する既存のユーザの名前を指定します。
tmloadcf(1)
のいずれかを使用して、アプリケーションをコンフィグレーションする。TUXCONFIG
ファイルを指すように TUXCONFIG
環境変数を設定する。 SECURITY
を USER_AUTH
、ACL
、または MANDATORY_ACL
に設定する。
アプリケーションがアクティブでない場合、tpusrdel
はコンフィグレーションの 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
に設定する。
アプリケーションがアクティブでない場合、tpusrmod
はコンフィグレーションの 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)
『Oracle Tuxedo アプリケーション実行時の管理』
tuxadm
- Oracle Tuxedo Administration Console CGI ゲートウェイ
http://cgi-bin/tuxadm[TUXDIR=tuxedo_directory | INIFILE=initialization_file][other_parameters]
tuxadm
は、ブラウザから Administration Console を初期化する際に使用される、コモン ゲートウェイ インタフェース (CGI) プロセスです。「形式」に示されているように、このプログラムは 1 つのロケーションとして、または Web ブラウザからの URL としてのみ使用できます。通常、標準コマンドライン プロンプトからは実行されません。ほかの CGI プログラムと同様に、tuxadm
は QUERY_STRING
環境変数を使用してその引数一覧を解析します。
tuxadm
は引数を解析し、Administration Console 初期化ファイルを見つけます。TUXDIR
パラメータが存在する場合、初期化ファイルはデフォルトで $TUXDIR/udataobj/webgui/webgui.ini
に設定されます。INIFILE
オプションが存在する場合は、パラメータの値は初期化ファイルへの絶対パスになります。その他のパラメータが存在する場合もあります。
初期化ファイルの値をオーバーライドするために追加のパラメータを使用することもできます。初期化ファイルのパラメータの完全なリストは、wlisten
のリファレンス ページを参照してください。実際の初期化ファイルで許される値と一貫性のあるオーバーライドがされない限り、tuxadm
プロセスによって ENCRYPTBITS
パラメータがオーバーライドされることはありません。
tuxadm
の通常の動作は、Administration Console アプレットを起動する Web ページを作成するための HTML コマンドを、標準出力に生成することです。Web ページの全般的なフォーマットは、初期化ファイル内の TEMPLATE
パラメータによって制御されます。初期化ファイルに含まれる HTML コマンドには、特殊文字列 %APPLET%
を持つものがあり、この文字列の位置に Administration Console アプレットを埋め込みます。初期化ファイルからその他のパラメータ (CODEBASE
、WIDTH
、HEIGHT
など) を使用することにより、Administration Console のインスタンスの作成に必要なすべてのパラメータを含む、正しい APPLET
タグを生成できます。
注意 : | Oracle Tuxedo では、Administration Console のセキュリティの脆弱性に関するいくつか問題を解決しています。このリリースで解決された脆弱性の詳細については、次の URL にある「セキュリティアドバイザリ」を参照してください。 |
注意 : | http://www.beasys.co.jp/dev2dev/resourcelibrary/advisoriesnotifications/index.jsp |
注意 : | 無効な入力が行われると、その無効の正確な内容を報告するメッセージの代わりに、Administration Console から TUXDIR および INIFILE の設定を確認するよう求める汎用的なエラー メッセージが返されるようになりました。この変更により、「情報の開示」や「クロスサイト スクリプティング」といったセキュリティ アタックを撃退できます。 |
注意 : | Administration Console では、アクセスをより困難にするため、URL で指定するパラメータを TUXDIR のみに限定する設定が可能になりました。他のパラメータ (たとえば INIFILE ) を URL に指定すると、アクセスが失敗します。 |
注意 : | この設定を有効にするには、環境変数 TM_CONSOLE_DISALLOW_URLARGS を y に設定します。デフォルト コンフィグレーションでは、この設定は無効になっています。 |
異常終了した場合、tuxadm
はエラー メッセージを含む HTML コードを生成します。CGI プログラムの操作の性質上、tuxadm
からエラー コードが返ることはありません。
tuxwsvr
- Oracle Tuxedo Administration Console で使用するミニ ウェブ サーバ
tuxwsvr
-l
nlsaddr
[-d
device
] [-L
logfile
] [-F]-i
initialization_file
tuxwsvr
は World Wide Web サーバ プロセスです。これを使用すれば、顧客は Oracle Tuxedo Administration Console プロセスが動作するマシン上に商用 Web サーバまたはパブリック ドメイン Web サーバを設置していなくても、Oracle Tuxedo Administration Console プロセスをサポートすることができます。tuxwsvr
は、特にその他の指定がない限り、起動後はバックグラウンドで動作し、マシンが停止するか、オペレーティング システム コマンドを使用して tuxwsvr
プロセスが強制終了されるまで実行を継続します。
tuxwsvr
は、Oracle Tuxedo Administration Console のサポートに必要なすべての機能を含んでいますが、事前分岐プロセス、サーバサイドの HTML インクルード (.shtml
ファイル)、デフォルトのディレクトリ インデックス、https
接続など、商用 Web サーバ用の多数の機能は含まれていません。ただし、Oracle Tuxedo Administration Console は独自の暗号化プロトコルを実装しているため、https
接続がなくても安全なモードで実行することができます。性能上の理由から、汎用的な Web サーバでは、受信された要求に対する DNS 逆ルックアップは実行されません。
tuxwsvr
で使用されるコマンドライン オプションには、以下のものがあります。
-l
nlsaddr
hostname:port_number
" #.#.#.#:port_number
"tuxwsvr
は、ローカル名の解決機能 (通常 DNS) を使用して hostname
のアドレスを見つけます。hostname
はローカル マシンでなければなりません。ローカル名解決機能によって hostname
をローカル マシンのアドレスに明確に解決します。
#.#.#.#
) です。ドット区切りの 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 クラス ファイルを配置することがあるためです。
次に Windows システムの初期化ファイルの例を示します。
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
おそらくこのファイルは、Administration Console を起動する、顧客によって作成されたページです。
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 アドレス指定機能を使用している場合を考えます。マシン名は backus.company.com
で、アドレスは 155.2.193.18
です。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
開始: Thu Oct 15 11:01:00 1992
終了: Thu Oct 15 14:18:00 1992
サービス概要報告
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
はまず、フィールド化バッファをサービス BUY
に送り、CLIENT
フィールドを J. Jones に、ADDR
フィールドを 21 Valley Road に、STOCK
フィールドを AAA
に、そして SHARES
フィールドを 100 に設定します。
フィールド化バッファが 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 アプリケーションのプログラミング』
『FML を使用した Tuxedo アプリケーションのプログラミング』
『Oracle 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 アプリケーションのプログラミング』を参照してください。
viewc
コンパイラがフィールド名とそのフィールド識別子の対応をとれなかった場合 (環境変数が正しく設定されていなかったり、フィールド テーブル ファイルにフィールド名が含まれていなかった場合)、警告メッセージ「
Field not found
」が表示されます。
-n
オプションを使用すれば、FML
バッファにマッピングされていない C 構造体に対応する VIEW 記述ファイルを作成することができます。『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』では、このような独立した 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 FML リファレンス』の「FML 関数の紹介」
『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』
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 Administration Console リスナ プロセス
wlisten [-i
initialization_file
]
wlisten
は、Administration Console アプレットからの着信接続を受信して、Administration Console ゲートウェイ プロセス (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
プロセス、およびゲートウェイ プロセスはこれらのパラメータを使用して、Administration Console の接続と以降の操作に必要なコンフィグレーション情報を調整することができます。
初期化ファイルのパラメータのほとんどは、Oracle Tuxedo システムのインストール時にコンフィグレーションされます。また、Administration Console の実行中、ユーザ入力に応じて、ほかのパラメータが自動的に追加されることもあります。たとえば、ドメインに接続すると、コンソールはそのドメインのリストを初期化ファイルに追加します。次回からは、プルダウン式 [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%
を単独で含める必要があります。ファイルの残りの部分は、通常は命令、ロゴ、または Administration Console 管理者が使用するその他の情報を含む、標準の 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
管理パスワード ファイルが確実に見つかるように、必ず APPDIR
または TUXDIR
の環境変数を設定してください。
たとえば、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
がユニークな名前になります。
![]() ![]() ![]() |