|
|
|
Oracle Tuxedoアプリケーションの設定および保守に使用するコマンドについての説明
|
|
OSF/DCEを介して呼び出されるOracle Tuxedoシステム・クライアントを作成
|
|
OSF/DCEを呼び出すOracle Tuxedoシステム・サーバーを作成
|
|
Oracle Tuxedoクライアント・モジュールを作成
|
|
TM_MQI、 TM_MQO、および TMQUEUE_MQMサーバーをリンク
|
|
Tuxedo .NETワークステーション・クライアントのラッパーを使用して開発されたTuxedoクライアント・アプリケーションを構築 。
|
|
|
|
|
|
Oracle Tuxedoサーバー・ロード・モジュールを構築
|
|
各コマンドがそれぞれ TM_MQI、 TM_MQO、および TMQUEUE_MQMサーバーをリンク
|
|
トランザクション・マネージャ・サーバーのロード・モジュールを構築
|
|
カスタマイズされたワークステーション・ハンドラ・プロセスを構築
|
|
|
|
|
|
Oracle Tuxedoドメイン管理プログラムのコマンド・インタプリタ
|
|
DMCONFIGファイルを構文解析し、バイナリの BDMCONFIG構成ファイルをロード
|
|
BDMCONFIGファイル(バイナリのドメイン構成ファイル)をアンロード
|
|
|
|
|
|
Object Management Group (OMG)のインタフェース定義語ファイルをコンパイルし、インタフェースに必要なファイルを生成
|
|
インタフェース・リポジトリを作成して、インタフェース定義をロード
|
|
|
|
指定されたオブジェクトをインタフェース・リポジトリから削除
|
|
Tuxedo .NETワークステーション・クライアントのラッパーと組み合せて排他的に使用。これらのコマンドでは、フィールド表からC#ヘッダー・ファイルを作成
|
|
|
|
|
|
キュー・マネージャの管理プログラムのコマンド・インタプリタ
|
|
|
|
|
|
システムによって暗号化されたtlisten.pwファイルに対してパスワードを追加または変更するために使用
|
|
Oracle Tuxedoの掲示板のコマンド・インタプリタ
|
|
|
|
ネイティブ・クライアントまたはワークステーション・クライアントとして実行中のOracle Tuxedoアプリケーションに関する情報を動的に更新および検索
|
|
ローカル・マシンで、Oracle Tuxedoアプリケーションが割り当てたIPCリソースを削除
|
|
UBBCONFIGファイル(テキスト形式の構成ファイル)を解析し、 TUXCONFIGファイル(バイナリの構成ファイル)をロード
|
|
サービス情報を作成し、Tuxedoサービス・メタデータ・リポジトリにロード
|
|
TMS_rac_refreshは、トランザクション・マネージャ・サーバー(TMS)にコマンドを送り、xa_recover()の処理を再実行します。サーバーはグループ名またはグループIDで指定し、 groupnameパラメータにリストされる
|
|
|
|
TUXCONFIGファイル(バイナリの構成ファイル)をアンロード
|
|
Tuxedoサービス・メタデータ・リポジトリから、サービスの情報を表示するか、tuxedoクライアント側またはサーバー側のC疑似コードを作成します。
|
|
アクセス制御リストの新しいエントリをシステムに追加
|
|
Oracle Tuxedoセキュリティ・データ・ファイルを変換
|
|
|
|
|
|
Oracle Tuxedoパスワード・ファイルを作成
|
|
|
|
Oracle Tuxedoパスワード・ファイルからユーザーを削除
|
|
|
|
|
|
|
|
|
|
XAUTHSVR/ LAUTHSVR/ GAUTHSVR構成ファイルのLDAPバインド・パスワードを暗号化
|
|
TuxedoユーザーおよびグループをWebLogic Serverに移行
|
|
TuxedoユーザーおよびグループをLDIF形式に移行
|
|
Oracle Tuxedoシステム・パスワード・ファイルを保守
|
|
|
|
|
|
|
|
Oracle Tuxedoシステム・サーバー/サービス・レポート・プログラム
|
|
|
|
Oracle Tuxedo VIEWを生成する viewsコンパイラ
|
|
Tuxedo .NETワークステーション・クライアントのラッパーと組み合せて排他的に使用。これらのユーティリティは顧客定義のVIEWファイルのためのC#ファイルとDLLライブラリ・ファイルを生成
|
|
バイナリVIEWファイル対応のVIEW逆アセンブラ
|
『Oracle Tuxedoコマンド・リファレンス』
では、Oracle Tuxedoソフトウェアで提供されるシェル・レベルのコマンドについてアルファベット順に説明します。
特に指定がないかぎり、リファレンス・ページの形式で説明されているコマンドは、下記の構文に従ってオプションや引数を受け付け、次に説明するように解釈されます。
name [ -
option .. . ] [
cmdarg . . . ]
nameは実行可能ファイルの名前、
optionは
noargletter . . .または
argletter optarg [, . . .]のいずれかの文字列です。
オプション引数を必要としない
optionを表す1文字の英字。
「-」の後には、2つ以上の
noargletterオプションを付けることができます。
先行する
argletter (引数文字)を満たす文字列。1つの
argletter (引数文字)の次に来る複数の
optargは、カンマで区切るか、あるいはホワイトスペースで区切って引用符で囲む必要があります。
コマンドのオペランドを表すパス名(またはその他のコマンド引数)。
(ダッシュ)単独で使用された場合、追加引数を標準入力から指定することを意味します。
(2つのダッシュ)この後に続く項目を従属プログラムの引数とみなします。
optionまたは
cmdargを囲み、それらが省略可能であることを示します。
or記号( | )で区切った複数の
cmdargsを囲み、対応するoptionの使用時にそれらの中からいずれかを選択しなければならないことを示します。
optionまたは
cmdargを複数指定できることを意味します。
bldc_dce -
OSF/DCEを介して呼び出すことができるOracle Tuxedo ATMIクライアントを作成
bldc_dce [-o
output_file] [-i
idl_options] [-f
firstfiles]
[-l
lastfiles] [
idl_file . . .]
bldc_dceは、すべての入力IDLソース・ファイルおよび関連するACFソース・ファイルを解析し、それらをCのソース・ファイルとオブジェクト・ファイル、および
OSF/DCEライブラリと組み合せて、Oracle Tuxedo ATMIクライアントを生成します。この生成されたOracle Tuxedo ATMIクライアントは、
DCE RPC (つまり
DCE RPCクライアント)を介して呼び出すことができます。
コマンド行引数には、入力IDLソース・ファイルと、IDLコンパイラの動作を制御するオプションを指定します。使用できるオプションは次のとおりです。
IDLコンパイラに渡すオプションを指定します。Cのコンパイル・システムに関連するオプションは、このプログラムによって自動的に提供されます。このオプションを使用すると、アプリケーションでマネージャ・エントリ・ポイント・ベクトル(Manager Entry Point Vector)を使用するための
-no_mepvオプションを指定できます。
Oracle Tuxedo ATMIシステム・ライブラリと
OSF/DCEライブラリより前に取り込んでコンパイルする、コンパイラ・オプション、Cソース・ファイル、およびCオブジェクト・ファイルを指定します。
Oracle Tuxedo ATMIシステム・ライブラリと
OSF/DCEライブラリの後に取り込んでコンパイルするCライブラリを指定します。
blds_dce -
OSF/DCEを呼び出すOracle Tuxedo ATMIサーバーを作成
blds_dce [-o
output_file] [-i
idl_options] [-f
firstfiles]
[-l
lastfiles] [-s
service] [
idl_file . . .]
blds_dceは、すべての入力IDLソース・ファイルおよび関連ACFソース・ファイルを解析し、それらをCソース・ファイルとCオブジェクト・ファイル、および
OSF/DCEライブラリと組み合せて、
DCE RPC呼出しを作成できるOracle Tuxedo ATMIサーバーを生成します。このコマンドの主な使用目的は、Oracle Tuxedoシステムから
OSF/DCEへのゲートウェイ・プロセスを作成することです。
コマンド行引数には、入力IDLソース・ファイルと、IDLコンパイラの動作を制御するオプションを指定します。使用できるオプションは次のとおりです。
IDLコンパイラに渡すオプションを指定します。Cのコンパイル・システムに関連するオプションは、このプログラムによって自動的に提供されます。このオプションを使用すると、アプリケーションでマネージャ・エントリ・ポイント・ベクトル(Manager Entry Point Vector)を使用するための
-no_mepvオプションを指定できます。
Oracle Tuxedo ATMIシステム・ライブラリと
OSF/DCEライブラリより前に取り込んでコンパイルする、コンパイラ・オプション、Cソース・ファイル、およびCオブジェクト・ファイルを指定します。
Oracle Tuxedo ATMIシステム・ライブラリと
OSF/DCEライブラリの後に取り込んでコンパイルするCライブラリを指定します。
-s service[,service . . .]
buildclient - Oracle Tuxedo ATMIクライアント・モジュールを作成
buildclient [ -C ] [ -v ] [ {-r
rmname | -w } ] [ -o
name]
[ -f
firstfiles] [ -l
lastfiles] [ -k ]
buildclientは、Oracle Tuxedo ATMIクライアント・モジュールを構築するときに使用します。このコマンドは、
-fおよび
-lオプションで指定されるファイルと標準Oracle Tuxedo ATMIライブラリを組み合せて、ロード・モジュールを作成します。ロード・モジュールは、使用しているオペレーティング・システム用に定義されたデフォルトのC言語コンパイル・コマンドを使用し、
buildclientによって構築されます。UNIXシステム用のデフォルトのC言語コンパイル・コマンドは、UNIXシステムのリファレンス・マニュアルで説明されている
cc(1)コマンドです。
buildclientを冗長モードで機能させます。特に、コンパイル・コマンドをその標準出力に書き出します。
ワークステーション・ライブラリを使用してクライアントを作成することを指定します。デフォルトの設定では、ネイティブ・モードおよびワークステーション・モード両方のライブラリがある場合には、ネイティブ・クライアントが作成されます。このオプションは、
-rオプションとともには使用できません。
クライアントに関連するリソース・マネージャを指定します。
rmnameは、
$TUXDIR/udataobj/RMにあるリソース・マネージャの表にあるものでなければなりません。このファイルの各行は次のような形式になります。
rmname:rmstructure_name:library_names
(詳細は、
「buildtms(1)」を参照してください。)
rmnameの値を使用することにより、
$TUXDIR/udataobj/RMにあるエントリは、リソース・マネージャに関連したライブラリを自動的に含み、トランザクション・マネージャとリソース・マネージャ間のインタフェースを正しく設定するのに使用されます。他の値は、リソース・マネージャの表に追加されているものを指定できます。
-rオプションが指定されない場合のデフォルト設定では、クライアントはリソース・マネージャに関連しません。
「UBBCONFIG(5)」リファレンス・ページを参照してください。
出力ロード・モジュールのファイル名を指定します。このオプションの指定がない場合は、
a.outという名前になります。
buildclientのコンパイルおよびリンク・フェーズの最初に、Oracle Tuxedo ATMIライブラリより前に取り込む1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。コンパイラ・オプションおよび引数を含むように指定する場合は、以下に説明する
CFLAGSおよび
ALTCFLAGS環境変数を使用します。
-Cオプションが指定され、環境変数
COBが
AcuCobolに設定されている場合、このオプションで受け入れられるのはCOBOLソース・ファイルのみです。ライブラリ・ファイル、Cソース・ファイルなど、他のユーザー・ファイルは、環境変数
TM_COB_CC_FILESで指定する必要があります。「環境変数」の項を参照してください。
buildclientのコンパイルおよびリンク・フェーズの最後で、Oracle Tuxedo ATMIライブラリの後に取り込む1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。
COBOLクライアント・スタブを保持します。
buildclientは、COBOLプログラムで呼び出される関数表などのデータ構造を持つスタブを生成します。通常これは、クライアントの構築時にコンパイルの後で削除されます。このオプションは、ソース・ファイルを保持する必要があることを示します(ソース・ファイルの名前を調べるには-vを使用します)。このオプションは、
-Cオプションが指定され、環境変数
COBが
AcuCobolに設定されている場合にのみ有効です。
注意:
|
このファイルの生成後の内容は、リリースによって異なる場合があります。このファイルにエクスポーズされているデータ構造やインタフェースに依存しないようにしてください。これは、ビルド時の問題のデバッグを支援するためのオプションです。
|
buildclientは、環境変数
TUXDIRを使用して、クライアント・プロセスのコンパイル時に使用するOracle Tuxedo ATMIライブラリとインクルード・ファイルを見つけます。
buildclientは通常、デフォルトのC言語コンパイル・コマンドを使用してクライアント実行可能コードを生成します。デフォルトのC言語コンパイル・コマンドは、サポートされているオペレーティング・システムごとに定義されており、UNIXシステムの場合は
cc(1)です。代替コンパイラを指定できるようにするため、
buildclientは環境変数
CCが存在するかどうかを調べます。
CCが
buildclientの環境に存在しない場合、またはこの環境変数が文字列
""である場合、
buildclientはデフォルトのC言語コンパイラを使用します。環境内に
CCが存在する場合、実行されるコンパイラの名前がCCの値となります。
環境変数
CFLAGSは、コンパイラ・コマンド行の一部として引き渡される引数のセットを指定するときに使用します。この変数は、コマンド行オプション
「-I${TUXDIR}/include」とともに
buildclientにより自動的に引き渡されます。
CFLAGSが
buildclientの環境に存在しない場合、またはこの環境変数が文字列
""である場合、
buildclientはコンパイラ・コマンド行引数を追加しません。
COBOLコンパイルで
-Cオプションが指定されると、通常、
buildclientはOracle Tuxedoシェル
cobccを使用します。このシェルが
cobを呼び出して、クライアントの実行可能ファイルを生成します。代替コンパイラを指定できるようにするため、
buildclientは環境変数
ALTCCが存在するかどうかを調べます。
ALTCCが
buildclientの環境に存在しない場合、またはこの環境変数が文字列
""である場合、
buildclientは
cobccを使用します。環境内に
ALTCCが存在する場合、実行されるコンパイラ・コマンドの名前がALTCCの値となります。
注意:
|
Windowsシステムでは、 ALTCCおよび ALTCFLAGS環境変数は使用できません。これらの変数を設定すると、予想外の結果が生じます。まずCOBOLコンパイラを使用してアプリケーションをコンパイルし、次に生成されたオブジェクト・ファイルを buildclient(1)コマンドに渡す必要があります。
|
環境変数
ALTCFLAGSには、
-Cオプションを指定した場合に、COBOLコンパイラ・コマンド行の一部として渡す追加の引数を指定します。コマンド行オプションに対する追加です。
このオプションは、
buildclientによって自動的に渡されます。
-Cオプションを使用する場合、コンパイラのオプションと引数を
buildclient -fオプションに指定すると、エラーが生成されます。
ALTCFLAGSに指定してください。設定しないと、上記の
CFLAGSで使用されるのと同じ値に設定されます。
注意:
|
1. ALTCFLAGSは、MicroFocus COBOLコンパイラでのみ機能します。他のサポートされているCOBOLコンパイラ(つまり、IBMCOBOLまたはAccuCOBOL)では、 CFLAGSで十分に対応できます。 2. ALTCC環境変数の説明の下の注意を参照してください。
|
環境変数
COBOPTには、
-Cオプションを指定した場合に、COBOLコンパイラが使用する追加の引数を指定します。
環境変数
COBCPYには、
-Cオプションを指定した場合に、COBOLコンパイラが使用するCOBOLコピー・ファイルが存在するディレクトリを指定します。
環境変数
TM_COB_STATICは、共有バージョンまたは静的バージョンの
libcobatmiライブラリを
buildclientでリンクするかどうかを示します。環境変数の値には
Yesまたは
Noを指定します。
Yesに設定すると静的バージョンの
libcobatmiライブラリが使用され、それ以外の場合は共有バージョンが使用されます。この環境変数を指定しないと、共有バージョンの
libcobatmiライブラリがデフォルトで使用されます。
注意:
|
10.0より前のTuxedoリリースの場合、 buildserverは、静的バージョンの libcobatmiライブラリにリンクします。
|
環境変数
COBは、使用されるCOBOLコンパイラを示します。これは、
AcuCobolおよび
IBMCobolという2つのパラメータをサポートします。
AcuCobolが指定されると、ACUCOBOLコンパイラが使用されます。「
IBMCobol」が指定されると、IBMCOBOLコンパイラが使用されます。
パラメータが指定されないと、標準のCOBOLコンパイラが使用されます。
環境変数
TM_COB_VERSIONはACUCOBOLコンパイラのバージョンを示します。この環境変数は、
-Cオプションが指定され、環境変数
COBが
AcuCobolに設定されている場合にのみ有効です。環境変数の値の形式は、
[0-9]+\.[0-9]です。
•
|
TM_COB_VERSION値が 7.0より小さいと、 buildclientによって古い形式のACUCOBOLスタブ・コードが生成されます。7.0以上だと、 buildclientによって新しい形式のACUCOBOLスタブ・コードが生成されます。
|
•
|
TM_COB_VERSIONを設定しない場合、 buildclientによって新しい形式のACUCOBOLスタブ・コードがデフォルトで生成されます。
|
ACUCOBOLコンパイラが使用される場合、COBOLソース・ファイルのみが
-fオプションで指定できます。
buildclientのコンパイルやリンク編集の段階で、Oracle Tuxedo ATMIライブラリの前にまず
cc(1)に渡すユーザー・ファイルが他にある場合は、これらのファイルを環境変数
TM_COB_CC_FILESに指定する必要があります。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。この環境変数は、
-Cオプションが指定され、環境変数
COBが
AcuCobolに設定されている場合にのみ有効です。
注意:
|
ACUCOBOL CVMで使用されるACUCOBOLのシステム・ライブラリおよびオブジェクト・ファイルは、ファイル・リストに含める必要があります。
|
COBOLコンパイルにACUCOBOLを使用する場合、環境変数
ACUCOBOLはACUCOBOLがインストールされているディレクトリを示し、クライアントのコンパイル時にACUCOBOLのシステム・ライブラリおよびファイルがこのディレクトリから検出されます。
注意:
|
ファイル direct.cは、ACUCOBOLがC外部変数およびCOBOLプログラムの関数にアクセスするために使用されます。プログラマが direct.cをサード・パーティのソフトウェアをサポートするように変更した場合、変更された direct.cは $ACUCOBOL/libディレクトリ下に配置する必要があります。
|
COBOLコンパイルにIBMCOBOLを使用する場合、環境変数IBMCOBOLはIBMCOBOLがインストールされているディレクトリを示すため、クライアントのコンパイル時にIBMCOBOLのシステム・ライブラリおよびファイルが検出されます。
注意:
|
IBM COBOL 2.0および3.1ではCコンパイラのメッセージはサポートされません。 「 LANG=C」と指定すると、COBOL 2.0はエラーを返し、コンパイラが終了します。COBOL 3.1では警告が返されます。 IBM COBOL 2.0を使用する場合は、「 LANG=en_US」と指定します。 IBM COBOL 3.1では「 LANG=en_US」は必要ありません。
|
LD_LIBRARY_PATH (UNIXシステムの場合)
環境変数
LD_LIBRARY_PATHには、Oracle Tuxedoシステムの共有オブジェクトに加えて、COBOLコンパイラが使用する共有オブジェクトが存在するディレクトリを指定します。一部のUNIXシステムでは異なる環境変数が必要です: HP-UXシステムでは
SHLIB_PATH環境変数、AIXでは
LIBPATHを使用します。
ライブラリを検索するディレクトリのリストを示します。複数のディレクトリを指定する場合はセミコロン(;)で区切ります。
buildclientコンパイル・ツールは、以下のプラットフォームで使用できます。
•
|
Oracle Tuxedo ATMIサーバー環境がサポートされているプラットフォーム
|
•
|
32ビットWindowsオペレーティング・システムを実行するワークステーション・プラットフォーム
|
buildclientコマンド行で指定するファイル名は、お使いのオペレーティング・システムの構文とセマンティクスに従ってください。
リスト1に、一般的なCOBOLコンパイラの例を示します。
CC=ncc CFLAGS="-I /APPDIR/include"; export CC CFLAGS
buildclient -o empclient -f emp.c -f "userlib1.a userlib2.a" COBCPY=$TUXDIR/cobinclude
COBOPT="-C ANS85 -C ALIGN=8 -C NOIBMCOMP -C TRUNC=ANSI -C OSEXT=cbl"
COBDIR=/usr/lib/cobol LD_LIBRARY_PATH=$COBDIR/coblib:$TUXDIR/lib
export COBOPT COBCPY COBDIR LD_LIBRARY_PATH
buildclient -C -o empclient -f name.cbl -f "userlib1.a userlib2.a"
リスト2に、ACUCOBOLコンパイラの例を示します。
リスト2
BUILDCLIENT ACUCOBOLの例
TUXDIR=/opt/tuxedo10.0
TM_COB_STATIC=no
COB=AcuCobol
COBCPY=$TUXDIR/cobinclude
COBOPT="-Ca -v -w -Ga -Dw64 -Dl8 -Da8"
TM_COB_VERSION=7.2
ACUCOBOL=/opt/AcuCobol-7.2.1
TM_COB_CC_FILES="-lruncbl -lclnt -lacvt -lfsi -laregex -lacuterm -lextfh -laxml -lexpat -lvision -lesql -lacme -lz -lm"
LD_LIBRARY_PATH=$ACUCOBOL/lib:$TUXDIR/lib
export TUXDIR TM_COB_STATIC COB COBCPY COBOPT TM_COB_VERSION ACUCOBOL TM_COB_CC_FILES LD_LIBRARY_PATH
buildclient -C -o CSIMPCL -f CSIMPCL.cbl
リスト3に、IBMCOBOLコンパイラの例を示します。
リスト3
BUILDCLIENT IBMCOBOLの例
TUXDIR=/opt/tuxedo10.0
TM_COB_STATIC=no
COB=IBMCobol
IBMCOBOL=/usr/lpp/cobol
COBCPY=$TUXDIR/cobinclude
COBOPT="-Ca -v -w -Ga -Dw64 -Dl8 -Da8" LD_LIBRARY_PATH=$IBMCOBOL/lib:$TUXDIR/lib
export TUXDIR TM_COB_STATIC COB COBCPY COBOPT IBMCOBOL LD_LIBRARY_PATH
buildclient -C -o CSIMPCL -f CSIMPCL.cbl
buildmqadapter -
TM_MQI、
TM_MQO、および
TMQUEUE_MQMサーバーをリンク
buildmqadapter [-v] [-r rmname][-c] [-t]
buildmqadapterは
TM_MQI、
TM_MQO、および
TMQUEUE_MQMサーバーを作成し、これらのサーバーを
$TUXDIR/bin/TM_MQI、$TUXDIR/bin/TM_MQO、および
$TUXDIR/bin/TMQUEUE_MQMにインストールします。
注意:
|
出力ファイルを別の場所に配置する必要がある場合、コマンド buildTM_MQI(1)、 buildTM_MQO(1)、および buildTMQUEUE_MQM(1)をそれぞれかわりに使用する必要があります。
|
buildmqadapterで作成されるサーバーは、Tuxedo MQ AdapterがIBM WebSphere MQとのやり取りに使用します。詳細は、Oracle MQ Adapter for Tuxedo 11gR1ユーザーズ・ガイドを参照してください。
ユーザーは、MQ Adapterサーバー・ファイルを作成または上書きするためのパーミッションを持つ必要があります。
buildmqadapterはbuildserverコマンドを呼び出してそれぞれのMQ Adapterサーバーを作成します。
あらかじめリンクされたオブジェクトではなく、
buildmqadapterを使用してMQ Adapterサーバー・ファイルを作成することで、Tuxedo管理者は次を構成できます。
•
|
MQ AdapterサーバーをWebSphere MQサーバー・ライブラリにリンクするか、WebSphere MQクライアント・ライブラリにリンクするか。
|
•
|
MQ Adapterサーバーを動的なXAスイッチMQRMIXASwitchDynamicにリンクするか、静的なRMスイッチMQRMIXASwitchにリンクするか。
|
•
|
リンクするWebSphere MQライブラリのパッチ・レベルおよびリリース。
|
buildmqadapterでは、MQリソース・マネージャのTMSサーバーが作成されないため、Tuxedo管理者はある時点でbuildtmsを実行してWebSphere MQ TMSサーバーを作成する必要があります。
buildmqadapterを冗長モードで動作させます。具体的には、buildserverコマンドをその標準出力に出力し、buildserverに-vオプションを指定します。
MQ Adapterサーバーに関連付けられるリソース・マネージャ名を指定します。この値rm_nameは、
$TUXDIR/udataobj/RMにあるリソース・マネージャ表に登録されていなければなりません。
rm_nameの値に対応するエントリは、リソース・マネージャに対する正しいライブラリを自動的に組み込み、かつトランザクション・マネージャとリソース・マネージャとの間のインタフェースを正しく設定(
xa_switch_t構造体を使用して)するときに使用します。このパラメータのデフォルト値は
MQSeries_XA_RMIです。
WebSphere MQクライアント・ライブラリを使用するMQアダプタのビルドを指定します。
マルチスレッド・サーバーのビルドを指定します。このオプションはTM_MQIサーバーのみで有効です。
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#コンパイラ・オプションを指定できます。複数のオプションを指定するときには、空白で区切り、引用符で囲む必要があります。
|
buildnetclientコマンドを冗長モードで実行することを指定します。具体的には、コンパイル・コマンドが標準出力に書き出されます。
このコマンドによって生成されるクライアント・アプリケーションの名前を指定します。名前を指定しないと、静的メソッド
Mainが含まれるクラスを持つC#のソース・ファイルの名前を取ってアプリケーション・ファイルの名前が付けられます。ファイル名の拡張子は、そのアプリケーションが実行されるオペレーティング・システムによって異なります(Windowsシステムの場合は拡張子は
.exeになります)。
ファイル拡張子.csを持つファイルのC#コンパイラ・コマンド行の一部として渡される引数を指定します。複数のC#コンパイラ・オプションを指定する場合は、空白で区切り、引用符で囲みます。
アプリケーション・ファイルのビルドに必要な、拡張子.csを持つC#のソース・ファイルを指定します。
アプリケーション・ファイルをビルドする際に、リストされた.csソース・ファイルから参照される.NETアセンブリを指定します。アセンブリ・ファイルのファイル拡張子は.dllです。
アプリケーション・ファイルのビルドに必要な、拡張子.netmoduleを持つ.NETモジュール・ファイルを指定します。
buildnetclientは、コマンド行から渡された引数を解析して、C#コンパイラを呼び出す別のコマンド行を作成し、実行可能アプリケーションをビルドします。
たとえば、
[buildnetclient -o t1.exe, t1.cs]は、Windowsシステム上では
buildnetclientによって
csc /out:t1.exe /t:exe /r:%TUXDIR%\bin\libwscdnet.dll t1.csに変換されます。
次の例では、2つのC#ソース・ファイル、t1.cs、t2.csと、モジュール・ファイルt3.netmoduleを指定して、実行可能アセンブリfirst.exeをビルドする場合を示しています。この例では、t1.csから、これらのファイルと同じディレクトリにあるライブラリ・アセンブリfunc.dllが提供するメソッドを呼び出しています。
[buildnetclient -o first.exe func.dll t1.cs t3.netmodule t2.cs]
buildobjclient - CORBAクライアント・アプリケーションを構築します。
buildobjclient [-v][-o
name] [-f
firstfile-syntax]
[-l
lastfile-syntax] -P
buildobjclientコマンドを使用して、CORBAクライアント・アプリケーションを構築できます。このコマンドは、
-fおよび
-lオプションで指定されるファイルと標準のCORBAライブラリを組み合せて、クライアント・アプリケーションを形成します。クライアント・アプリケーションは、使用しているオペレーティング・システム用に定義されたデフォルトのC++言語コンパイル・コマンドによって作成されます。
指定したすべての
.cおよび
.cppファイルは、使用しているオペレーティング・システム用のコンパイル・システムを1回呼び出すことによってコンパイルされます。呼び出すコンパイラを指定するには、
CC環境変数にコンパイラの名前を指定します。
CC環境変数を定義していない状態で
buildobjclientが呼び出された場合は、すべての
.cおよび
.cppファイルがコンパイル時に、使用しているオペレーティング・システム用のデフォルトのC++言語コンパイル・コマンドが呼び出されます。
ユーザーは、
CFLAGSまたは
CPPFLAGS環境変数を使用すると、コンパイラに渡すオプションを指定できます。
CPPFLAGSの値は、
CFLAGSを定義していない状態で
buildobjclientが呼び出された場合に使用されます。
buildobjclientコマンドを冗長モードで実行することを指定します。具体的には、コンパイル・コマンドが標準出力に書き出されます。
このコマンドによって生成されるクライアント・アプリケーションの名前を指定します。名前が指定されていない場合、アプリケーション・ファイルの名前は
client<.type>になります。typeは拡張子で、アプリケーションのオペレーティング・システムによって異なります。たとえば、UNIXシステムでは
typeは付きませんが、Windowsシステムでは
typeは
.EXEになります。
buildobjclientのコンパイルとリンクの段階で、最初にインクルードすべきファイルを指定します。指定したファイルは、CORBAライブラリよりも前にインクルードされます。
表2に、ファイルを指定する3つの方法を示します。
|
|
|
|
-f "file1.cpp file2.cpp file3.cpp ..."
|
複数のファイルを指定できます。各ファイル名を引用符で囲んでホワイト・スペースで区切ります。
|
注意:
|
名前に空白が含まれているファイルは指定できません。
|
buildobjclientのコンパイルとリンクの段階で、最後にインクルードすべきファイルを指定します。指定したファイルは、CORBAライブラリよりも後にインクルードされます。
表3に、ファイルを指定する3つの方法を示します。
|
|
|
|
-l "file1.cpp file2.cpp file3.cpp ..."
|
複数のファイルを指定できます。各ファイル名を引用符で囲んでホワイト・スペースで区切ります。
|
適切なPOAライブラリ(つまり、クライアントがサーバーとしても機能できるようにするライブラリ)をイメージにリンクするように指定します。生成されるイメージがサーバーとして機能できるようになり、オブジェクトを作成するために
Callbacksラッパー・クラスを使用できます。生成される共同クライアント/サーバーは、Oracle Tuxedo TP Frameworkで提供されるオブジェクト状態管理とトランザクション管理は利用できません。クライアントを生成するときに、
-PスイッチをIDLコンパイラに渡しておく必要があります。TP Frameworkで提供されるすべてのサポートを備えたサーバーを構築するには
buildobjserverを使用します。デフォルトでは、サーバー・ライブラリにリンクしません。つまり、デフォルトでは、共同クライアント/サーバーではなくクライアントのみが作成されます。
buildobjclientコマンドの使用方法に関するヘルプを提供します。それ以外に行われるアクションはありません。
クライアント・アプリケーションのコンパイル時に使用するCORBAライブラリおよびインクルード・ファイルを検索します。
拡張子が
.cまたは
.cppのすべてのファイルに使用するコンパイラを指定します。定義しない場合は、すべての
.cおよび
.cppファイルのコンパイル時に、使用しているオペレーティング・システム用のデフォルトのC++言語コンパイル・コマンドが呼び出されます。
拡張子が
.cまたは
.cppのファイルのコンパイラ・コマンド行の一部として渡す引数を示します。
buildobjclientコマンド環境内に
CFLAGSが存在しない場合は、
CPPFLAGS環境変数がチェックされます。
注意:
|
CFLAGS環境変数によって渡される引数は、 CPPFLAGS変数より優先されます。
|
.cまたは
.cppファイル拡張子を持つファイルのコンパイラ・コマンド行の一部として渡される引数を指定します。
これは、
buildobjclientコマンドによって自動的に渡されるコマンド行オプション
"-I$(TUXDIR)/include" (UNIXシステムの場合)または
/I%TUXDIR%¥ (Windowsシステムの場合)に追加されます。
CPPFLAGSが
buildobjclientコマンド環境に存在しない場合、コンパイラ・コマンドは追加されません。
LD_LIBRARY_PATH (UNIXシステムの場合)
CORBAソフトウェアが共有するオブジェクトに加え、コンパイラで使用する共有オブジェクトを保持するディレクトリを示します。複数のディレクトリを指定する場合はコロン(:)で区切ります。一部のUNIXシステムでは異なる環境変数が必要です: HP-UXシステムでは
SHLIB_PATH環境変数、AIXでは
LIBPATHを使用します。
ライブラリを検索するディレクトリのリストを示します。複数のディレクトリを指定する場合はセミコロン(;)で区切ります。
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]
[-l lastfile-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の値を使用します。
buildobjserverコマンドを冗長モードで機能させます。特に、コンパイル・コマンドを標準出力に書き出します。
このコマンドによって生成されるサーバー・アプリケーションの名前を指定します。名前を指定しない場合、アプリケーション・ファイルの名前は
server.typeになります。
typeは拡張子で、アプリケーションが対応するオペレーティング・システムを示します。たとえば、UNIXシステムでserverと呼ばれるアプリケーションは、Windows NTシステムでは
server.EXEと呼ばれます。
buildobjserverコマンドのコンパイルおよびリンク・フェーズで最初に(つまり、CORBAライブラリの前に)取り込むファイルを指定します。ファイルを指定する3種類の方法の詳細は、表
19ページの「?$paratext>?」を参照してください。
buildobjserverコマンドのコンパイルおよびリンク・フェーズで最後に(つまり、CORBAライブラリの後に)取り込むファイルを指定します。ファイルを指定する3種類の方法の詳細は、表
19ページの「?$paratext>?」を参照してください。
このサーバーのリソース・マネージャを指定します。値
rmnameは、リソース・マネージャ表に指定されている必要があります。この表は、UNIXシステムでは
$TUXDIR/udataobj/RMに、Windows NTシステムでは
%TUXDIR%\udataobj\RMに格納されています。
このファイルの各エントリは、次の形式で指定します。
rmname:rmstructure_name:library_names
rmname値を使用することで、
$TUXDIR/udataobj/RMまたは
%TUXDIR%\udataobj\RM内のエントリを、リソース・マネージャに関連付けられているライブラリに自動的にインクルードし、トランザクション・マネージャとリソース・マネージャの間のインタフェースを設定できます。値
TUXEDO/SQLを指定すると、Oracle TuxedoシステムとSQLリソース・マネージャのライブラリがインクルードされます。他の値は、リソース・マネージャの表に追加されているものを指定できます。
-r オプションが指定されていない場合は、デフォルトでnullリソース・マネージャが使用されます。
buildobjserverコマンドの実行時に役立つ情報が記載されたヘルプを表示します。それ以外に行われるアクションはありません。
作成中のCORBAサーバー・アプリケーションでマルチスレッド処理を有効にします。このオプションを指定すると、
UBBCONFIGファイルの
MAXDISPATCHTHREADSパラメータで1を超える値を指定することもできます。指定しない場合、CORBAサーバーはシングル・スレッドのアプリケーションとして動作します。
サーバー・アプリケーションのコンパイル時に使用するCORBAライブラリおよびインクルード・ファイルを検索します。
-lまたは
-fオプションで指定される、拡張子が
.cまたは
.cppファイルのコンパイルに使用するコンパイラを指定します。
.cまたは
.cppファイル拡張子を持つファイルのコンパイラ・コマンド行の一部として渡される引数を指定します。
CFLAGSが
buildobjserverコマンド環境で使用できない場合、
buildobjserverコマンドは
CPPFLAGS環境変数があるかどうかを調べます。
注意:
|
CFLAGS環境変数によって渡される引数は、 CPPFLAGS環境変数より優先されます。
|
.cまたは
.cppファイル拡張子を持つファイルのコンパイラ・コマンド行の一部として渡される引数を指定します。このオプションは、UNIXシステムのコマンド行オプション
-I$TUXDIR/include、またはWindows NTシステムのコマンド行オプション
/I%TUXDIR%\includeへの追加として、
buildobjserverコマンドによって自動的に渡されます。
buildobjserverコマンド環境内で
CPPFLAGSが利用できない場合、コンパイラ・コマンドは追加されません。
LD_LIBRARY_PATH (UNIXシステムの場合)
コンパイラが使用する共有オブジェクト、およびCORBAの共有オブジェクトが入っているディレクトリをリストで指定します。ディレクトリ名はコロン(:)で区切ります。一部のUNIXシステムでは異なる環境変数が必要です: HP-UXシステムでは
SHLIB_PATH環境変数、AIXでは
LIBPATHを使用します。
ライブラリにあるディレクトリを一覧表示します。ディレクトリ名はセミコロン(;)で区切ります。
buildobjserverコマンドは、クライアントのみのCORBAシステムではサポートされません。
次の例では、
emp_s.cppおよび
emp_i.cppファイルを使用して、UNIXシステム上でCORBAサーバー・アプリケーションを作成します。
buildobjserver -r TUXEDO/SQL -o unobserved
-f ���emp_s.cpp emp_i.cpp���
次の例は、
buildobjserverコマンドで環境変数
CCおよび
CFLAGSを使用する方法を示しています。また、
-fおよび
-lmオプションを使用して、BourneまたはKornシェルで数学ライブラリをリンクする方法も示しています(UNIXシステム)。
CFLAGS=-g CC=/bin/cc \
buildobjserver -r TUXEDO/SQL -o TLR -f TLR.o -f util.o -l -lm
次の例は、リソース・マネージャを指定せずにUNIXシステム上で
buildobjserverコマンドを使用する方法を示しています。
buildobjserver -o PRINTER -f PRINTER.o
以下では、サポートされている各オペレーティング・システム・プラットフォーム用のRMファイルの例を示します。
Oracle_XA;xaosw;C:\Orant\rdbms73\xa\xa73.lib
C:\Orant\pro22\lib\msvc\sqllib18.lib
Oracle_XA:xaosw:-L$ORACLE_HOME/rdbms/lib
-L$ORACLE_HOME/precomp/lib -lc
-L/home4/m01/app/oracle/product/7.3.2/lib -lsql -lclntsh
-lsqlnet -lncr -lcommon -lgeneric -lepc -lnlsrtl3 -lc3v6
-lcore3 -lsocket -lnsl -lm -ldl -lthread
Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lxa
${ORACLE_HOME}/lib/libsql.a -lsqlnet -lncr -lsqlnet
${ORACLE_HOME}/lib/libclient.a -lcommon -lgeneric -lsqlnet
-lncr -lsqlnet ${ORACLE_HOME}/lib/libclient.a -lcommon
-lgeneric -lepc -lepcpt -lnlsrtl3 -lc3v6 -lcore3
-lnlsrtl3 -lcore3 -lnlsrtl3 -lm
Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lxa -lsql -lsqlnet
-lncr -lclient -lcommon -lgeneric -lepc -lnlsrtl3 -lc3v6
-lcore3 -lm -lld
Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lclntsh
buildserver - Oracle Tuxedo ATMIサーバーのロード・モジュールを構築
buildserver [-C] [-M] [-s services[:func[()]]][-v] [-o outfile] [-f firstfiles] [-l lastfiles] [{-r|-g} rmname] [-E envlabel] [-t] [-z]
buildserverは、Oracle Tuxedo ATMIサーバーのロード・モジュールを構築するために使用されます。このコマンドは、
-fおよび
-lオプションで指定されるファイルと、標準サーバー・メイン・ルーチンおよび標準Oracle Tuxedo ATMIライブラリを組み合せて、ロード・モジュールを作成します。ロード・モジュールは、
buildserverが呼び出す
cc(1)コマンドによって構築されます。(UNIXシステム・リファレンス・マニュアルの
cc(1)に関する項を参照してください。)
buildserverコマンドには、以下のオプションがあります。
buildserverを冗長モードで動作させます。特に、コンパイル・コマンドをその標準出力に書き出します。
出力されるロード・モジュールを収めるファイルの名前を指定します。このファイル名を指定しない場合、ロード・モジュールの名前は
SERVERになります。
buildserverのコンパイルおよびリンク・フェーズの最初に、Oracle Tuxedo ATMIライブラリより前に取り込む1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。コンパイラ・オプションおよび引数を含むように指定する場合は、以下に説明する
CFLAGSおよび
ALTCFLAGS環境変数を使用します。
-Cオプションが指定され、環境変数
COBが
AcuCobolに設定されている場合、このオプションで受け入れられるのはCOBOLソース・ファイルのみです。ライブラリ・ファイル、Cソース・ファイルなど、他のユーザー・ファイルは、環境変数
TM_COB_CC_FILESで指定する必要があります。「環境変数」の項を参照してください。
buildserverのコンパイルおよびリンク・フェーズの最後で、Oracle Tuxedo ATMIライブラリの後に取り込む1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。
このサーバーに関連付ける複数のリソース・マネージャを指定します。サーバーを複数のXA準拠リソース・マネージャに関連付ける場合、このオプションは必須です。このオプションを指定せずにサーバーを起動しようとすると、使用する構成ファイルで、複数リソース・マネージャ以外のサーバー・グループにこのサーバーが指定されているため、警告メッセージがユーザー・ログに出力されます。buildserverコマンドを実行するときに「-r」オプションを指定していると、サーバーは、1つのリソース・マネージャと関連付けられた一般サーバーに戻ります。
このサーバーのリソース・マネージャを指定します。
rmnameは、
$TUXDIR/udataobj/RMにあるリソース・マネージャの表にあるものでなければなりません。このファイルの各行は次のような形式になります。
rmname:rmstructure_name:library_names
(詳細は、
「buildtms(1)」を参照してください。)
rmnameの値を使用することにより、
$TUXDIR/udataobj/RMにあるエントリは、リソース・マネージャに関連したライブラリを自動的に含み、トランザクション・マネージャとリソース・マネージャ間のインタフェースを正しく設定するのに使用されます。他の値は、リソース・マネージャの表に追加されているものを指定できます。
-rオプションが指定されていない場合は、デフォルトでnullリソース・マネージャが使用されます。
「UBBCONFIG(5)」リファレンス・ページを参照してください。
-Mが指定された場合は、
buildserverによって最大32種類のリソース・マネージャが許可されます。32を上回るリソース・マネージャが
-rオプションで指定されると、前のリソース・マネージャが置き換えられ、警告メッセージが出力されます。
重複するリソース・マネージャ名が指定されると、無視され、警告メッセージが出力されます。
buildserverはRMファイルで構成される
library_namesを比較することにより、重複するライブラリを無視し、警告メッセージを出力します。
-s { @
filename |
service[,
service...][:
func] | :
func } ]
サーバーの起動時に通知するサービスの名前を指定します。サービス名および暗黙の関数名は127文字以下でなければなりません。明示的関数名(コロンの後に指定する名前)は、128文字まで使用できます。この文字数より長い名前が指定された場合は、警告メッセージが表示されて短縮されます。
tmadmin(1)または
TM_MIB(5)によりファイルを取得した場合は、名前の最初の127文字のみが表示されます(
「servopts(5)」を参照してください)。サービスに関連付けるすべての関数は、このオプションに指定する必要があります。ほとんどの場合、サービスは同じ名前を持つ関数によって実行されます。つまり、
xサービスは関数
xによって実行されます。たとえば、次を指定すると、サービス
x、
yおよび
zと関連付けられたサーバーが構築され、それぞれが同名の関数によって処理されます:
その他のケースでは、異なる名前の関数でサービスが実行されることもあります。次の指定により、サービス
x、
yおよび
zと関連付けられたサーバーがビルドされ、それぞれが関数
abcによって処理されます。
カンマとカンマの間に空白を入れてはいけません。関数名の前にはコロンを付けます。別のケースでは、実行時までサービス名がわからない場合もあります。サービスを関連付けられる関数は、
buildserverに指定する必要があります。サービス名をマップできる関数を指定するには、関数名の前にコロンを付けます。たとえば、次の指定を行うと、サービス関連を持つことができる関数
pqrを持つサーバーがビルドされます。
tpadvertise(3c)を使用して、サービス名を
pqr関数にマッピングできます。
ファイル名は、
-sオプションを使用し、先頭に@記号を付けて指定できます。このファイルの各行は、
-sオプションの引数と見なされます。このファイルにコメントを入力できます。コメントは必ず「#」記号で始めます。このファイルを使用すると、サービスをマップできるすべての関数をサーバーに指定できます。
-sオプションは何回使用してもかまいません。「.」で始まるサービスはシステムが使用するために予約されています。
-sオプションを使用してそのようなサービスをサーバーに組み込むと、
buildserverが失敗します。
buildserverは通常、
ccコマンドを使用して
a.outを生成します。代替コンパイラを指定できるようにするため、
buildserverはシェル変数
CCが存在するかどうかを調べます。
CCが
buildserverの環境にない場合、または変数の値が文字列
""である場合は、
buildserverはコンパイラとして
ccを使用します。環境内に
CCが存在する場合、実行されるコンパイラの名前がCCの値となります。同様に、シェル変数
CFLAGSも、コンパイラへ渡す一連のパラメータを取り込むためにチェックされます。
サーバーの
メイン・スタブを保持します。
buildserverでは、サービス表や
main()関数などのデータ構造に基づいて
メイン・スタブが生成されます。このスタブは、通常どおりコンパイルされ、サーバーがビルドされたときに削除されます。このオプションは、ソース・ファイルを保持する必要があることを示します(ソース・ファイル名を表示するには、
-vオプションを使用します)。
注意:
|
このファイルの生成後の内容は、リリースによって異なる場合があります。このファイルにエクスポーズされているデータ構造やインタフェースに依存 しないようにしてください。これは、ビルド時の問題のデバッグを支援するためのオプションです。
|
マルチスレッド処理を指定します。サーバーをマルチスレッド操作で使用する場合は、必ずこのオプションを指定してください。構成ファイルの
MAXDISPATCHTRHREADSに1より大きな値が設定されている場合に、このオプションを指定せずにサーバーを起動しようとすると、ユーザー・ログに警告メッセージが出力され、サーバーはシングル・スレッド操作に戻ります。
このオプションは、管理者がスレッド・セーフな方法でプログラミングされていないサーバーをマルチスレッド・サーバーとして起動するのを防止するために使用されます。
XAスイッチ・インタフェースの
__stdcall呼出し規約を指定します。
buildserverは、環境変数
TUXDIRを使用して、サーバー・プロセスのコンパイル時に使用するOracle Tuxedo ATMIライブラリおよびインクルード・ファイルを見つけます。
buildserverは通常、デフォルトのC言語コンパイル・コマンドを使用してサーバー実行可能コードを生成します。デフォルトのC言語コンパイル・コマンドは、サポートされているオペレーティング・システムごとに定義されており、UNIXシステムの場合は
cc(1)です。代替コンパイラを指定できるようにするため、
buildserverは環境変数
CCが存在するかどうかを調べます。
CCが
buildserverの環境に存在しない場合、またはこの環境変数が文字列
""である場合、
buildserverはデフォルトのC言語コンパイラを使用します。環境内に
CCが存在する場合、使用されるコンパイラの名前がCCの値となります。
環境変数
CFLAGSは、コンパイラ・コマンド行の一部として引き渡される引数のセットを指定するときに使用します。この変数は、コマンド行オプション
「-I${TUXDIR}/include」とともに
buildserverにより自動的に引き渡されます。
CFLAGSが
buildserverの環境に存在しない場合、またはこの環境変数が文字列
""である場合、
buildserverはコンパイラ・コマンド行引数を追加しません。
COBOLコンパイルで
-Cオプションが指定されると、通常、
buildserverはOracle Tuxedoシェル
cobcc(1)を使用します。このシェルが
cobを呼び出して、サーバー実行可能ファイルを生成します。代替コンパイラを指定できるようにするため、
buildserverは環境変数
ALTCCが存在するかどうかを調べます。
ALTCCが
buildserverの環境に存在しない場合、またはこの環境変数が文字列
""である場合、
buildserverは
cobccを使用します。環境内に
ALTCCが存在する場合、実行されるコンパイラ・コマンドの名前がALTCCの値となります。
注意:
|
Windowsシステムでは、 ALTCCおよび ALTCFLAGS環境変数は使用できません。これらの変数を設定すると、予想外の結果が生じます。最初にCOBOLコンパイラを使用してアプリケーションをコンパイルし、次に生成されたオブジェクト・ファイルを buildserver(1)コマンドに渡す必要があります。
|
環境変数
ALTCFLAGSには、
-Cオプションを指定した場合に、COBOLコンパイラ・コマンド行の一部として渡す追加の引数を指定します。この変数は、コマンド行オプション
「-I${TUXDIR}/include」とともに
buildserverにより自動的に引き渡されます。
-Cオプションを使用する場合、コンパイラのオプションと引数を
buildserver -fオプションに指定すると、エラーが生成されます。
ALTCFLAGSに指定してください。設定しないと、上記の
CFLAGSで使用されるのと同じ値に設定されます。
注意:
|
1. ALTCFLAGSは、MicroFocus COBOLコンパイラでのみ機能します。他のサポートされているCOBOLコンパイラ(つまり、IBMCOBOLまたはAccuCOBOL)では、 CFLAGSで十分に対応できます。 2. ALTCC環境変数の説明の下の注意を参照してください。
|
環境変数
COBOPTには、
-Cオプションを指定した場合に、COBOLコンパイラが使用する追加の引数を指定します。
環境変数
COBCPYには、
-Cオプションを指定した場合に、COBOLコンパイラが使用するCOBOLコピー・ファイルが存在するディレクトリを指定します。
環境変数
TM_COB_STATICは、共有バージョンまたは静的バージョンの
libcobatmiライブラリのどちらを
buildserverでリンクするかを示します。環境変数の値には
Yesまたは
Noを指定します。
Yesに設定すると静的バージョンの
libcobatmiライブラリが使用され、それ以外の場合は共有バージョンが使用されます。この環境変数を指定しないと、共有バージョンの
libcobatmiライブラリがデフォルトで使用されます。
注意:
|
10.0より前のTuxedoリリースの場合、 buildserverは、静的バージョンの libcobatmiライブラリにリンクします。
|
環境変数
COBは、使用されるCOBOLコンパイラを示します。これは、
AcuCobolおよび
IBMCobolという2つのパラメータをサポートします。
AcuCobolが指定されると、ACUCOBOLコンパイラが使用されます。「
IBMCobol」が指定されると、IBMCOBOLコンパイラが使用されます。
パラメータが指定されないと、標準のCOBOLコンパイラが使用されます。
環境変数
TM_COB_VERSIONはACUCOBOLコンパイラのバージョンを示します。この環境変数は、
-Cオプションが指定され、環境変数
COBが
AcuCobolに設定されている場合にのみ有効です。環境変数の値の形式は、
[0-9]+\.[0-9]です。
•
|
TM_COB_VERSIONを 7.0より小さな値に指定すると、 buildserverによって古い形式のACUCOBOLスタブ・コードが生成され、以上の値に指定すると、 buildserverによって新しい形式のACUCOBOLスタブ・コードが生成されます。
|
•
|
TM_COB_VERSIONを設定しない場合、 buildserverによって新しい形式のACUCOBOLスタブ・コードがデフォルトで生成されます。
|
ACUCOBOLコンパイラが使用される場合、COBOLソース・ファイルのみが
-fオプションで指定できます。
buildserverのコンパイルやリンク編集の段階で、Oracle Tuxedo ATMIライブラリの前にまず
cc(1)に渡すユーザー・ファイルが他にある場合は、これらのファイルを環境変数
TM_COB_CC_FILESに指定する必要があります。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。この環境変数は、
-Cオプションが指定され、環境変数
COBが
AcuCobolに設定されている場合にのみ有効です。
注意:
|
ACUCOBOL CVMで使用されるACUCOBOLのシステム・ライブラリおよびオブジェクト・ファイルは、ファイル・リストに含める必要があります。
|
COBOLコンパイルにACUCOBOLを使用する場合、環境変数
ACUCOBOLはACUCOBOLがインストールされているディレクトリを示し、サーバー・プロセスのコンパイル時にACUCOBOLのシステム・ライブラリおよびファイルがこのディレクトリから検出されます。
注意:
|
ファイル direct.cは、ACUCOBOLがC外部変数およびCOBOLプログラムの関数にアクセスするために使用されます。プログラマが direct.cをサード・パーティのソフトウェアをサポートするように変更した場合、変更された direct.cは $ACUCOBOL/libディレクトリ下に配置する必要があります。
|
COBOLコンパイルにIBMCOBOLを使用する場合、環境変数IBMCOBOLはIBMCOBOLがインストールされているディレクトリを示すため、サーバーのコンパイル時にIBMCOBOLのシステム・ライブラリおよびファイルが検出されます。
注意:
|
IBM COBOL 2.0および3.1ではCコンパイラのメッセージはサポートされません。 「 LANG=C」と指定すると、COBOL 2.0はエラーを返し、コンパイラが終了します。COBOL 3.1では警告が返されます。 IBM COBOL 2.0を使用する場合は、「 LANG=en_US」と指定します。 IBM COBOL 3.1では「 LANG=en_US」は必要ありません。
|
TM_COBOLIT_VERSIONは、COBOLコンパイラのバージョンを判断するために使用されます。COBOL-ITコンパイラ3.5以上使用している場合は、この環境変数を設定します。設定しないと、ビルドは失敗します。これを設定すると、Tuxedoにより自動的にCOBOLメイン関数のコンパイルに
COBITOPT=-fno-mainが指定されます。
LD_LIBRARY_PATH (UNIXシステムの場合)
環境変数
LD_LIBRARY_PATHには、Oracle Tuxedoシステムの共有オブジェクトに加えて、COBOLコンパイラが使用する共有オブジェクトが存在するディレクトリを指定します。一部のUNIXシステムでは異なる環境変数が必要です: HP-UXシステムでは
SHLIB_PATH環境変数、AIXでは
LIBPATHを使用します。
ライブラリを検索するディレクトリのリストを示します。複数のディレクトリを指定する場合はセミコロン(;)で区切ります。
以前のリリースでは、
sqlつまり
databaseの
genoptionを指定するのに
-gオプションを使用できました。上位互換性を保持するため、このオプションは
-rオプションの同義語になっています。
buildserverコンパイル・ツールは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで使用できます。RM XAライブラリは、Windowsプラットフォームではサポートされていません。
コンパイル・システムによっては、
main()へのコードの追加が必要になる場合があります。たとえば、C++でコンストラクタを初期化したり、COBOL用のライブラリを初期化するような場合です。サーバーの
main()のすべての変数宣言の直後で、すべての実行文の前に、アプリケーションのコードをインクルードするための全般的な機構が用意されています。これによって、アプリケーションは変数の宣言と文の実行を1ブロックのコードで行うことができます。アプリケーションexitは、
#ifdef TMMAINEXIT #include "mainexit.h" #endifのように定義できます。この機能を使用するためには、環境変数
ALTCFLAGS (COBOLの場合)または
CFLAGS (Cの場合)に
"-DTMMAINEXIT"を指定し、カレント・ディレクトリに
mainexit.hを置く(または
-Iインクルード・オプションを使用して他のディレクトリからインクルードする)必要があります。
たとえば、Micro Focus Cobol V3.2.xでPRN番号の最後の数字が11.03より大きい場合、共有ライブラリの使用時には、
main()のすべてのCOBOLルーチンの前で(おそらく関数プロトタイプ宣言の後で)
cobinit()を呼び出す必要があります。これを行うには、
cobinit()の呼出しが入った
mainexit.hを作成し、上記の手順に従ってください。
ACUCOBOLコンパイラを使用してコンパイルされたサーバーに関しては、
servopts(5)が特別な意味を持ちます。サーバー
CLOPTパラメータの
uargs (
--の後に指定する値)は、ACUCOBOL CVMを起動するために、引数として
acu_initv()サブルーチンに渡されます。
次の例は、リソース・マネージャ(
-r TUXEDO/SQL)ライブラリを
buildserverコマンド行で指定する方法を示しています。
buildserver -r TUXEDO/SQL -s OPEN_ACCT -s CLOSE_ACCT -o ACCT
-f ACCT.o -f appinit.o -f util.o
次の例は、
buildserverに変数
CCおよび
CFLAGS変数を与える方法、および
-fを使用して
CC行への
-lmオプションを指定して数学ライブラリをリンクする方法を示したものです。
CFLAGS=-g CC=/bin/cc buildserver -r TUXEDO/SQL -s DEPOSIT
-s WITHDRAWAL -s INQUIRY -o TLR -f TLR.o -f util.o -f -lm
次の例は、リソース・マネージャを指定せずに
buildserverコマンドを使用する方法です。
buildserver -s PRINTER -o PRINTER -f PRINTER.o
リスト4に、一般的なCOBOLコンパイラの例を示します。
COBCPY=$TUXDIR/cobinclude
COBOPT="-C ANS85 -C ALIGN=8 -C NOIBMCOMP -C TRUNC=ANSI -C OSEXT=cbl"
COBDIR=/usr/lib/cobol
LD_LIBRARY_PATH=$COBDIR/coblib
export COBOPT COBCPY COBDIR LD_LIBRARY_PATH
buildserver -C -r TUXEDO/SQL -s OPEN_ACCT -s CLOSE_ACCT -o ACCT -f ACCT.o -f appinit.o -f util.o
リスト5に、ACUCOBOLコンパイラの例を示します。
リスト5
BUILDSERVER ACUCOBOLの例
TM_COB_STATIC=no
COB=AcuCobol
COBCPY=$TUXDIR/cobinclude
COBOPT="-Ca -v -w -Ga -Dw64 -Dl8 -Da8"
TM_COB_VERSION=7.2
ACUCOBOL=/opt/AcuCobol-7.2.1
TM_COB_CC_FILES="-lruncbl -lclnt -lacvt -lfsi -laregex -lacuterm -lextfh -laxml -lexpat -lvision -lesql -lacme -lz -lm"
LD_LIBRARY_PATH=$ACUCOBOL/lib:$TUXDIR/lib
export TUXDIR TM_COB_STATIC COB COBCPY COBOPT TM_COB_VERSION ACUCOBOL TM_COB_CC_FILES LD_LIBRARY_PATH
buildserver -C -sTOUPPER -sTOLOWER -o CSIMPSRV -f CTOUPPER.cbl -f CLOWER.cbl -f TPSVRINIT.cbl
リスト6に、IBMCOBOLコンパイラの例を示します。
リスト6
BUILDSERVER IBMCOBOLの例
TUXDIR=/opt/tuxedo10.0
TM_COB_STATIC=no
COB=IBMCobol
IBMCOBOL=/usr/lpp/cobol
COBCPY=$TUXDIR/cobinclude
COBOPT="-Ca -v -w -Ga -Dw64 -Dl8 -Da8"
LD_LIBRARY_PATH=$IBMCOBOL/lib:$TUXDIR/lib
export TUXDIR TM_COB_STATIC COB COBCPY COBOPT IBMCOBOL LD_LIBRARY_PATH
buildserver -C -sTOUPPER -sTOLOWER -o CSIMPSRV -f CTOUPPER.cbl -f CLOWER.cbl -f TPSVRINIT.cbl
お使いのオペレーティング・システムのリファレンス・マニュアルで説明するCコンパイラとリンカーに関する記述
buildTM_MQI(1)、buildTM_MQO(1)、buildTMQUEUE_MQM(1)
buildTM_MQI(1) -
TM_MQIサーバーをリンク
buildTM_MQO(1)(1) -
TM_MQOサーバーをリンク
buildTMQUEUE_MQM(1) -
TMQUEUE_MQMサーバーをリンク
buildTM_MQI [-v] [-r rmname] [-c] [-t] [-o outfile]
buildTM_MQO [-v] [-r rmname] [-c] [-t] [-o outfile]
buildTMQUEUE_MQM [-v] [-r rmname] [-c] [-t] [-o outfile]
これらのコマンドはそれぞれ
TM_MQI、
TM_MQO、または
TMQUEUE_MQMサーバーを作成します。デフォルトの出力場所は
$TUXDIR/bin/TM_MQI、
$TUXDIR/bin/TM_MQO、または
$TUXDIR/bin/TMQUEUE_MQMです。この場所は
-oオプションで変更できます。
これらのコマンドで作成されるサーバーは、Tuxedo MQ AdapterがIBM WebSphere MQとのやり取りに使用します(Oracle MQ Adapter for Tuxedo 10.0ユーザー・ガイドで説明されています)。
ユーザーは、サーバー出力ファイルを作成または上書きするためのパーミッションを持つ必要があります。
これらのコマンドはbuildserverを呼び出して適切なMQ Adapterサーバーを作成します。
あらかじめリンクされたオブジェクトではなく、これらのコマンドを使用してMQ Adapterサーバー・ファイルを作成することで、Tuxedo管理者は次を構成できます。
•
|
MQ AdapterサーバーをWebSphere MQサーバー・ライブラリにリンクするか、WebSphere MQクライアント・ライブラリにリンクするか。
|
•
|
MQ Adapterサーバーを動的なXAスイッチ MQRMIXASwitchDynamicにリンクするか、静的なRMスイッチ MQRMIXASwitchにリンクするか。
|
•
|
リンクするWebSphere MQライブラリのパッチ・レベルおよびリリース。
|
システム管理者はMQ Adapterサーバーの作成に加え、ある時点でbuildtmsを実行し、WebSphere MQ TMSサーバーを作成する必要があります。
コマンドを冗長モードで機能させます。具体的には、buildserverコマンドをその標準出力に出力し、buildserverに -vオプションを指定します。
MQ Adapterサーバーに関連付けられるリソース・マネージャ名を指定します。この値
rm_nameは、
$TUXDIR/udataobj/RMにあるリソース・マネージャ表に登録されていなければなりません。
rm_nameの値に対応するエントリは、リソース・マネージャに対する正しいライブラリを自動的に組み込み、かつトランザクション・マネージャとリソース・マネージャとの間のインタフェースを正しく設定(
xa_switch_t構造体を使用して)するときに使用します。このパラメータのデフォルト値は
MQSeries_XA_RMIです。
WebSphere MQクライアント・ライブラリを使用するMQアダプタのビルドを指定します。
マルチスレッド・サーバーのビルドを指定します。このオプションはTM_MQIサーバーのみで有効です。
出力されるロード・モジュールを収めるファイルの名前を指定します。指定しない場合、デフォルトは
$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 [-z]
buildtmsはトランザクション・マネージャのロード・モジュールを構築するときに使用します。
Oracle TuxedoシステムではいくつかのTMサーバーが一緒に提供されますが、分散トランザクション処理用にOracle Tuxedoシステムとともに使用する新しいリソース・マネージャを提供することもできます。このようなリソース・マネージャは、X/OpenのXAインタフェースに準拠する必要があります。リソース・マネージャ・ベンダーは、次の4つの項目を提供しなければなりません: リソース・マネージャの名前、リソース・マネージャの機能を示すフラグ、および実際のXAの関数ポインタを収める
xa_switch_t型の構造体の名前、
xa_switch_t構造体のname要素に格納されるリソース・マネージャの名前、XAインタフェースのサービスを提供しソフトウェアをサポートするオブジェクト・ファイルの名前、そして
UBBCONFIG構成ファイルのパラメータ
OPENINFOおよび
CLOSEINFOに提供される情報文字列の形式。
「UBBCONFIG(5)」を参照してください。
新しいリソース・マネージャをOracle Tuxedoシステムに統合化する際には、ファイル
$TUXDIR/udataobj/RMを更新して、そのリソース・マネージャに関する情報を組み込むようにしなければなりません。このファイルの形式は次のとおりです。
rm_name:rm_structure_name:library_names
ここで、
rm_nameはリソース・マネージャの名前、
rm_structure_nameは
xa_switch_t構造体の名前、および
library_namesはリソース・マネージャのオブジェクト・ファイルのリストです。空白類(タブまたはスペース)は各値の前後で使用でき、
library_namesの中に挿入することもできます。値の中にコロン(
:)を含めることはできません。また、シャープ(
#)で始まる行はコメントとして扱われ、無視されます。
注意:
|
UNIXシステムの場合はリストをコロン(:)で区切ります。Windowsシステムの場合はコロンのかわりにセミコロン(;)を使用してください。
|
新しいリソース・マネージャのトランザクション・マネージャ・サーバーは
buildtmsを使用してビルドし、
$TUXDIR/binにインストールする必要があります。
buildtmsは
buildserver(1)コマンドを使用して、
a.outをビルドします。
buildtmsコマンドには、以下のオプションがあります。
buildtmsを冗長モードで動作させます。具体的には、
buildserverコマンドをその標準出力に出力し、
buildserverに
-vオプションを指定します。
出力されるロード・モジュールを収めるファイルの名前を指定します。
このサーバーのリソース・マネージャを指定します。この値
rm_nameは、
$TUXDIR/udataobj/RMにあるリソース・マネージャ表に登録されていなければなりません。
rm_nameの値に対応するエントリは、リソース・マネージャに対する正しいライブラリを自動的に組み込み、かつトランザクション・マネージャとリソース・マネージャとの間のインタフェースを正しく設定(
xa_switch_t構造体を使用して)するときに使用します。
XAスイッチ・インタフェースの
__stdcall呼出し規約を指定します。
buildtmsは、
buildserverコマンドを使用して
a.outを生成します。
buildserverは、コンパイラおよびコンパイラ・フラグに関してそれぞれ
CCおよび
CFLAGS環境変数を使用します(設定されている場合)。詳細は、
「buildserver(1)」を参照してください。
buildtmsは、Oracle Tuxedo ATMIまたはCORBAサーバー環境をサポートするすべてのプラットフォームで、Oracle Tuxedoシステム提供のコンパイル・ツールとしてサポートされています。RM XAライブラリは、Windowsプラットフォームではサポートされていません。
buildtms -o $TUXDIR/bin/TMS_XYZ -r XYZ/SQL # TMS for XYZ resource manager
buildwsh - カスタマイズされたワークステーション・ハンドラ・プロセスの構築
buildwsh [
-v ] [
-o name] [
-f files]
buildwshは、カスタマイズしたOracle Tuxedo ATMIワークステーション・ハンドラ・モジュールを構築するために使用されます。呼出し側によって組み込まれるファイルは、アプリケーション・バッファ型スイッチと必要なサポート・ルーチンのみを含む必要があります。このコマンドは、
-fオプションで指定されるファイルと、必要な標準Oracle Tuxedo ATMIライブラリを組み合せて、ワークステーション・ハンドラ・ロード・モジュールを作成します。ロード・モジュールは、
buildwshが呼び出す
cc(1)コマンドによって構築されます(コマンドの説明はUNIXシステム・リファレンス・マニュアルを参照)。
buildwshコマンドには、以下のオプションがあります。
buildwshを冗長モードで動作させます。
ccコマンドの実行結果が、標準出力へ書き込まれます。
出力されるワークステーション・ハンドラ・ロード・モジュールのファイル名を指定します。ここで指定した名前は、構成ファイルの
SERVERセクションにおける
WSL(5) サーバーの
-w WSHnameオプションでも指定する必要があります。指定しない場合、ロード・モジュールには、
WSHという名前が付きます。
buildwshのコンパイル・フェーズやリンク・フェーズで取り込む1つまたは複数のユーザー・ファイルを指定します。ソース・ファイルは、
ccコマンドまたは環境変数
CCによって指定されたコマンドによってコンパイルされます。ソース・ファイルのコンパイルによって生成されたオブジェクト・ファイルと、
-fオプションのパラメータとして直接指定されたオブジェクト・ファイルは、基本となるワークステーション・ハンドラ・プロセスを構築するために必要なすべてのオブジェクト・ファイルの後で、かつOracle Tuxedo ATMIライブラリの前に取り込まれます。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは、何回も指定することができます。
buildwshは通常、
ccコマンドを使用して
a.outを生成します。代替コンパイラを指定できるようにするため、
buildwshはシェル変数
CCが存在するかどうかを調べます。
CCが
buildwshの環境にない場合、または変数の値が文字列""である場合は、
buildwshはコンパイラとして
ccを使用します。環境内に
CCが存在する場合、実行されるコンパイラの名前がCCの値となります。同様に、シェル変数
CFLAGSも、コンパイラへ渡す一連のパラメータを取り込むためにチェックされます。
アプリケーションが共有ライブラリを使用する場合は、ここで説明したコンパイルとリンクの作業をする必要はありません。詳細は、『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』の「型付きバッファの管理」を参照してください。
buildwshコンパイル・ツールは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで使用できます。
CC=ncc CFLAGS=���-I $TUXDIR/include���; export CC CFLAGS buildwsh
-o APPWSH -f apptypsw.o
UNIXシステムのリファレンス・マニュアルのcc(1)、
ld(1)
cobcc - COBOLコンパイル・インタフェース
cobcc [
option . . . ]
filename . . .
cobccは、COBOLコンパイラに対するインタフェース・シェルとして使用します。
-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では、すべてのオプションはファイル名の前に置かれなければなりません。
リンク・フェーズを抑制します。つまりコンパイルは行われますが、実行可能プログラムは作成されません。
これらのオプションは直接COBOLコンパイラに渡されます。
オプションと引数は、直接COBOLコンパイラに渡されます(両者を分離する空白文字は除きます)。
オプションと引数は、直接COBOLコンパイラに渡されます(両者を分離する1つの空白文字も含みます)。
リンク・ステージからの出力である実行可能ファイルの名前を指定します。
COBOLコンパイラを介してCコンパイラに渡されます。またリンク・フェーズを抑制します。
COBOLコンパイラを介してCコンパイラに渡されます。
COBOLとCコンパイラの警告メッセージを抑制します。
このオプションと引数は、COBOLコンパイラを介してCコンパイラに渡されます。C言語でのマクロ定義に使用します。
{-T -Y -U -I -B -X -F -q} argument
各オプションは引数として扱われます。オプションと引数はCOBOLコンパイラを介してCコンパイラに渡されます。
各オプションはCOBOLコンパイラとCコンパイラに渡されます。
argumentは、カンマで区切られた最大3個のフィールドで構成します。引数の最初の部分が -
pまたは -
0であれば、Cコンパイラに渡されます。-
aで始まる場合には、アセンブラに渡されます。-
lで始まる場合にはローダーに渡されます。-
Cで始まるのであれば、COBOLコンパイラに渡されます。それ以外の場合には、Cコンパイラに渡されます。
オプションと引数、およびファイル名は該当するオプションと共にCOBOLコンパイラに渡され、適切な情報がCOBOLコンパイラ、Cコンパイラ、あるいはローダーで処理されます。COBOLコンパイラの名前は"
cob"と想定されており、
PATHで定義されています。
UNIXシステムのリファレンス・マニュアルのcc(1)
『Micro Focus COBOL/2 Operating Guide』 Micro Focus Ltd.
cpy2record: Oracle Tuxedo RECORD記述ファイルをコピーブック・ファイルから生成します。
cpy2record [OPTION...] FILE
このユーティリティは、COBOLコピーブック・ファイルを解析し、対応するOracle Tuxedo RECORD記述ファイルを生成します。このツールは、COBOLコピーブック・プログラムの解析にのみ使用され、COBOLソース文を含むファイルの解析には使用されません。
cpy2recordは、次のオプションをサポートしています。
FML32表のベース番号を指定します。デフォルトは
10000です。
-iオプションを使用する場合、
#vnameがコピーブック・ファイルで指定されていないと、
rnameはデフォルトの
vnameとして小文字に変換されません。
-iオプションを使用しない場合、
rnameは小文字に変換されます。
このツールがコピーブック記述ファイルを作成することを示します。
生成されるFML32表ファイルを指定します。後に続くパラメータは、出力FML32表ファイル名です。
出力ファイル名を指定します。後に来るパラメータが出力ファイル名になります。このパラメータを指定しないと、出力ファイル名によって入力ファイル名の接尾辞が
.Rに変更されます。たとえば、
abc.cblは
abc.Rに変換されます。
cpy2recordを使用する前に、
TUXDIR/binおよびJavaコマンド
javaをシステム環境
PATHに追加します。
•
|
次のサンプルは、コピーブック・ファイル abc.cblをRECORDファイル abc.Rに変換します。
|
cpy2record -R /home/abc.cbl
•
|
次のサンプルは、コピーブック・ファイル abc.cblを変換し、ビュー・ファイル xyz.Rに出力します。
|
cpy2record -o xyz.R /home/abc.cbl
•
|
次のサンプルは、COBOLコピーブック・ファイルの例です。
|
05 balance PIC S9(9) COMP-5.
dmadmin - Oracle Tuxedo Domains管理プログラムのコマンド・インタプリタ
dmadmin [
-c ] [-2] [-s] [-e]
dmadminは対話型のコマンド・インタプリタで、Domains構成で呼び出される特定のOracle Tuxedoアプリケーション用に定義されたドメイン・ゲートウェイ・グループを管理するために使用します。ここでは、Oracle Tuxedo DomainsコンポーネントのTDomainゲートウェイ、SNA Gateway (SNAX)およびOSI TPゲートウェイで
dmadminを使用する方法について説明します。Oracle Tuxedo Domainsコンポーネントについては、
『Oracle Tuxedo Domainsコンポーネントの使用』を参照してください。
dmadminには、管理モードと構成モードの2つのモードがあります。
dmadminはパラメータなしで呼び出すと
管理モードになります。管理モードはデフォルトのモードです。このモードでは、
dmadminは、アクティブなアプリケーション内のアクティブなノード(ワークステーションを除く)で実行できます。アプリケーション管理者は、このモードを使用して、アクティブな任意のドメイン・ゲートウェイ・グループのパラメータを取得または変更できます。アプリケーション管理者は、このモードを使用して、特定のローカル・ドメイン・アクセス・ポイントのDomainsトランザクション・ログを作成、廃棄または再初期化することもできます。この場合、そのローカル・ドメイン・アクセス・ポイントに関連付けられたドメイン・ゲートウェイ・グループをアクティブにせず、対応するゲートウェイ・グループに関連するマシン上で
dmadminを実行する必要があります。
dmadminでは、
BDMCONFIGファイルの管理にDomains管理サーバー(
DMADM)を、アクティブなDOMAINゲートウェイ・グループの再構成にゲートウェイ管理サーバー(
GWADM)を使用する必要があります。Domains構成で起動される各Oracle Tuxedoアプリケーションに1つの
DMADMプロセスが、各ドメイン・ゲートウェイ・グループに1つの
GWADMプロセスが実行されます。
dmadminは、
-cオプションを使用して呼び出されるか、
configサブコマンドが呼び出されると、
configurationモードに入ります。アプリケーション管理者は、このモードを使用して、新しい構成情報を更新したり、ドメイン構成ファイル(
BDMCONFIG)のバイナリ・バージョンに追加したりできます。
2つ目のパスワード・ペア(パスワード・ペア2)を追加、更新または削除するかどうか指定します。指定しない場合、デフォルトはパスワード・ペア1です。
パスワード・ペアがいつ有効になるかを指定します。指定しない場合、パスワードは即座に有効になります。これはUTC文字列形式(
yyyy/mm/dd/hh:mm:ss)で指定する必要があります。
パスワード・ペアがいつ期限切れになるかを指定します。指定しない場合、パスワード・ペアは、システムから明示的に削除または更新されるまで期限切れになりません。これはUTC文字列形式(
yyyy/mm/dd/hh:mm:ss)で指定する必要があります。
dmadminが呼び出された後は、次に示す構文に従って、プロンプト(">")からコマンドを入力してください。
共通して出現するいくつかの引数には、
defaultコマンドを使用してデフォルト値が与えられます。
defaultコマンドによって設定されたパラメータを受け付けるコマンドは、
defaultに値が設定されているかどうかを調べます。値が設定されていない場合は、エラー・メッセージが戻されます。
一度設定したデフォルト値は、
defaultコマンドで変更しないかぎり、セッション終了まで有効です。このデフォルト値は、コマンド行で明示的に値を入力してオーバーライドするか、値
* (アスタリスク)を入力して設定解除します。オーバーライドの効果は、コマンドの単一のインスタンスの間有効です。
dmadminコマンドからの出力は、使用しているページ別表示コマンドに従ってページ別に表示されます(後述の
paginateサブコマンドを参照してください)。
コマンドは、完全な名前または省略形(カッコ内に示す形式)で入力できます。その後に適切な引数を指定します。大カッコ[ ]で囲まれている引数は省略可能で、中カッコ{ }で囲まれている引数は、相互に排他的な選択肢を示します。多くのコマンドで
local_domain_access_point_nameは必須引数です。また
defaultコマンドでも設定できることに注意してください。
advertise (adv) -d local_domain_access_point_name [{
service}]
指定されたローカル・ドメイン・アクセス・ポイントが提供するすべてのリモート・サービス、または指定されたリモート・サービスを公開します。
-dオプションで指定されたローカル・ドメインがバイパス・ドメイン・モデルで動作している場合、
advertiseは接続先の非バイパス・リモート・ドメインによってエクスポートされたサービスのみを通知します。サービス名が指定され、サービスがバイパス・ドメイン・モデルで動作する未接続のリモート・ドメインに配置されている場合、
advertiseでエラーが発生します。
advertiseevent (advevt) -d local_domain_name_[{
-all | event}]
すべての構成済イベント(
-all)または指定したイベント(指定の
event)のリモート・ドメインへの送信を許可します。これらのイベントは、"
*DM_EVT_OUT"セクションで
LACCESSPOINT=
local_domain_nameを使用して構成されます。
audit (audit) -d local_domain_access_point_name [{
off |
on}]
指定されたローカル・ドメイン・アクセス・ポイントに対して、監査トレースをアクティブ化(
on)にまたはアクティブ解除(
off)します。オプションが設定されていない場合は、現在の設定値が
onと
offで切り替わり、新しい設定が表示されます。初期設定は
offです。
Oracle Tuxedo 8.0以降のソフトウェアでマルチ・ドメイン・トランザクションを作成した場合は、Domainsトランザクション監査機能によって、
リモート(親)アプリケーションからローカル(従属)アプリケーションの監査ログに、ローカルGTRIDに加えてグローバル・トランザクションID (GTRID)が自動的に書き込まれます。
監査レコードには、プロセスID、ローカル・ドメイン・アクセス・ポイント名、リモート・ドメイン・アクセス・ポイント名、サービス名、ローカルGTRID (トランザクション・モードの場合のみ)、親GTRID (トランザクション・モードの場合のみ)、監査レコードの型(文字列)、および現在のタイムスタンプの順に、コロンで区切った文字列フィールドが並びます。
chbktime (chbt) -d local_domain_access_point_name -t bktime
特定のローカル・ドメイン・アクセス・ポイントのブロッキング・タイムアウトを変更します。
connect (co) -d local_domain_access_point_name
[
-R remote_domain_access_point_name]
ローカル・ドメイン・ゲートウェイをリモート・ドメイン・ゲートウェイに接続します。ローカル・ドメイン・ゲートウェイが接続を再試行するように構成している場合は接続が失敗しても、自動接続再試行プロセスによって接続試行が繰り返されます。(
-Rが指定されていない場合、このローカル・ドメイン・ゲートウェイに構成されているすべてのリモート・ドメイン・アクセス・ポイントに対してコマンドが適用されます。)
crdmlog (crdlog)[
-d local_domain_access_point_name]
現在のマシン(
dmadminが動作しているマシン)上の指定されたローカル・ドメイン・アクセス・ポイントに対して、Domainsトランザクション・ログを作成します。このコマンドでは、
DMCONFIGファイルで指定したパラメータが使用されます。指定のローカル・ドメイン・アクセス・ポイントに関連付けられているドメイン・ゲートウェイ・グループが現在のマシンでアクティブであるか、ログがすでに存在する場合は、このコマンドは失敗します。
注意:
|
Oracleデータベースにログをエクスポートするために DMCONFIG(5) DMTLOGDEVを設定すると、 DMTLOGは自動的に作成されなくなります。
|
default (d) [
-d local_domain_access_point_name]
デフォルトのローカル・ドメイン・アクセス・ポイントにするための、対応する引数を設定します。デフォルトの設定は、引数として
* (アスタリスク)を指定すると設定を解除できます。defaultコマンドを引数なしで入力した場合は、現在のデフォルトの値が表示されます。
disconnect (dco) -d local_domain_access_point_name
[
-R remote_domain_access_point_name]
ローカル・ドメイン・ゲートウェイとリモート・ドメイン・ゲートウェイの接続を切断し、接続再試行処理を開始しません。アクティブな接続がなくても、自動接続再試行処理が有効な場合は、このコマンドによって自動再試行処理が停止されます。(
-Rが指定されていない場合、このローカル・ドメイン・ゲートウェイに構成されているすべてのリモート・ドメイン・アクセス・ポイントに対してコマンドが適用されます。)
dsdmlog (dsdlg) -d local_domain_access_point_name [
-y ]
現在のマシン(
dmadminが動作しているマシン)上の指定されたローカル・ドメイン・アクセス・ポイントに対して、Domainsトランザクション・ログを破棄します。このローカル・ドメイン・アクセス・ポイントにDomainsトランザクション・ログが定義されていないか、ローカル・ドメイン・アクセス・ポイントに関連付けられているドメイン・ゲートウェイ・グループがアクティブであるか、または未処理のトランザクション・レコードがログ内に存在している場合は、エラーが戻されます。「未処理のトランザクション」
とは、グローバル・トランザクションがすでにコミットされているが、トランザクションの終了がまだ書き込まれていないトランザクションのことです。このコマンドは、
-yオプションを指定していない場合に確認のためのプロンプトを表示します。
onに設定すると、入力コマンド行をエコーします。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。初期設定はoffです。
forgettrans (ft) -d local_domain_access_point_name [
-t tran_id]
指定されたローカル・ドメイン・アクセス・ポイントのヒューリスティック・ログ・レコードを1つまたはすべてを無視します。トランザクションの識別子
tran_idが指定されている場合、そのトランザクションのヒューリスティック・ログ・レコードのみが無視されます。トランザクションの識別子
tran_idは、
printtransコマンドまたは
ULOGファイルから取得できます。
ヘルプ・メッセージを出力します。
commandを指定すると、そのコマンドについて、省略形、引数および説明が表示されます。引数をすべて省略すると、すべてのコマンドの構文が表示されます。
indmlog (indlg) -d local_domain_access_point_name [
-y ]
現在のマシン(
dmadminが動作しているマシン)上の指定されたローカル・ドメイン・アクセス・ポイントに対して、Domainsトランザクション・ログを再初期化します。このローカル・ドメイン・アクセス・ポイントに
DMTLOGが定義されていないか、ローカル・ドメイン・アクセス・ポイントに関連付けられているドメイン・ゲートウェイ・グループがアクティブであるか、または未処理のトランザクション・レコードがログ内に存在している場合は、エラーが戻されます。「未処理のトランザクション」
とは、グローバル・トランザクションがすでにコミットされているが、トランザクションの終了がまだ書き込まれていないトランザクションのことです。このコマンドは、
-yオプションを指定していない場合に確認のためのプロンプトを表示します。
paginate (
page) [{
off |
on}]
出力をページ単位で表示します。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。標準入力または標準出力が非端末デバイスでない限り、初期設定はonです。ページ区切りをオンにできるのは、標準出力と標準出力の両方がttyデバイスである場合のみです。シェル環境変数
PAGERを使用すると、ページ別表示出力に使用されるデフォルトのコマンドをオーバーライドできます。デフォルトのページ別表示コマンドは、ネイティブのオペレーティング・システム環境に固有のコマンドです(たとえば、コマンド
pgは、UNIXシステム・オペレーティング環境のデフォルトです)。
passwd (passwd) [
-r ]
local_domain_access_point_name
remote_domain_access_point_name [
LDOM RDOM |
-2 |
–s <start-time> -e <end-time>]
指定したローカルおよびリモート・ドメイン・アクセス・ポイントの新しいパスワードの入力を管理者に求めます。
-rオプションは、既存のパスワードと新しいパスワードをシステムが生成した新しいキーを使用して暗号化することを指定します。パスワードの最大文字数は30文字に制限されています。
passwdはTDomainゲートウェイのみでサポートされます。
TDOMAINセッション
<LDOM, RDOM>.にパスワード・ペア1を追加します。パスワードは即座に有効になり、期限切れになることはありません。古いパスワード・ペア1が存在する場合、このコマンドは失敗します。
TDOMAINセッション
<LDOM, RDOM>.にパスワード・ペア2を追加します。パスワードは即座に有効になり、期限切れになることはありません。古いパスワード・ペア1が存在する場合、このコマンドは失敗します。
LDOM RDOM –s <start-time> -e <end-time>
TDOMAINセッション
<LDOM, RDOM>にパスワード・ペア1 (
-2が含まれている場合は、パスワード・ペア2)を追加します。パスワードは
<start-time>に有効になり、
<end-time>に期限切れになります。古いパスワード・ペア1が存在する場合、このコマンドは失敗します。
printdomain (pd) -d local_domain_access_point_name
指定のローカル・ドメイン・アクセス・ポイントに関する情報を表示します。接続されたリモート・ドメイン、ゲートウェイ・グループ・プロセスによって共有されているグローバル情報、およびドメイン・ゲートウェイ・タイプのインスタンスによって変化する追加情報などが表示されます。
printstats (pstats) -d local_domain_access_point_name
指定のローカル・ドメイン・アクセス・ポイントによって収集された統計情報およびパフォーマンス情報を表示します。表示される情報は、ドメイン・ゲートウェイのタイプによって変わります。
printtrans (pt) -d local_domain_access_point_name
指定のローカル・ドメイン・アクセス・ポイントに関するトランザクション情報を出力します。各トランザクション・レコードの出力には、次のようなコロンで区切った文字列フィールドが並びます。
プロセスID:ローカル・ドメイン・アクセス・ポイント名:リモート・ドメイン・アクセス・ポイント名:サービス名:ローカルGTRID:リモートGTRID:レコード・タイプ:タイムスタンプ
トランザクションがドメイン・ローカルな場合、
リモートGTRIDフィールドはコロン・デリミタの間で空白になります。
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です。
statsvc (statsvc) -d local_domain_access_point_name -t interval_time_number
リモート・サービス呼出しで指定のローカル・ドメイン・アクセス・ポイントに関する統計監査トレースをアクティブ化(オン)または非アクティブ化(オフ)します。間隔時間が0より大きい場合、この機能はアクティブ化されます。現在の間隔時間設定が有効になり、初期設定はオフになります。統計監査トレースを有効にすると、間隔時間内にイベントが発生しなかった場合、
GWADMはデータを監査ファイルにフラッシュしません。つまり、
GWADMは、間隔時間内に発生した新しいデータのみを監査ログ・ファイルにフラッシュします。
suspend (susp) -d local_domain_access_point_name [{
-all |
service}]
指定のローカル・ドメイン・アクセス・ポイントの1つまたはすべてのリモート・サービスを中断します。
topendpasswd (tepasswd) [
-r ]
指定した
TOP ENDドメインの新しいパスワードを管理者に求めます。
-rオプションは、既存のパスワードと新しいパスワードを、システムが生成した新しいキーを使用して暗号化することを指定します。
unadvertise (unadv) -d local_domain_access_point_name [{
service}]
指定のローカル・ドメイン・アクセス・ポイントの1つまたはすべてのリモート・サービスを公開解除します。
-dオプションで指定されたローカル・ドメインがバイパス・ドメイン・モデルで動作している場合、
unadvertiseは接続先の非バイパス・リモート・ドメインによってエクスポートされたサービスのみを通知解除します。サービス名が指定され、サービスがバイパス・ドメイン・モデルで動作するリモート・ドメインに配置されている場合、advertiseでエラーが発生します。
unadvertiseevent (unadvevt) -d local_domain_name_[{
-all | event}]
すべての構成済イベント(
-all)または指定したイベント(指定の
event)のリモート・ドメインへの送信を禁止します。これらのイベントは、"
*DM_EVT_OUT"セクションで
LACCESSPOINT=local_domain_nameを使用して構成されます。
冗長モードで出力を生成します。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。初期設定は
offです。
シェルにエスケープして、
shellcommandを実行する
dmadminコマンドは、
-cオプションで実行するか、
configサブコマンドを使用すると構成モードになります。このモードでは、
dmadminを使用して、
BDMCONFIGファイルの実行時更新を行うことができます。
dmadminは、追加または取得される入力フィールド値を含むバッファを管理し、各処理が終了すると出力フィールド値とステータスを表示します。ユーザーは任意のテキスト・エディタを使用して入力バッファを更新できます。
dmadminはまず希望のセクションを求めるプロンプトを表示し、次に希望の操作を求めるプロンプトを表示します。
BDMCONFIGファイルのセクションを求めるプロンプトは次のとおりです。
Section:
1) RESOURCES 2) LOCAL_DOMAINS
3) REMOTE_DOMAINS 4) LOCAL_SERVICES
5) REMOTE_SERVICES 6) ROUTING
7) ACCESS_CONTROL 8) PASSWORDS
9) TDOMAINS 10) OSITPS
11) SNADOMS 12) LOCAL_REMOTE_USER
13) REMOTE_USERS 14) SNACRMS
15) SNASTACKS 16) SNALINKS
19) OSITPX
20) EVENTS_IN 21) EVENTS_OUT
q) QUIT
Enter Section [1]:
デフォルト・セクションの番号は、プロンプトの終わりに大カッコ内に表示されます。デフォルトの値を受け入れるときは、[
RETURN]または[
Enter]を押します。別のセクションを選択するときは、その番号を入力して[
RETURN]または[
Enter]を押します。
次にdmadminは、希望の操作を求めるプロンプトを表示します。
Operations:
1) FIRST 2) NEXT
3) RETRIEVE 4) ADD
5) UPDATE 6) DELETE
7) NEW_SECTION 8) QUIT
Enter Operation [1]:
デフォルトの操作番号がプロンプトの終わりの大カッコ内に表示されます。[
RETURN]または[
Enter]を押してこのオプションを選択します。別の操作を選択するときは、その番号を入力して[
RETURN]または[
Enter]を押します。
1.
|
FIRST - 指定されたセクションの最初のレコードを表示します。キー・フィールドは必要ありません(入力バッファに格納されていても、無視されます)。
|
2.
|
継続 - 入力バッファ内のキー・フィールドに基づいて、指定したセクションから次のレコードを取り出します。
|
3.
|
照会 - キー・フィールドで指定されたセクションから、指定されたレコードを取り出します。以下のフィールドの説明を参照してください。
|
4.
|
ADD - 指定したセクションに、指定したレコードを追加します。フィールドが指定されていない場合(フィールドが不要である場合にかぎり)、 DMCONFIG(5)で指定されたデフォルト値が使用されます。すべてのフィールドの現在の値は、出力バッファ内に戻されます。この操作は、Oracle Tuxedo管理者だけが行えます。
|
5.
|
UPDATE - 指定したセクションの入力バッファ内にある、指定したレコードを更新します。入力バッファ内で指定されていないフィールドは変更されません。すべてのフィールドの現在の値は、入力バッファ内に戻されます。この操作は、Oracle Tuxedo管理者だけが行えます。
|
6.
|
DELETE - 入力バッファで指定したレコードを、選択したセクションから削除します。この操作は、Oracle Tuxedo管理者しか実行できません。
|
7.
|
NEW SECTION - 入力バッファをクリアします(すべてのフィールドは削除されます)。この操作の直後に、 dmadminによって再度セクションを指定するように求められます。
|
8.
|
QUIT - プログラムを正常に終了します( dmadminは終了します)。プロンプトで値 qを入力してもプログラムを終了できます。
|
構成操作を行う場合は、有効なユーザー識別子は、このプログラムが実行されるマシンのOracle Tuxedo管理者ユーザー識別子(
UID)と一致している必要があります。レコードの更新や追加を行う場合には、
dmloadcf(1)が使用するすべてのデフォルト値と検証機能が有効になります。
dmadminは次に、入力バッファを編集するかどうかをたずねるプロンプトを表示します。
Enter editor to add/modify fields [n]?
値
yを入力すると、入力バッファが一時ファイルに変換され、テキスト・エディタが実行されます。環境変数
EDITORを使用して、使用するエディタを決定します。デフォルト値は
ed (UNIXテキスト・エディタ)です。入力フォーマットは、一連のフィールド名とフィールド値の組合せであり、
「構成入力フォーマット」で説明されます。その後の項の表に、各
DMCONFIGセクションに関連付けられているフィールド名を示します。フィールドのセマンティクスと、関連する範囲、デフォルト値、制限などは、
「DMCONFIG(5)」および
「DM_MIB(5)」で説明されます。多くの場合、フィールド名は
DMCONFIGファイルの
KEYWORDと同じで、接頭辞として「
TA_」が付いています。ユーザーが入力バッファの編集を完了すると、
dmadminはその内容を読み取ります。特定のフィールド名に対して複数の行がある場合、最初の行が使用され、他の行は無視されます。何らかのエラーが発生すると、構文エラー・メッセージが表示され、その問題の訂正のためにファイルを編集するかどうかを確認する
プロンプトが表示されます。
問題を訂正しない場合(レスポンス
n)は、入力バッファにフィールドは含まれません。問題を訂正する場合は、エディタが再度実行されます。
最後に、操作を行うかどうかをたずねるプロンプトが表示されます。
操作が完了すると、
dmadminは
「戻り値TAOK」のように戻り値を表示し、続いて出力バッファのフィールドを表示します。次に、プロセスが再開され、セクションを求めるプロンプトが表示されます。すべての出力バッファ・フィールドは、バッファがクリアされないかぎり、入力バッファ内で利用できます。
いつでもブレークを入力して、セクションを求めるプロンプトでの対話を再開できます。
"QUIT"を選択すると、テキスト・バージョンの構成ファイルのバックアップを作成する認可を求めるプロンプトが表示されます。
Unload BDMCONFIG file into ASCII backup [y]?
バックアップを選択した場合、ファイル名の入力を求めるプロンプトが表示されます。
成功時にはバックアップが作成されたことが示され、失敗時にはエラーが表示されます。
入力パケットは、次のようにフォーマットされた行で構成されます。
フィールド名は、1つまたは複数のタブ(または空白)によってフィールド値と区別されます。
長いフィールド値は、1つまたは複数のタブ(
dmadminに再度読み込まれたときに破棄されます)で始まる継続行を使用することで、次の行に継続できます。
表示できない文字をフィールド値に入力したり、タブをフィールド値の先頭に付けたりするには、バックスラッシュを入力し、その後に必要な文字を2文字の16進表現で入力します(UNIXリファレンス・マニュアルで
ASCII(5)の項を参照)。たとえば、空白は「\20」として入力データに入力できます。バックスラッシュそのものは、2つのバックスラッシュ記号を使用して入力できます。
dmadminでは、このフォーマットのすべての入力が認識されます。このフォーマットは表示できない文字の場合に最も役立ちます。
次に動的Domainsを再構成する機能についての全般的な制限事項を示します。
•
|
キー・フィールドの値(次のセクションを参照)は変更できません。システムが停止しているときに、構成ファイルを再ロードすれば、キー・フィールドを変更できます。
|
•
|
動的削除は、ローカル・ドメイン・アクセス・ポイントに関連付けられたドメイン・ゲートウェイ・グループがアクティブ(動作中)のときは実行できません。
|
Oracle Tuxedoのリリース7.1以降では、Domains用のMIBで、ローカル・ドメインとリモート・ドメインとの相互作用を記述するため、クラスと属性の用語が改善されています。新しい用語は、
DM_MIBのリファレンス・ページ、クラスおよびエラー・メッセージや、
DMCONFIGのリファレンス・ページ、セクション名、パラメータ名およびエラー・メッセージで使用されています。新しい用語は
dmadminのユーザー・インタフェースには適用されていませんが、
dmadminは
DMCONFIGの従来の用語と新しい用語の両方を認識します。
後方互換性のため、Oracle Tuxedo 7.1より前に使用されていた
DMCONFIG用語とDomains用のMIBの新しい用語との間で別名が提供されています。Oracle Tuxedoリリース7.1以降の
dmadminでは、両方のバージョンの
DMCONFIG用語を使用できます。詳細は、
「DM_MIB(5)」リファレンス・ページの
「Domains関連の新しい用語」を参照してください。
この後では、各
DMCONFIGについて、どのフィールド識別子が各
DMCONFIGフィールドに関連しているか、識別子のフィールド・タイプは何か、およびいつフィールドを更新できるかを説明しています。適用可能なフィールド値はすべて、取出し操作によって返されます。レコードを追加できるフィールド、またはレコードを追加するために必要なフィールドについては、
「DMCONFIG(5)」および
「DM_MIB(5)」で説明しています。次に
キーとして示すフィールドは、セクション内のレコードを一意に識別するために使用するキー・フィールドです。これらのキー・フィールドは、更新を行うとき入力バッファ内になければならないほか、動的に更新することができません。
更新列は、どのようなときにフィールドを更新できるかを示しています。可能な値は次のとおりです:
•
|
NoGW - ローカル・ドメイン・アクセス・ポイントに関連付けられたドメイン・ゲートウェイ・グループが実行中の間は動的に更新できません。
|
•
|
No - ドメイン・ゲートウェイ・グループが1つでも実行中であれば動的に更新できません。
|
表4に、
DM_LOCALセクション(
DM_LOCAL_DOMAINSセクション)のフィールド一覧を示します。
dmadmin操作のプロンプトでこのセクションにアクセスするには、
2 (
LOCAL_DOMAINS)を入力します。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
形式: { TDOMAIN | SNAX | OSITP | OSITPX}
|
|
|
|
新しい DMCONFIG用語では、 DOMAINIDは ACCESSPOINTID
|
|
|
|
|
|
|
|
|
|
|
|
形式: { ON_DEMAND | ON_STARTUP | INCOMING_ONLY}
|
|
|
|
TA_CONNECTION_POLICYに伴うパラメータ
|
|
|
|
TA_CONNECTION_POLICYに伴うパラメータ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
新しい DMCONFIG用語では、 MAXRDTRANは MAXRAPTRAN
|
|
|
|
|
|
|
|
OSITPにのみ適用可能(新しい DMCONFIG用語では、 MAXRDOMは MAXACCESSPOINT)
|
|
|
|
TDOMAIN (TDomain)形式: { NONE | APP_PW | DM_PW}
SNAX (SNA)形式: { NONE|DM_USER_PW}
OSITPX (OSI TP 4. x)形式: { NONE|DM_PW}
|
表5に、
DM_REMOTEセクション(
DM_REMOTE_DOMAINSセクション)のフィールド一覧を示します。
dmadmin操作のプロンプトでこのセクションにアクセスするには、
3 (
REMOTE_DOMAINS)を入力します。
|
|
|
|
|
|
|
|
|
|
|
形式: { TDOMAIN | SNAX | OSITP | OSITPX}
|
|
|
|
新しい DMCONFIG用語では、 DOMAINIDは ACCESSPOINTID
|
DM_TDOMAINセクションには、
TDOMAINタイプ・ドメインが必要とするネットワーク・アドレッシング・パラメータが含まれています。
表6に、このセクションのフィールドの一覧を示します。
|
|
|
|
|
|
|
キー:ローカルまたはリモート・ドメイン・アクセス・ポイント名
|
|
|
|
TDomainセッションを確立する際に TA_RDOMと一緒に使用することもできる( TA_RDOMを使用してリモート・ドメイン・アクセス・ポイント名を確立する場合のみ)
|
|
|
|
TDomainセッションのフェイルオーバー・シーケンス番号とプライマリ・レコードを指定する
|
|
|
|
|
|
|
|
|
TA_CONNECTION_POLICY * **
|
|
|
形式: { LOCAL | ON_DEMAND | ON_STARTUP | INCOMING_ONLY}
|
|
|
|
TA_CONNECTION_POLICYに伴うパラメータ
|
|
|
|
TA_CONNECTION_POLICYに伴うパラメータ
|
|
|
|
|
|
|
|
形式: -1 <= 2147483647ミリ秒(秒に丸められる)
ドメインのアプリケーション・レベルのキープ・アライブ
|
|
|
|
形式: 0 <= 2147483647ミリ秒(秒に丸められる)
|
*** Oracle Tuxedoリリース8.1以降で使用可能。
** DM_LOCALセクションの同じパラメータより優先されます。
*** Oracle Tuxedoリリース9.0以降で使用可能。
|
ローカル・ドメイン・アクセス・ポイント識別子(
TA_LDOM)の場合、
TA_NWADDRフィールドおよび
TA_NWDEVICEフィールドは、そのローカル・ドメイン・アクセス・ポイントに関連付けられたゲートウェイ・グループが実行中でないときに更新できます。
DM_OSITPセクションには、
OSITPタイプ・ドメインが必要とするOSI TP 1.3対応のネットワーク・アドレッシング・パラメータが含まれています。
表7に、このセクションのフィールドの一覧を示します。
|
|
|
|
|
|
|
キー:ローカルまたはリモート・ドメイン・アクセス・ポイント名
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ローカル・ドメイン・アクセス・ポイント識別子(
TA_LDOM)の場合、この表に記載されていないフィールドは、そのローカル・ドメイン・アクセス・ポイントに関連付けられたゲートウェイ・グループが実行中でないときに更新できます。
DM_OSITPXセクションには、
OSITPXタイプ・ドメインが必要とするOSI TP 4.0以降に対応するネットワーク・アドレッシング・パラメータが含まれています。
表8に、このセクションのフィールドの一覧を示します。
注意:
|
DM_OSITPXセクションは、Oracle Tuxedoリリース8.0以降が動作していないと使用できません。
|
|
|
|
|
|
|
|
キー:ローカルまたはリモート・ドメイン・アクセス・ポイント名
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ローカル・ドメイン・アクセス・ポイント識別子(
TA_LDOM)の場合、この表に記載されていないフィールドは、そのローカル・ドメイン・アクセス・ポイントに関連付けられたゲートウェイ・グループが実行中でないときに更新できます。
表9に、
DM_EXPORTセクション(
DM_LOCAL_SERVICESセクション)のフィールド一覧を示します。
dmadmin操作のプロンプトでこのセクションにアクセスするには、
4 (
LOCAL_SERVICES)を入力します。
|
|
|
|
|
|
|
キー:エクスポートするローカル・サービス名(Oracle Tuxedo CORBA環境では、ローカル・ドメインのドメイン名はローカル UBBCONFIGファイルで指定します。その際、 serviceは "//domain_name"の形式で指定します)
|
|
|
|
キー:ローカル・ドメイン・アクセス・ポイント名新しい DMCONFIG用語では、 LDOMは LACCESSPOINTです。
|
|
|
|
|
|
|
|
|
|
|
|
TDOMAIN、 SNAX、 OSITP、および OSITPXに適用可能
|
|
|
|
SNAX、 OSITP、および OSITPXに適用可能
|
|
|
|
SNAX、 OSITPおよび OSITPXに適用可能( BUFSTYPEの「S」は「サブタイプ」を表します)
|
|
|
|
SNAX、 OSITP、および OSITPXに適用可能
|
|
|
|
SNAX、 OSITPおよび OSITPXに適用可能( OBUFSTYPEの「S」は「サブタイプ」を表します)
|
|
|
|
|
|
|
|
|
|
|
|
OSITPXにのみ適用可能( INRECSTYPEの「S」は「サブタイプ」を表します)
|
|
|
|
|
|
|
|
OSITPXにのみ適用可能( OUTRECSTYPEの「S」は「サブタイプ」を表します)
|
表10に、
DM_IMPORTセクション(
DM_REMOTE_SERVICESセクション)のフィールド一覧を示します。
dmadmin操作のプロンプトでこのセクションにアクセスするには、
5 (
REMOTE_SERVICES)を入力します。
|
|
|
|
|
|
|
キー:インポートするリモート・サービス名(Oracle Tuxedo CORBA環境では、リモート・ドメインのドメイン名はリモート UBBCONFIGファイルで指定します。その際、 serviceは "//domain_name"の形式で指定します)
|
|
|
|
キー:リモート・ドメイン・アクセス・ポイント名新しい DMCONFIG用語では、 RDOMは RACCESSPOINTです。
|
|
|
|
キー:ローカル・ドメイン・アクセス・ポイント名新しい DMCONFIG用語では、 LDOMは LACCESSPOINTです。
|
|
|
|
|
|
|
|
|
|
|
|
TDOMAIN、 SNAX、 OSITP、および OSITPXに適用可能
|
|
|
|
|
|
|
|
SNAX、 OSITP、および OSITPXに適用可能
|
|
|
|
SNAX、 OSITPおよび OSITPXに適用可能( BUFSTYPEの「S」は「サブタイプ」を表します)
|
|
|
|
SNAX、 OSITP、および OSITPXに適用可能
|
|
|
|
SNAX、 OSITPおよび OSITPXに適用可能( OBUFSTYPEの「S」は「サブタイプ」を表します)
|
|
|
|
|
|
|
|
|
|
|
|
OSITPXにのみ適用可能( INRECSTYPEの「S」は「サブタイプ」を表します)
|
|
|
|
|
|
|
|
OSITPXにのみ適用可能( OUTRECSTYPEの「S」は「サブタイプ」を表します)
|
|
|
|
|
|
|
|
|
表11に、
DM_EVT_INセクションのフィールドを示します。
|
|
|
|
|
|
|
|
|
|
|
キー: ローカル・ドメイン・アクセス・ポイントの名前
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
注意:
|
すべてのFIELDS定義は、$TUXDIR/udataobj/dmadminおよび$TUXDIR/udataobj/dmadmin32内で定義されています。
|
表12に、
DM_EVT_OUTセクションのフィールドを示します。
|
|
|
|
|
|
|
|
|
|
|
キー: ローカル・ドメイン・アクセス・ポイントの名前
|
|
|
|
キー: リモート・ドメイン・アクセス・ポイントの名前
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
注意:
|
すべてのFIELDS定義は、$TUXDIR/udataobj/dmadminおよび$TUXDIR/udataobj/dmadmin32内で定義されています。
|
表13に、
DM_ROUTINGセクションのフィールドの一覧を示します。
DM_ACCESS_CONTROLセクションの構成
表14に、
DM_ACCESS_CONTROLセクションのフィールドの一覧を示します。
表14
DM_ACCESS_CONTROLセクション
|
|
|
|
|
|
|
|
|
|
|
|
表15に、
DM_PASSWORDSセクションのフィールドの一覧を示します。このセクションは、TDomainゲートウェイにのみ適用されます。
TA_LPWDおよび
TA_RPWDは、ローカル・ドメイン・アクセス・ポイントまたはリモート・ドメイン・アクセス・ポイント(あるいはその両方)について定義済のパスワードがあるかどうかを示します。パスワードは表示されません。
UPDATE操作を選択した場合は、対応するフィールドの値を
Uに設定する必要があります。この場合、エコーがオフになり、対応するパスワードの入力を求めるプロンプトが表示されます。
dmadminは、FML型付きバッファを割当てできない場合、ユーザーの
/etc/passwdエントリを判別できない場合、または環境変数
FIELDTBLSまたは
FLDTBLDIRを再設定できない場合に失敗します。
各操作の完了後、
dmadminによって表示される戻り値は、リクエストされた操作のステータスを示します。戻り値には3つのクラスがあります。
次の戻り値は、権限に関する問題またはOracle Tuxedoの通信エラーを示しています。戻り値は、操作が正常に完了しなかったことを示しています。
呼出し側プロセスで
ADD、
UPDATEまたは
DELETEのいずれかの操作が指定されましたが、Oracle Tuxedo管理者として実行されていません。更新操作は管理者(つまり、
TUXCONFIGファイルの
RESOURCESセクションの
UID属性で指定されたユーザー)が実行する必要があります。
オペレーティング・システムのエラーが発生しました。
ブロッキング・タイムアウトが発生しました。入力バッファは更新されなかったので、検索操作に使用される情報は何も戻されませんでした。更新操作のステータスは、更新されたレコードで取出しを行うことでチェックできます。
以下の戻り値は、処理そのものの実行に問題があることを示します。通常は、入力バッファ内のアプリケーション・データに関するセマンティクスの問題です。文字列フィールド
TA_STATUSが出力バッファに設定されます。このフィールドは、問題を説明する短いテキストを含みます。文字列フィールド
TA_BADFLDNAMEに、問題を引き起こした値が含まれるフィールドの名前が設定されます(エラーが1つのフィールドに関係している場合)。
BDMCONFIGファイルの読取り中にエラーが発生しました。
1つまたは一連のフィールド値の指定が矛盾しています。
操作対象として指定されたレコードが見つかりませんでした。
更新を行う操作が試行されましたが、
BDMCONFIGファイル内に十分なスペースがありませんでした。
操作は成功しました。
BDMCONFIGファイルに対する更新は行われていません。
操作は成功しました。
BDMCONFIGファイルに対する更新が行われました。
dmunloadcfを使用して構成のエントリを表示するとき、オプションのフィールド値は、値が設定されていない(文字列の場合)か0 (整数の場合)の場合には表示されません。これらのフィールドは、
dmadminを使用するときに、出力バッファ内に常に表示されます。この方法で、管理者がエントリを取り出しやすくし、また以前に設定されていないフィールドを更新しやすくします。エントリには、フィールド名が含まれ、タブが後に続きますが、フィールド値はありません。
次の例では、
dmadminを使用して新しいリモート・ドメイン・アクセス・ポイントを追加します。
ed(1)がエディタとして使用されます。
$ EDITOR=ed dmadmin
> config
Sections:
1) RESOURCES 2) LOCAL_DOMAINS
3) REMOTE_DOMAINS 4) LOCAL_SERVICES
5) REMOTE_SERVICES 6) ROUTING
7) ACCESS_CONTROL 8) PASSWORDS
9) TDOMAINS 10) OSITPS
11) SNADOMS 12) LOCAL_REMOTE_USER
13) REMOTE_USERS 14) SNACRMS
15) SNASTACKS 16) SNALINKS
19) OSITPX
q) QUIT
Enter Section [1]:
Enter Section [1]: 2
Operations:
1) FIRST 2) NEXT
3) RETRIEVE 4) ADD
5) UPDATE 6) DELETE
7) NEW_SECTION 8) QUIT
Enter Operation [1]: 4
Enter editor to add/modify fields [n]? y
a
TA_RDOM B05
TA_DOMAINID BA.BANK05
TA_TYPE TDOMAIN
.
w
53
q
Perform operation [y]? <return>
Return value TAUPDATED
Buffer contents:
TA_OPERATION 4
TA_SECTION 2
TA_DOMAINID BA.BANK05
TA_RDOM B05
TA_TYPE TDOMAIN
TA_STATUS Update completed successfully
Operations:
1) FIRST 2) NEXT
3) RETRIEVE 4) ADD
5) UPDATE 6) DELETE
7) NEW_SECTION 8) QUIT
Enter Operation [4]: 7
Section:
1) RESOURCES 2) LOCAL_DOMAINS
3) REMOTE_DOMAINS 4) LOCAL_SERVICES
5) REMOTE_SERVICES 6) ROUTING
7) ACCESS_CONTROL 8) PASSWORDS
9) TDOMAINS 10) OSITPS
11) SNADOMS 12) LOCAL_REMOTE_USER
13) REMOTE_USERS 14) SNACRMS
15) SNASTACKS 16) SNALINKS
19) OSITPX
q) QUIT
Enter Section [1]: 9
Operations:
1) FIRST 2) NEXT
3) RETRIEVE 4) ADD
5) UPDATE 6) DELETE
7) NEW_SECTION 8) QUIT
Enter Operation [6]: 4
Enter editor to add/modify fields [n]? y
a
TA_RDOM B05
TA_NWADDR 0x00020401c0066d05
TA_NWDEVICE /dev/tcp
.
w
55
q
Perform operation [y]? <return>
Return value TAUPDATED
Buffer contents:
TA_OPERATION 4
TA_SECTION 8
TA_RDOM B05
TA_NWADDR 0x00020401c0066d05
TA_NWDEVICE /dev/tcp
TA_STATUS Update completed successfully
Operations:
1) FIRST 2) NEXT
3) RETRIEVE 4) ADD
5) UPDATE 6) DELETE
7) NEW_SECTION 8) QUIT
Enter Operation [4]: 8
> quit
dmadminがアプリケーション管理者の
UIDを使用して実行された場合、信頼性のあるユーザーであると想定され、セキュリティはバイパスされます。
dmadminが別のユーザーIDで実行された場合、およびセキュリティ・オプションが
TUXCONFIGファイル内で使用可能になっている場合は、
dmadminプログラムを開始するための対応するアプリケーション・パスワードが必要です。標準入力が端末である場合、
dmadminはエコーをオフの状態でユーザーにパスワードの入力を求めます。標準入力が端末でない場合は、パスワードは環境変数
APP_PWから取り出されます。この環境変数が指定されていないときに、アプリケーション・パスワードが必要な場合は、
dmadminを開始できません。
別のユーザーID (管理者のUID以外)で実行中の場合、制限されたセットのコマンドしか使用できません。
dmadminは環境変数
FIELDTBLSおよび
FLDTBLDIRを再設定して、
${TUXDIR}/udataobj/dmadminフィールド表をピックアップします。このため、
TUXDIR環境変数は適切に設定する必要があります。
アプリケーションでセキュリティが必要なときに、
dmadminへの標準入力が端末からではない場合、
APP_PW環境変数は対応するアプリケーション・パスワードに設定する必要があります。
TUXCONFIG環境変数は、Oracle Tuxedo構成ファイルのパス名に設定する必要があります。
dmadminコマンドをシステムがブートする前に入力すると、次のメッセージが表示されます。
No bulletin board exists. Only logging commands are available.
次にdmadminは、対応するコマンドを求めるプロンプトを表示します。
正しくないアプリケーション・パスワードが入力されるか、環境を通してシェル・スクリプトで利用できない場合、ログ・メッセージが生成され、次のメッセージが表示されてコマンドが終了します。
無効なパスワードが入力されました。
dmadminは、Oracle Tuxedoリリース5.0以降にインストールする必要があります。リリース5.0のゲートウェイが存在するドメイン内の他のマシンの場合は、Oracle Tuxedoリリース4.1以降でもかまいません。
dmadmin管理ツールは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで使用できます。
『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ファイルが正しく初期化されない場合、
BDMCONFIGファイルを初期化しますかというプロンプトの後でユーザーが
yを入力すると、
dmloadcfはOracle Tuxedoファイル・システムを作成し、
BDMCONFIG表を作成します。
-bオプションがコマンド行に指定されると、その引数により、Oracle Tuxedoファイル・システムの作成時にデバイスのブロック数が定義されます。
-bオプションの値が新しい
BDMCONFIG表を収容できるほど大きい場合、
dmloadcfは、指定された値を使用して新しいファイル・システムを作成します。それ以外の場合、
dmloadcfはエラー・メッセージを出力して終了します。
-bオプションが指定されない場合、
dmloadcfは、
BDMCONFIGを収容できるだけ大きい新しいファイル・システムを作成します。ファイル・システムがすでに存在している場合、
-bオプションは無視されます。
BDMCONFIGがrawデバイス(初期化されていないデバイス)の場合は、
-bオプションを強く推奨します。その場合、rawデバイスのブロック数を設定するために
-bを使用してください。
BDMCONFIGが通常のUNIXファイルである場合には、
-bオプションは使用しないようにしてください。
BDMCONFIGファイルがすでに初期化されていることがわかると、
dmloadcfは、
BDMCONFIGファイルで記述されているローカル・ドメインが動作していないことを確認します。ローカル・ドメインが動作している場合は、
dmloadcfがエラー・メッセージをプリントして終了します。そうでない場合、
dmloadcfは、ファイルを上書きするかどうかを確認するため、次のプロンプトを表示します:
���Really overwrite
BDMCONFIG file [y, q]?���
標準入力または標準出力が端末でない場合、または
-yオプションをコマンド行で指定した場合、このプロンプトは表示されません。このプロンプトに対して
「y」または
「Y」以外で答えると、
dmloadcfはファイルを上書きせずに終了します。
TUXCONFIGファイルの
RESOURCESセクションに
SECURITYパラメータが指定されていると、
dmloadcfは標準入力をフラッシュし、端末エコー機能をオフにして、ユーザーに次のようにアプリケーション・パスワードの入力を求めます。
アプリケーション・パスワードを入力してくださいパスワードは、30文字以内の長さで入力できます。ファイルではなく標準入力を介してテキスト形式の
DMCONFIGファイルをロードするオプションは、この
SECURITYパラメータがオンのときには使用できません。標準入力が端末でない場合、つまり、ユーザーにパスワードの入力を求めることができない場合(たとえば、
hereファイルの場合)、アプリケーション・パスワードの設定のために環境変数
APP_PWが参照されます。
APP_PW環境変数が設定されておらず、標準入力が端末でない場合には、
dmloadcfはエラー・メッセージを出し、ログ・メッセージを生成して、
BDMCONFIGファイルのロードに失敗します。
エラーが発生せず、チェックの結果がすべて条件を満たしていると、
dmloadcfは
DMCONFIGファイルを
BDMCONFIGファイルにロードします。
BDMCONFIG表内に存在するすべての情報は上書きされます。
Oracle Tuxedoのリリース7.1以降では、Domains用のMIBで、ローカル・ドメインとリモート・ドメインとの相互作用を記述するため、クラスと属性の用語が改善されています。新しい用語は、
DM_MIBのリファレンス・ページ、クラスおよびエラー・メッセージや、
DMCONFIGのリファレンス・ページ、セクション名、パラメータ名およびエラー・メッセージで使用されています。詳細は、
DM_MIB(5)リファレンス・ページの
「Domains関連の新しい用語」を参照してください。
後方互換性のため、Oracle Tuxedo 7.1より前に使用されていた
DMCONFIG用語とDomains用のMIBの新しい用語との間で別名が提供されています。Oracle Tuxedo 7.1以降では、
dmloadcfは両方の
DMCONFIG用語を使用できます。
dmunloadcfは、デフォルトで新しいドメイン関連の用語を使用する
DMCONFIGファイルを生成します。以前のドメイン関連の用語を使用する
DMCONFIGファイルを生成するには、
dmunloadcfの
-cオプションを使用します。
dmloadcf管理ツールは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで使用できます。
BDMCONFIG環境変数は、
BDMCONFIGファイルを指していなければなりません。
次の例は、バイナリの構成ファイルを、テキスト形式ファイルの
bank.dmconfigからロードする方法を示しています。ブロック数が2000の
BDMCONFIGデバイスが作成(または初期化)されます。
dmloadcf -b 2000 bank.dmconfig
入力にエラーが検出されると、エラーの原因となった行が、問題を指摘するメッセージとともに、標準エラーにプリントされます。
DMCONFIGファイルに構文エラーが見つかったり、システムが稼働中の場合は、
BDMCONFIGファイルの情報は更新されず、
dmloadcfは終了コード1で終了します。
dmloadcfをアクティブなノード上で実行すると、次のエラー・メッセージが表示されます。
*** dmloadcf cannot run on an active node ***
dmloadcfを実行するユーザーの実効ユーザー識別子が、
TUXCONFIGファイルで指定された
UIDと一致しない場合は、次のエラー・メッセージが表示されます。
*** UID is not effective user ID ***
dmloadcfが正しく完了すると、終了コード0で終了します。
BDMCONFIGファイルが更新されると、このイベントを記録するための
userlogメッセージが生成されます。
『Oracle Tuxedoアプリケーション実行時の管理』
『Oracle Tuxedo Domainsコンポーネントの使用』
『ATMIアプリケーションでのOracle Tuxedo TOP END Domain Gatewayの使用』
dmunloadcf - バイナリの
BDMCONFIG Domains構成ファイルをアンロード
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の空白やタブは、次のフィールドの一部とみなされます。
nは、
$set、
$delset、またはファイルの終わりが現れるまで、次のメッセージのセット識別子を指定します。
nは、一定の範囲内(
1-{NL_SETMAX})の数である必要があります。単一のソース・ファイル内のセット識別子は、連続している必要はありません。セット識別子に続く文字列はすべてコメントとして扱われます。
$setディレクティブがメッセージ・テキスト・ソース・ファイルに指定されない場合、すべてのメッセージはデフォルトのメッセージ・セットに含まれます。
NL_SETD。
既存のメッセージ・カタログからメッセージ・セット
nを削除します。セット番号に続く文字列はすべて、注釈として扱われます。(注意:
nが有効なセットでない場合は無視されます。)
ドル記号(
$)に続いてASCIIの空白またはタブ文字がある行は、注釈として扱われます。
mはメッセージ識別子で、これは範囲(
1-{NL_MSGMAX})内の番号です。このメッセージ・テキストの構文と、
「注意」で説明する
-mコマンド行オプションの構文とを混同しないようにしてください。メッセージ・テキストは、セット識別子が最後の
$setディレクティブによって指定され、かつメッセージ識別子が
mである状態でメッセージ・カタログに格納されます。メッセージ・テキストが空で、ASCIIの空白またはタブ・フィールド区切り文字があると、空の文字列がメッセージ・カタログに格納されます。メッセージ・ソース行にメッセージ番号があっても、フィールド区切り文字もメッセージ・テキストもない場合は、その番号を持つメッセージ(ある場合)がカタログから削除されます。メッセージ識別子は必ずしも連続している必要はありません。メッセージ・テキストの長さは、範囲(
0-{NL_TEXTMAX})内とします。
この行は任意の引用文字
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ファイルが
idlコマンドの入力として提供されると、
idlコマンドは、ICFファイルに指定された実装/インタフェースのペアに対してサーバー・コードを生成します。
生成されるICFファイルのファイル名は、コマンド行で指定する最初の
idl-filenameと同じですが、拡張子は
.icfになります。
間違ったOMG IDL構文で
idl-filename(s)を指定すると、それに応じたエラーが返されます。
-D identifier=[definition]
C++プリプロセッサ・ディレクティブの
#defineと同じ働きをします。つまり、
-Dオプションは、定義ファイル内にある特定の識別子のかわりに使用するトークン文字列またはマクロを定義します。definitionが指定されていない場合、identifierは1に定義されます。複数の
-Dオプションを指定できます。
-Dオプションとidentifierの間の空白は省略できます。
OMG IDLプリプロセッサ・ディレクティブ
#includeで指定するディレクトリのほか、インクルード・ファイルを検索するディレクトリを指定します。複数のディレクトリを指定する場合は、複数の
-Iオプションを指定します。
OMG IDLプリプロセッサ・ディレクティブ
#includeには、システム(
<a.idl>など)とユーザー(
"a.idl"など)の2種類があります。UNIXシステムでは、システムの
#includeディレクトリのパスは、
/usr/includeと、
-Iオプションで指定されるすべてのディレクトリです。ユーザー・ディレクティブ
#includeのパスは、
#includeディレクティブを含むファイルの場所と、その後に続く、システム・ディレクティブ
#includeに指定されたパスで構成されます。Windows 2003システムでは、システムの
#includeディレクトリとユーザー・ディレクティブ
#includeの区別はありません。
genicfコマンドの使用方法に関するヘルプを提供します。それ以外に行われるアクションはありません。
次のコマンドは、
emp.icfファイルを作成します。
genicf emp.idl
idl - Object Management Group (OMG)のインタフェース定義語(IDL)ファイルをコンパイルし、インタフェースに必要なファイルを生成します。
idl [-i] [-D identifier[=value]] [-I pathname][-h] [-P] [-T]
idl-filename... [ icf-filename...]
提供されている
idl-filename()ファイルおよびオプションの
icf-filename()ファイルを指定すると、
idlコマンドは以下のファイルを生成します。
クライアント・スタブ。ユーザー定義のデータ型の関数が埋め込まれます。
POA_skeletonクラスの実装を含むサーバー・スケルトン。
実装の例。このファイルは、
-iオプションが指定されている場合にのみ生成されます。
POA_skeletonクラスから継承される、実装の例のクラス定義。このファイルは、
-iオプションが指定されている場合にのみ生成されます。
注意:
|
ICFファイルが指定されている場合は、そのICFファイル内の情報を基に、デフォルト値をオーバーライドするインタフェース/実装に関する情報がコード・ジェネレータに渡されます。通常、実装のアクティブ化ポリシーおよびトランザクション・ポリシーはICFファイルに指定されます。ICFファイルが指定されていない場合は、OMG IDLファイルで指定されるすべてのインタフェースに対してデフォルトのポリシーが有効になり、すべてのインタフェースに対してスケルトン・コードが生成されます。 icf-filenameファイルを idlコマンドへの入力として指定すると、 icf-filenameに指定された実装/インタフェースのペアのみが、サーバーの一部として生成されます。
|
IDLコンパイラは、生成するクライアント・スタブの情報を
filename_c.cppファイルおよび
filename_c.hファイルに格納します。生成されたサーバー・スケルトンの情報は、
filename_s.cppファイルおよび
filename_s.hファイルに格納されます。
IDLコンパイラは、すでに生成されているクライアント・スタブ・ファイル(
filename_c.cppおよび
filename_c.h)や、すでに生成されているサーバー・スケルトン・ファイル(
filename_s.cppおよび
filename_s.h)を上書きします。以前のバージョンのファイルはすべて破棄されます。
-iオプションを使用すると、IDLコンパイラはサンプルの実装クラス定義ファイル(
filename_i.h)を上書きします。以前のバージョンのファイルは破棄されます。サンプル実装ファイル(
filename_i.cpp)も上書きされますが、コード保護ブロック内のコードは上書きされず、新しく生成されるファイルに復元されます。データが失われるのを避けるために、サンプル実装ファイル(
filename_i.hおよび
filename_i.cpp)を再生成する場合は、あらかじめそれらのファイルを安全な場所にコピーしておくことをお薦めします。
不明なオプションがこのコマンドに渡されると、そのオプションおよび使用方法を通知するメッセージがユーザーに表示され、コンパイルは実行されません。
OMG IDL文を含む1つまたは複数のファイルの名前。
-D identifier[=definition]
C++プリプロセッサ・ディレクティブの
#defineと同じ働きをします。つまり、
-Dオプションは、定義ファイル内にある特定の識別子のかわりに使用するトークン文字列またはマクロを定義します。definitionが指定されていない場合、identifierは1に定義されます。複数の
-Dオプションを指定できます。
-Dオプションと名前の間の空白は省略できます。
OMG IDLプリプロセッサ・ディレクティブ
#includeで指定するディレクトリのほか、インクルード・ファイルを検索するディレクトリを指定します。複数のディレクトリを指定する場合は、複数の
-Iオプションを指定します。
OMG IDLプリプロセッサ・ディレクティブ
#includeには、
システム(
<a.idl>など)と
ユーザー(
"a.idl"など)の2種類があります。システム・ディレクティブ
#includeのパスは、システム・インクルード・ディレクトリおよび
-Iオプションで指定されるディレクトリで構成されます。ユーザー・ディレクティブ
#includeのパスは、
#includeディレクティブを含むファイルの場所と、その後に続く、システム・ディレクティブ
#includeに指定されたパスで構成されます。
デフォルトでは、
#includeディレクティブで取り込むファイル内のテキストは、生成されるクライアント・コードおよびサーバー・コードには取り込まれません。
idl-filename_i.cppファイルを生成します。これらのファイルには、OMG IDLファイルで指定されたインタフェースを実装する実装用のサンプル・テンプレートが入っています。
注意:
|
idlコマンドに -iオプションを使用して実装ファイルを更新する手順は以下のとおりです。
|
2.
|
Oracle ObjectBrokerからOracle Tuxedoに移行する場合は、生成されている実装ファイルでコード保護ブロックの区切り文字の "OBB_PRESERVE_BEGIN"および "OBB_PRESERVE_END"を "M3_PRESERVE_BEGIN"および "M3_PRESERVE_END"に変更します。
|
3.
|
インクルード・ファイルをメソッド実装ファイル( *_i.cpp)に追加した場合は、そのファイルを編集して、取り込んだ要素を INCLUDES保護ブロック内に移動します。
|
4.
|
idlコマンドで -iオプションを使用して、編集した実装ファイルを再生成します。
|
5.
|
再生成する前の実装定義ファイル( *_i.h)に修正を加えていた場合は、新しく生成された定義ファイルにその修正箇所を反映させます。修正箇所はコード保護ブロック内に配置します。これにより、以降更新を行ってもその修正箇所は自動的に保護されるようになります。実装のコンストラクタ関数およびデストラクタ関数に特に注意してください。関数シグネチャがOracle Tuxedoリリース7.1で変更されました。
|
6.
|
メソッド実装ファイル( *_i.cpp)の保護ブロックの外側に、または実装のコンストラクタ関数またはデストラクタ関数に修正を加えていた場合は、新しく生成されたファイルを編集して、その修正箇所を反映させます。修正箇所は保護ブロック内に配置します。これにより、以降更新を行ってもその修正箇所は自動的に保護されるようになります。
|
TPフレームワークのかわりにPOAを使用するサーバー・コードを生成します。このオプションを指定すると、スケルトン・クラスはTPフレームワークの
Tobj_ServantBaseクラスからは継承しませんが、直接
PortableServer::ServantBaseクラスから継承します。デフォルトでは、スケルトン・クラスはTPフレームワークを使用します。そのため、これらのサーバーはTPフレームワークを使用しないので、共同クライアント/サーバーを開発している場合はこのスイッチを使用する必要があります。
サーバーントの継承ツリーに
Tobj_ServantBaseクラスがないということは、そのサーバーントに
activate_objectメソッドと
deactivate_objectメソッドがないことを意味します。CORBAサーバーでは、これらのメソッドはTPフレームワークによって呼び出され、サーバーントに対してあるメソッドを呼び出す前に、そのサーバーントの状態を動的に初期化して保存します。CORBA共同クライアント/サーバーの場合、ユーザー作成コードで明示的にサーバーントを作成し、サーバーントの状態を初期化する必要があります。したがって、
Tobj_ServantBaseの操作は必要ありません。
-Pオプションを使用すると、TP Frameworkが使用できないため、ICFファイルは使用されません。
tieベースのサーバーント・コードを生成します。これにより、C++実装クラスのインスタンスをサーバーントに結び付ける委任機能を使用できます。このオプションを使用すると、継承によるスケルトンに関係しないクラスでCORBAオブジェクト操作を実装できます。デフォルトでは、このオプションはオフに設定されます。
idlコマンドの使用方法に関するヘルプを提供します。それ以外に行われるアクションはありません。
idl emp.idl
idl emp.idl emp.icf
idl2ir - インタフェース・リポジトリを作成し、インタフェース・リポジトリにインタフェース定義をロード
idl2ir [options] definition-filename-list
[-f repository-name] [-c]
[-D identifier[=definition]]
[-I pathname [-I pathname] [...]] [-N{i|e}]
このコマンドを使用すると、インタフェース・リポジトリを作成し、そのインタフェース・リポジトリにインタフェース定義をロードできます。リポジトリ・ファイルがない場合は作成されます。リポジトリ・ファイルが存在する場合は、指定されたインタフェース定義がそのファイルにロードされ、その結果、ファイルが更新されます。
このコマンドを使用すると、新しいインタフェース・リポジトリ・データベース・ファイルが作成されます。
リポジトリ定義を含むファイルを指定します。指定されたファイルは1つの論理ファイルとしてみなされ、一度の操作でロードされます。
インタフェース・リポジトリ・ファイルのファイル名。
-fオプションを指定しない場合、
UNIXシステムではインタフェース・リポジトリ・ファイルとして
repository.ifrが、Microsoft Windows 2003システムでは
repository_1.ifrが作成されます。
新しいリポジトリを作成します。既存のリポジトリが存在する場合に、このオプションが指定されると、そのリポジトリは無視されて新しいリポジトリで置き換えられます。
既存のリポジトリが存在する場合に、このオプションが指定されていないときは、既存のリポジトリが更新されます。
-D identifier[=definition]
プリプロセッサ・ディレクティブの
#defineと同じ働きをします。つまり、
-Dオプションは、定義ファイル内にある特定の識別子のかわりに使用するトークン文字列またはマクロを定義します。definitionが指定されていない場合、identifierは1に定義されます。複数の
-Dオプションを指定できます。
OMG IDLプリプロセッサ・ディレクティブ
#includeで指定するディレクトリのほか、インクルード・ファイルを検索するディレクトリを指定します。
OMG IDLプリプロセッサ・ディレクティブ
#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]
[-t interface-type] [-o filename]
このコマンドはインタフェース・リポジトリの内容を表示します。
-oオプションを使用して出力をファイルに送れば、リポジトリからOMG IDLファイルを抽出できます。デフォルトでは、リポジトリ・ファイルは
repository.ifrです。
内容を表示するインタフェースの名前。インタフェース名を指定しない場合、リポジトリ内のすべてのインタフェースが表示されます。
インタフェース定義を検索するリポジトリの名前。
-fオプションを指定しない場合、
repository.ifrが使用されます。
継承されたオブジェクトを出力に含めないように指定します。
表示するオブジェクトのタイプを指定します。オブジェクトのタイプは、以下のキーワードのいずれかです。
Attribute
Constant
Exception
Interface
Method
Module
Operation
Typedef
このオプションを指定しない場合、デフォルトですべてのタイプが表示されます。
取り出したOMG IDL文を書き込むファイルを指定します。デフォルトは標準出力です。
指定されたオブジェクトをインタフェース・リポジトリから削除
irdel [-f repository-name] [-i id] object-name
このコマンドは、指定されたインタフェースをリポジトリから削除します。削除できるのは、他のインタフェースから参照されていないインタフェースだけです。デフォルトでは、リポジトリ・ファイルは
repository.ifrです。
インタフェース・リポジトリを指定するオプション・パラメータ。
repository-nameの値は、インタフェース・リポジトリのファイル指定です。このオプションが指定されない場合、
repository.ifrがデフォルトとして使用されます。
指定されたオブジェクトのリポジトリ
id。
idは第2レベルのルックアップとして使用されます。この
idと指定されたオブジェクトの
idが一致しない場合、オブジェクトは削除されません。
リポジトリから削除するインタフェースの名前。名前は、単純なオブジェクト名でもスコープ指定された名前でもかまいません。たとえば、
MOD1::INTERF2::OP3と指定できます。この場合、操作
OP3はインタフェース
INTERF2内にあり、そのインタフェースはアプリケーション
MOD1内にあります。
mkfldcs、
mkfldcs32 - フィールド表からC#のヘッダー・ファイルを作成
mkfldcs [-d outdir] [ field_table... ]
mkfldcs32 [-d outdir] [ field_table... ]
mkfldcsは
mkfldhdrに似ていますが、出力されるファイルがC#のソース・ファイルの生成に使用されることが異なります。このソース・ファイルには、入力ファイルで与えられた各FMLフィールドIDの定義などのパブリック・クラスが含まれます。
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を使用します。
出力ヘッダー・ファイルを現在の作業ディレクトリ以外のディレクトリに作成したいときに使用します。
フィールド表のロードに失敗した場合、あるいは出力ファイルを生成できなかった場合には、エラー・メッセージが出力されます。
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を生成します。
mklanginfo - ロケールの言語情報定数をコンパイル
mklanginfoは入力行を読み取ります。このとき、空白または「#」で始まる行は無視されます。値入力行は次の形式で指定する必要があります。
トークン(
token)と二重引用符で囲んだ
値との間の文字は、二重引用符以外の任意の文字にすることができます(トークンの後に空白がある場合)。
valueがnull文字列であると、その行は無視されます。そうでなければ、
トークンは1から48までの任意の整数とするか、以下に示す文字列のいずれかとする必要があります。
Integer String Value 1
DAY_1 Day 1 of the week, for example, Sunday 2
DAY_2 Day 2 of the week, for example, Monday 3
DAY_3 Day 3 of the week, for example, Tuesday 4
DAY_4 Day 4 of the week, for example, Wednesday 5
DAY_5 Day 5 of the week, for example, Thursday 6
DAY_6 Day 6 of the week, for example, Friday 7
DAY_7 Day 7 of the week, for example, Saturday 8
ABDAY_1 Abbreviated day 1 of the week, for example, Sun 9
ABDAY_2 Abbreviated day 2 of the week, for example, Mon 10
ABDAY_3 Abbreviated day 3 of the week, for example, Tue 11
ABDAY_4 Abbreviated day 4 of the week, for example, Wed 12
ABDAY_5 Abbreviated day 5 of the week, for example, Thu 13
ABDAY_6 Abbreviated day 6 of the week, for example, Fri 14
ABDAY_7 Abbreviated day 7 of the week, for example, Sat 15
MON_1 Month 1 of the year, for example, January 16
MON_2 Month 2 of the year, for example, February 17
MON_3 Month 3 of the year, for example, March 18
MON_4 Month 4 of the year, for example, April 19
MON_5 Month 5 of the year, for example, May 20
MON_6 Month 6 of the year, for example, June 21
MON_7 Month 7 of the year, for example, July 22
MON_8 Month 8 of the year, for example, August 23
MON_9 Month 9 of the year, for example, September 24
MON_10 Month 10 of the year, for example, October 25
MON_11 Month 11 of the year, for example, November 26
MON_12 Month 12 of the year, for example, December 27
ABMON_1 Abbreviated month 1 of the year, for example, Jan 28
ABMON_2 Abbreviated month 2 of the year, for example, Feb 29
ABMON_3 Abbreviated month 3 of the year, for example, Mar 30
ABMON_4 Abbreviated month 4 of the year, for example, Apr 31
ABMON_5 Abbreviated month 5 of the year, for example, May 32
ABMON_6 Abbreviated month 6 of the year, for example, Jun 33
ABMON_7 Abbreviated month 7 of the year, for example, Jul 34
ABMON_8 Abbreviated month 8 of the year, for example, Aug 35
ABMON_9 Abbreviated month 9 of the year, for example, Sep 36
ABMON_10 Abbreviated month 10 of the year, for example, Oct 37
ABMON_11 Abbreviated month 11 of the year, for example, Nov 38
ABMON_12 Abbreviated month 12 of the year, for example, Dec 39
RADIXCHAR Radix character, for example, '.' 40
THOUSEP Separator for thousands 41
YESSTR Affirmative response string, for example, yes 42
NOSTR Negative response string, for example, no 43
CRNCYSTR Currency symbol 44
D_T_FMT string for formatting date and time, for example, ���%a%b%d%H:%M:0Y��� 45
D_FMT string for formatting date, for example, ���%m/%d/%y��� 46
T_FMT string for formatting time, for example, ���H:%M:%S��� 47
AM_FMT Ante Meridian affix, for example, AM 48
PM_FMT Post Meridian affix, for example, PM
入力行は任意の順序で表示される可能性があります。入力行が同じ値に対して複数回表示される場合、その値の最後の行が使用されます。
mklanginfoは、ファイルを処理すると、前のコード・リストに示した各言語情報定数の文字列名と文字列値を、リストの順に標準エラーに出力します。指定されていない言語情報定数の値としてNULL文字列が使用されます。
nl_langinfoは、このような未設定定数についてCロケールのデフォルト値(米国向け英語)を使用します。
コマンド行にファイル名が指定されていると、
mklanginfoは
コンパイルされた出力を
fname.
outに出力します。指定されていない場合は標準出力に出力します。形式は、NULLで終わる文字列値のみのリストです(改行文字は入りません)。
ファイルの読取りエラーや構文エラーがあると、エラー・メッセージが標準エラー出力に書き出された後、終了コード1でプログラムは終了します。成功時には、プログラムは終了コード0で終了します。
Oracle Tuxedoシステム(Cロケール)のデフォルトは、
$TUXDIR/locale/C/lang.textに格納されています。フランス語の値を入力するには、(UNIXシステムプラットフォーム上で)管理者が次の操作を行います。
mkdir $TUXDIR/locale/french
cd $TUXDIR/locale/french
cp $TUXDIR/locale/C/lang.text .
ed lang.text
フランス語に翻訳
w
q
mklanginfo lang.text > LANGINFO
$TUXDIR/locale/C/lang.text - Cロケールのデフォルト値
$TUXDIR/locale/C/LANGINFO - Cロケールの「コンパイル済」ファイル
$TUXDIR/locale/xx/LANGINFO -
xxロケールの「コンパイル済」ファイル
mklanginfoコマンドと、その実行結果として得られる
LANGINFOファイルは、
setlocale()、
strftime()、あるいは
nl_langinfo()のOracle Tuxedoシステムの互換関数を使用する場合にのみ必要となります。UNIXで提供される関数は、別のファイル・セットおよびファイル形式を使用します。
qmadmin - キュー・マネージャ管理プログラム
[
QMCONFIG=
<device>]
qmadmin [
<device>]
qmadminは、次の一覧で示す各種コマンドを使用することにより、メッセージ・キューの作成、検査および変更を行います。汎用デバイス・リスト(UDL)は、Oracle Tuxedo ATMIシステムが稼働するマシンに物理ストレージ・スペースをマップします。UDLのエントリは、キューとキュー・スペースのメッセージが格納される、ディスク空間を指定します。キュー・スペースのための汎用デバイス・リストが存在する(または存在することになる)デバイス(ファイル)名は、コマンド行引数として指定することも、環境変数
QMCONFIGを介して指定することもできます。この両方で指定された場合には、コマンド・オプションが使用されます。
qmadminはシステム付属のサーバーとして、通常の初期化プロセスを行わないため、
UBBCONFIGファイルから
ULOGPFXの値を参照しません。その結果、
qmadminコマンドによって生成されたすべてのログ・エントリが、現在の作業ディレクトリに書き込まれます。これに対処するには、
ULOGPFX環境変数をユーザー・ログのあるディレクトリのパス名に設定して、エクスポートします。
qmadminは、プロンプトとして不等号(
>)を使用します。引数はタブまたは空白(あるいは両方)で区切って入力します。空白を含む引数は二重引用符で囲むこともできます。二重引用符で囲んだ引数に二重引用符が含まれる場合は、含まれる二重引用符の前にバックスラッシュを付ける必要があります。必要な情報がコマンド行に指定されない場合は、コマンドによって情報の入力を求められます。必須の引数が入力されないと、警告メッセージが表示され、プロンプトが再び表示されます。オプションのパラメータに関する情報に対してはプロンプトは表示されません。
ユーザーは、コマンドの入力を求められた際に
qまたは<
CTRL-d>と入力するとプログラムを終了できます。[Break]キーを押すと、コマンドからの出力を終了でき、新しいコマンドを入力するように求められます。コマンドの入力を求められた際に[Return]キーを押すと、[Break]キーを押した後を除き、直前のコマンドが繰り返し実行されます。
[Return]を押した後でコマンドを取り消す方法はありません。[Break]を押してもコマンドの出力(ある場合)が終了するだけです。したがって、[Return]を押す前にコマンドを正しく入力したことを確認してください。
qmadminコマンドからの出力は、使用しているページ別表示コマンドに従ってページ別表示されます(後述の
paginateサブコマンドを参照)。
qmadminを初めて入力するときは、開いているキュー・スペースはありません。キュー・スペースを作成するには
qspacecreateを実行します。このキュー・スペースを開くには、
qopenを実行します。
qaborttrans、
qclose、
qchangeprio、
qchangequeue、
qchangetime、
qchangeexptime、
qcommittrans、
qchange、
qcreate、
qdeletemsg、
qinfo、
qlist、
qprinttrans、および
qsetは、キュー・スペースが開いているときのみ実行できます。
次の表は、機能タイプ別にグループ化した
qmadminコマンドをリストしています。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
シェルにエスケープして、 shellcommandを実行する
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
キュー・スペースに使用されるIPCデータ構造体を削除する
|
|
|
キュー・スペースに使用されるIPCデータ構造体を一覧表示する
|
|
|
|
|
|
VTOC表のすべてのエントリについて情報を表示する
|
|
|
|
|
|
|
|
|
|
|
|
キュー・スペースに必要な共有メモリーのサイズを計算する
|
|
|
|
|
|
キューに入れられたメッセージ用のキュー・スペースを作成する
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
関連付けられているキューまたはすべてのキューについて情報を一覧表示する
|
|
|
|
|
|
|
|
|
|
同じキュー・スペース内の別のキューにメッセージを移動する
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
未処理のトランザクションのトランザクション表情報を表示する
|
コマンドの形式は、完全名でも省略形でも(省略形がある場合は、完全名の後にカッコで示されます)入力することができ、該当する引数がその後に付きます。大カッコ[ ]で囲まれている引数は省略可能で、中カッコ{ }で囲まれている引数は、相互に排他的な選択肢を示します。
chdl [
dlindex [
newdevice]]
汎用デバイス・リストのエントリ名を変更する第1引数は汎用デバイス・リストの変更するデバイスの索引です(デバイス索引は
lidlで戻されます)。第1引数をコマンド行で指定しなかった場合は、プログラムによって入力が要求されます。
第2引数は新しいデバイス名です。デバイス名がコマンド行に指定されていない場合、現在のデバイス名が表示され、新しいデバイス名の入力を求めるプロンプトが表示されます。デバイス名の長さは64文字以内に制限されています。デバイス名を変更すると、前のデバイス名を介してファイルやデータにアクセスすることはできなくなるので、このコマンドはよく注意して使用しなければなりません。
汎用デバイス・リスト(UDL)とボリューム一覧(VTOC)の詳細は、
『Oracle Tuxedoアプリケーション実行時の管理』を参照してください。
crdl [
device [
offset [
size]]]
汎用デバイス・リストにエントリを作成する注意: デバイス・リスト内の最初のエントリが、
QMCONFIGによって参照されるデバイスと一致し、0オフセットを含んでいる必要があります。コマンド行に引数が入力されていない場合は、プログラムから入力するように要求されます。
引数は、デバイス名、割当て開始空間のブロック番号および割当て物理ページ(ディスク・セクター)の数です。
特定のファイルに1つ以上のエクステントを割り当てることができます。たとえば、
/app/queues/myspace 0 500の後に、
/app/queues/myspace 1000 500と割り当てると、500から999までのブロックを使用しない合計1000個のブロックが割り当てられます。
デバイス・リストおよび目次用に、最初のデバイス・エントリのうちの数エントリが使用されます。デバイス・リストには、最大25エントリまで作成できます。
汎用デバイス・リストにあるエントリを破棄します。
dlindex引数は、デバイス・リストから削除するデバイスの、汎用デバイス・リストでの索引です。コマンド行に入力されていない場合は、プログラムから入力するように要求されます。エントリ0は、すべての
VTOCファイルと他のデバイス・リスト・エントリが破棄されないかぎり削除できません。(エントリ0に含まれるデバイスはデバイス・リストと目次を保持するため、このエントリを破棄すると、これら2つの表も破棄されるためです。)
VTOCファイルを削除するには、関連するエンティティを削除するしかありません(たとえば、デバイスに存在するキュー・スペースの破棄)。
-yオプションを指定されないかぎり、このコマンドは確認のためのプロンプトを表示します。
onに設定すると、入力コマンド行をエコーします。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。初期設定は
offです。
help (h) [{
command |
all}]
ヘルプ・メッセージを出力します。
commandを指定すると、そのコマンドについて、省略形、引数および説明が表示されます。
allを指定すると、すべてのコマンドに関する説明が表示されます。
引数がコマンド行に指定されていない場合、すべてのコマンドの構文が表示されます。
ipcrm [
-f] [
-y] [
queue_space_name]
指定されたキュー・スペースに使用されるIPCデータ構造体を削除します。コマンド行にキュー・スペース名が入力されていない場合は、プログラムから入力するように要求されます。指定されたキュー・スペースが
qmadminで開かれている場合は、閉じられます。
ipcrmは、キュー・スペースで使用されるすべてのIPCリソースを把握しているため、IPCリソースを削除するただ1つの方法です。
qmadminは、他のプロセスがキュー・スペースにアタッチしていないことを確認してから、IPCリソースを削除します。
-fオプションを指定すると、他のプロセスがアタッチしている場合でもIPCリソースを強制的に削除できます。
-fオプションが指定された場合に
-yオプションの指定がなければ、このコマンドは、実行の前に確認のためのプロンプトを表示します。コマンドが正常に完了すると、指定されたキュー・スペースのすべての一時的メッセージが完全に失われます。
キュー・スペースで使用されるIPCデータ構造体(ある場合)を表示します(キュー・スペースがプロセスによって開かれていないと、IPCデータ構造体が使用されない場合があります)。コマンド行にキュー・スペース名が入力されていない場合は、プログラムから入力するように要求されます。
汎用デバイス・リストを表示します。デバイスごとに、索引、名前、先頭ブロックおよびデバイスのブロック数が一覧表示されます。冗長モードでは、未使用領域を示すマップが表示されます(未使用領域の先頭アドレスおよびサイズ)。
dlindexを指定すると、デバイス・リストのそのエントリについての情報のみが表示されます。
VTOC表のすべてのエントリについて情報を表示します。各エントリについて表示される情報は、
VTOC表の名前、VTOC表のあるデバイス、デバイスの先頭からの
VTOC表のオフセットおよびこの表に割り当てられているページ数があります。
VTOCには、最大100のエントリがあります。
paginate (
page) [{
off|on}]
出力をページ単位で表示します。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。標準入力または標準出力が非端末デバイスでないかぎり、初期設定はonです。標準入力と標準出力の両方が端末デバイスの場合にのみonに設定できます。
デフォルトのページ別表示コマンドは、ネイティブのオペレーティング・システム環境に固有のページャになります。たとえば、コマンド
pgは、UNIXオペレーティング・システムにおけるデフォルトのコマンドです。シェル環境変数
PAGERを使用すると、ページ別表示出力に使用されるデフォルトのコマンドをオーバーライドできます。
qaborttrans (
qabort) [
-y] [
tranindex]
指定したトランザクション索引
tranindexに関連付けられている、プリコミットされているトランザクションをヒューリスティックに中断します。トランザクション索引をコマンド行で指定しなかった場合は、プログラムはその入力を要求します。トランザクションが決定されることがわかっていて、その決定がコミットすることであった場合は、
qaborttransは失敗します。索引は、事前の
qprinttransコマンドの実行から取得されます。
-yオプションが指定されていなければ、確認がリクエストされます。このコマンドの使用には、十分な注意が必要です。
qaddext [
queue_space_name [
pages]]
キュー・スペースにエクステントを追加します。キュー・スペースの最大数は36です。キュー・スペースをアクティブ化しないでください(キュー・スペースにプロセスをアタッチできません)。キュー・スペース名と、キュー・スペースに割り当てる追加の物理ページ数がコマンド行に指定されていない場合、プログラムによって入力が求められます。指定したキュー・スペースが
qmadminで開かれている場合は、閉じられます。物理ページ数は、最も近い
4の倍数に切り捨てられます(説明と例は、
「qspacecreate」を参照)。スペースは、
QMCONFIGデバイスに関連付けられた
UDLに定義されたエクステントから割り当てられます。新しいキュー・スペース・エクステントそれぞれが、
VTOCの追加エントリを使用します(最大100エントリが使用可能)。キュー・マネージャによって、キュー・スペースがすぐに識別して関連付けることができるように、エクステントの名前が付けられます。コマンドが正常に完了すると、指定されたキュー・スペースのすべての一時的メッセージが完全に失われます。
qchange [
-d persist|
nonpersist] [
-n nhigh, nlow, ncmd]
[
-e default_relative_expiration_time]
[
queue_name [
out-of-order [
retries [
delay [
high [
low [
cmd]]]]]]]
現在開いているキュー・スペースのキューを修正する引数はコマンド行で指定します。指定しないと、プログラムにより入力が求められます。引数には、キューの名前、順序を無視したキュー登録を許可するかどうか(許可しない、キューの先頭に登録、指定した
msgidの前に登録)、再試行の回数、各再試行の間の遅延時間(秒)、しきい値コマンドを実行するための上限値と下限値、および永続メッセージに対するしきい値コマンドそのものを指定できます。
out-of-orderの値は、
none、
topおよび
msgidです。
topと
msgidの両方をカンマで区切って指定できます。
しきい値を使用すると、永続メッセージのしきい値に到達したときに、コマンドを自動的に実行できるようになります。上限は、コマンドがいつ実行されるかを指定します。上限に到達したときにコマンドを再実行するには、その前に下限に到達する必要があります。たとえば、制限が100メッセージと50メッセージの場合、100メッセージがキューにあるときにコマンドが実行されます。キューのメッセージが排出されて50メッセージまで減らないと、再び100メッセージになってもコマンドは実行されません。キューの容量は、キューが使用するバイト数またはブロック数(numberの後に
bまたは
B接尾辞)、キューによって使用されるキュー・スペースのパーセンテージ(
numberの後に
%)、またはキューの合計メッセージ数(
numberの後に
m)で指定できます。上限と下限のしきい値のタイプは同じにする必要があります。タイプを下限値に指定するかどうかはオプションですが、指定された場合は、上限のタイプと一致する必要があります。メッセージ(
m)の接尾辞は、永続メッセージと非永続メッセージの両方に対応します。もう1つのしきい値接尾辞は、永続メッセージだけに適用されます。非永続メッセージのしきい値を指定するには、
-nオプションを使用します。しきい値コマンドをコマンド行に指定するとき、空白が含まれる場合は二重引用符で囲む必要があります。再試行回数は、メッセージをキューから取り出すことができる回数を指定します。トランザクションがロールバックし、メッセージはキューに戻ります。再試行間隔も指定できます。再試行の回数が上限に達すると、キュー・スペースに定義されたエラー・キューにメッセージが移動されます。エラー・キューが定義されていない場合、メッセージは破棄されます。キューのキュー順序値は変更できません。優先度の低いメッセージは、優先度の高いメッセージがキューに含まれていても、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)またはパーセンテージ(
numberの後に
%)のいずれかのしきい値タイプとして指定できます。
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]
キューのメッセージの期限を変更する期限に達したとき、メッセージがキューから取り出されていない場合や管理時に削除されていない場合には、キューからメッセージが削除され、メッセージに関連付けられているすべてのリソースが解放されて、統計情報が更新されます。有効期限の時間がメッセージの使用可能時間より前の場合、使用可能時間が有効期限の切れる時間より前になるようにいずれかの時間を変更しないかぎり、メッセージをキューから取り出すことはできません。また、これらのメッセージがキューからの取出しの対象になったことがなくても、有効期限が切れるとキューから削除されます。トランザクション中にメッセージの期限が切れてもトランザクションは失敗しません。トランザクション内でキューへの登録、またはキューからの取出し中に有効期限が切れたメッセージは、トランザクションが終了した時点でキューから削除されます。メッセージの期限が切れても通知されません。
有効期限が設定されたキューが、
qsetコマンドを使用して選択されます。更新するメッセージを制限する選択基準は、
qscanコマンドを使用して設定します。選択基準が設定されない場合、キューのすべてのメッセージが変更されます。デフォルトでは、有効期限が設定される前に確認を求められます。
-yオプションを指定すると、確認のプロンプトが表示されません。
newtime値には、現在時刻に対する相対値、絶対値、および
noneのいずれかを指定できます。
newtime値がコマンド行に入力されていない場合は、プログラムから入力するように要求されます。
この値を変更するキュー・マネージャがメッセージの有効期限をサポートしていても、メッセージの有効期限をサポートしていないOracle Tuxedo ATMIシステムのバージョンによってキューに登録されたメッセージを変更して、期限切れ時間を設定することはできません。
qchangeexpの影響を受けるメッセージが、Oracle Tuxedo ATMIシステムのそのようなバージョンの1つによってキューに登録された場合は、選択されたメッセージの一部がこの制約のために変更されなかったことを示すエラー・メッセージが生成されます。
相対有効期限は、リクエストがキュー・マネージャ・プロセスに届いた時点に対して相対的です。相対的な
newtimeの形式は
+secondsです。
secondsは、キュー・マネージャが処理を正常に終了してから、メッセージが期限切れになるまでの秒数です。
secondsが
0に設定されると、メッセージはすぐに期限切れになります。有効期限の絶対時間は、キュー・マネージャ・プロセスが常駐するマシンの時計によって決定されます。絶対的な
newtimeの形式は、
YY[
MM[
DD[
HH[
MM[
SS]]]]]です(
qscanの説明を参照してください)。
newtimeの値には、文字列
noneを指定することもできます。この場合、対象のメッセージの有効期限がなくなります。
qchangeprio (
qcp) [
-y] [
newpriority]
キューのメッセージの優先度を変更できます。対象となるキューは、
qsetコマンドを使用して設定され、更新されるメッセージを制限する選択基準は、
qscanコマンドを使用して設定されます。
選択基準が設定されない場合、キューのすべてのメッセージが変更されます。
-yオプションが指定されていないかぎり、変更の前に確認が求められます。
qlistコマンドを実行して、どのようなメッセージが変更されるかを確認することをお薦めします(入力ミスによるエラーが減少します)。
newpriority値は、処理のためにメッセージが転送されるときに使用される新しい優先度を指定します。これは1から100までの範囲である必要があります。コマンド行で指定していないと、入力するよう求められます。
qchangequeue (
qcq) [
-y] [
newqueue]
同じキュー・スペース内の別のキューにメッセージを移動するメッセージの移動元のキューは、
qsetコマンドを使用して設定され、移動されるメッセージを制限する選択基準は、
qscanコマンドを使用して設定されます。選択基準が設定されない場合、キューのすべてのメッセージが移動されます。
-yオプションが指定されていないかぎり、変更の前に確認が求められます。
qlistコマンドを実行して、どのようなメッセージが移動されるかを確認することをお薦めします(入力ミスによるエラーが減少します)。
newqueue値は、メッセージの移動先のキュー名を指定します。コマンド行で
newqueueが指定されない場合は、プログラムによって入力が要求されます。メッセージの配信サービス・レベルが、
newqueueのデフォルト配信ポリシーと一致するように変更されることはありません。
有効期限のあるメッセージが移動されると、その有効期限は、以前に相対的な有効期限として指定された場合でも、新しいキューの中では絶対的な有効期限とみなされます。
qchangetime (
qct) [
-y] [
newtime]
キューにあるメッセージの使用可能時間を変更します。キューの指定には、
qsetコマンドを使用します。更新するメッセージを制限する選択基準は、
qscanコマンドを使用して設定します。
選択基準が設定されない場合、キューのすべてのメッセージが変更されます。
-yオプションが指定されていないかぎり、変更の前に確認が求められます。
qlistコマンドを実行して、どのようなメッセージが変更されるかを確認することをお薦めします(入力ミスによるエラーが減少します)。
newtime値には、現在時刻に対する相対値、または絶対値のいずれかを指定できます。コマンド行で指定していないと、入力するよう求められます。相対的な
onetimeの形式は
+secondsです。
secondsは、現時点からメッセージを実行するまでの秒数です(0の場合、すぐに実行されます)。絶対的な
newtimeの形式は
YY[
MM[
DD[
HH[
MM[
SS]]]]]です(
qscanの説明を参照してください)。
現在開いているキュー・スペースを閉じるコマンドが正常に完了すると、指定されたキュー・スペースのすべての一時的メッセージが完全に失われます。
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]]]]]]]]
現在開いているキュー・スペースにキューを作成する引数はコマンド行で指定します。指定しないと、プログラムにより入力が求められます。引数には、キューの名前、キューの順序(fifoまたはlifo、有効期限順、優先度順、時刻順)、順序を無視したキュー登録を許可するかどうか(許可しない、キューの先頭に登録、指定した
msgidの前に登録)、再試行の回数、再試行の間隔(秒)、しきい値コマンドを実行するための上限値と下限値、および永続メッセージに対するしきい値コマンドそのものを指定できます。
キューの順序の値は、
fifo、
lifo、
priority、
expirationおよび
timeです。キューの順序を指定するときは、重要なソート値から順に指定する必要があります。
fifoまたは
lifoは、最も重要でないソート値(またはただ1つのソート値)として指定してください。
fifoも
lifoも指定されない場合、デフォルト値は
fifoです。指定されている他のソート基準に適用されます。
expirationが指定されると、有効期限のないメッセージは、有効期限付きのメッセージすべてが取り出された後にキューから取り出されます。複数のソート値はカンマで区切って指定できます。out-of-orderの値は、
none、
topまたは
msgidです。
topと
msgidの両方をカンマで区切って指定できます。
しきい値を使用すると、永続メッセージのしきい値に到達したときに、コマンドを自動的に実行できるようになります。上限は、コマンドがいつ実行されるかを指定します。上限に到達したときにコマンドを再実行するには、その前に下限に到達する必要があります。たとえば、制限が100メッセージと50メッセージの場合、100メッセージがキューにあるときにコマンドが実行されます。キューのメッセージが排出されて50メッセージまで減らないと、再び100メッセージになってもコマンドは実行されません。
キューの容量は、キューが使用するバイト数またはブロック数(numberの後に
bまたは
B接尾辞)、キューによって使用されるキュー・スペースのパーセンテージ(
numberの後に
%)、またはキューの合計メッセージ数(
numberの後に
m)で指定できます。上限と下限のしきい値のタイプは同じにする必要があります。メッセージ(
m)の接尾辞は、永続メッセージと非永続メッセージの両方に対応します。もう1つのしきい値接尾辞は、永続メッセージだけに適用されます。非永続メッセージのしきい値を指定するには、
-nオプションを使用します。タイプを下限値に指定するかどうかはオプションですが、指定された場合は、上限のタイプと一致する必要があります。しきい値コマンドをコマンド行に指定するとき、空白が含まれる場合は二重引用符で囲む必要があります。
再試行回数は、メッセージをキューから取り出すことができる回数を指定します。トランザクションがロールバックし、メッセージはキューに戻ります。再試行間隔も指定できます。再試行の回数が上限に達すると、キュー・スペースに定義されたエラー・キューにメッセージが移動されます。エラー・キューが定義されていない場合、メッセージは破棄されます。優先度の低いメッセージは、優先度の高いメッセージがキューに含まれていても、10メッセージごとにキューから取り出されます。
-dオプションは、キューのデフォルト配信ポリシーを指定します。
-dオプションの有効値は、
persistと
nonpersistです。デフォルトの配信ポリシーが
persistの場合、明示的に配信モードを指定せずにキューに登録されたメッセージは、永続(ディスク・ベース)配信モードを使用して配信されます。ポリシーが
nonpersistの場合、明示的に配信モードを指定せずにキューに登録されたメッセージは、非永続(メモリー)配信モードを使用して配信されます。
-dオプションが指定されない場合、システムによって情報は求めらません。キューのデフォルト配信ポリシーは
persistです。デフォルト配信ポリシーが変更されても、すでにキューに存在していたメッセージのサービス配信レベルは変化しません。
メモリー領域の不足やフラグメント化のために一時的メッセージをキューに登録できない場合、メッセージ用の永続ストレージが十分にあってもキューへの登録操作は失敗します。ディスクの不足やフラグメント化のために永続的メッセージをキューに登録できない場合、メッセージ用の非永続ストレージが十分にあってもキューへの登録操作は失敗します。
キュー・スペースで非永続メッセージに予約されているメモリー容量が
0の場合、非永続メッセージに予約されている領域はありません。(非永続メッセージのメモリー領域の詳細は、「
qspacecreate」および「
qspacechange」を参照してください。)この場合、非永続メッセージをキューに登録しようとしても失敗します。これには、ターゲット・キューのデフォルト配信ポリシーが
nonpersistで、配信サービス・レベルが指定されていないメッセージが含まれます。
-nオプションは、非永続記憶域のしきい値に到達した際に、コマンドの自動実行に使用するしきい値を指定します。
nhigh制限により、コマンド
ncmdがいつ実行されるかが指定されます。
nhigh制限に到達したときにコマンドを再実行するには、その前に
nlow制限に到達する必要があります。
-nオプションを指定する場合、
nhigh、
nlowおよび
ncmdの値すべてを指定する必要があります。そうしないと、コマンドが失敗します。
ncmd値は空文字列として指定できます。
-nオプションが指定されなくても、プログラムによって情報の入力を求められることはありません。
メモリー容量(キュー内の非永続データの容量)は、バイト数(
b)、ブロック数(
B)またはパーセンテージ(
numberの後に
%)のいずれかのしきい値タイプとして指定できます。
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文字列を指定すると、明示的な有効期限なしでキューに登録されたメッセージは、期限が明示的に割り当てられないかぎり期限切れになりません。
キューからメッセージを削除するキューの指定には、
qsetコマンドを使用します。削除するメッセージを制限する選択基準は、
qscanコマンドを使用して設定します。選択基準が設定されない場合、キューのすべてのメッセージが削除されます。削除の前に確認が求められます。
qlistコマンドを実行して、どのようなメッセージが削除されるかを確認することをお薦めします(入力ミスによるエラーが減少します)。このコマンドは、
-yオプションを指定していない場合に確認のためのプロンプトを表示します。
qdestroy (
qds) [{
-p | -f }] [
-y] [
queue_name]
指定されたキューを破棄するデフォルトでエラーが返されるのは、リクエストがキューに存在する場合、またはプロセスがキュー・スペースにアタッチされている場合です。
-pオプションを指定すると、キュー・スペースにアタッチされているプロセスがない場合には、キューからメッセージを「パージ」してキューを破棄することができます。
-fオプションを指定すると、キュー・スペースにメッセージまたはプロセスがアタッチされている場合でも、キューを「強制的に」削除することができます。メッセージが現在のトランザクションに関係している場合、このコマンドは失敗し、エラーが
userlogに書き込まれます。このコマンドは、
-yオプションを指定していない場合に確認のためのプロンプトを表示します。
関連付けられているキューまたはすべてのキューについて情報を一覧表示するこのコマンドは、指定されたキューのメッセージ数、または引数を指定していない場合はすべてのキューのメッセージ数、キューに関連付けられている永続的メッセージと一時的メッセージの両方が使用している領域の量、永続的および一時的に送られるメッセージの数、指定されたキューのメッセージの総数、および永続的メッセージと一時的メッセージが使用している領域の量を表示します。冗長モードでは、このコマンドは、各キューのキュー作成パラメータ、キューのデフォルトの期限(設定されている場合)、順序付け基準およびキューのデフォルトの配信ポリシーも表示します。
キューのメッセージを一覧表示するキューの指定には、
qsetコマンドを使用します。表示するメッセージを制限する選択基準は、
qscanコマンドを使って設定します。設定基準が何も設定されていない場合は、キューにあるすべてのメッセージが表示されます。
選択した各メッセージについて、メッセージ識別子が出力されるほか、メッセージの優先度、これまでに試みた再試行の回数、メッセージの長さ、サービスの配信品質、応答に対するサービスの基準および期限(設定されている場合)が出力されます。メッセージに可用時間が関連付けられている場合、またはトランザクションのロールバックのためにメッセージに再試行時間がスケジューリングされている場合は、その可用時間が出力されます。相関識別子が存在し、
verboseモードがオンの場合は、相関識別子が表示されます。
指定したキュー・スペースの内部構造体を開き、初期化します。コマンド行でキュー・スペースを指定しなかった場合は、プログラムがその入力を要求します。キュー・スペースがすでに
qmadminで開かれている場合は、閉じられます。
現在未処理のトランザクションのトランザクション表情報を表示します。トランザクション識別子、インデックス、トランザクション・ステータスが表示されます。インデックスは、
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オプションを使用すると、システムがメッセージをキューに登録するときにメッセージに割り当てられるメッセージIDの値を指定できます。メッセージIDはキュー内で一意であり、長さは最大32文字です。32文字よりも短い値は、右側にnull値(0x0)が埋め込まれます。バックスラッシュや表示できない文字(空白、改行、タブなど)は、バックスラッシュの後に、その文字を表す2文字の16進数値を入力する必要があります(たとえば、空白は\20であり、
hello\20worldのように使用します)。
-iオプションを使用すると、メッセージに関連付ける相関識別子を指定できます。識別子の値はアプリケーションによって割り当てられ、キューに登録されたメッセージと一緒に格納されます。また、応答メッセージまたはエラー・メッセージのレスポンスと一緒に格納するために渡されます。これにより、アプリケーションが特定のリクエストのレスポンスを識別できるようになります。値は最長32文字です。32文字よりも短い値は、右側にnull値(0x0)が埋め込まれます。バックスラッシュや表示できない文字(空白、改行、タブなど)を入力するには、バックスラッシュの後に、その文字を表す2文字の16進数値を入力する必要があります(たとえば、空白は\20であり、
my\20ID\20valueのように使用します)。
-d delivery_modeオプションの有効値は、
persistと
nonpersistです。このオプションは、オペレータが配信方法に基づいて処理を実行できるように、
qscanで選択されたメッセージの配信モードを指定します。
-eオプションを使用すると、有効期限または有効期限の範囲を指定できます。
time1と
time2の形式は、
-tオプションの
time1と
time2と同じです。
コマンド
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、キュー・スペースに割り当てる物理ページ数、キューの数、同実行トランザクションの数、キュー・スペースに同時にアタッチされるプロセスの数、一度にキューに入れることができるメッセージの数、キュー・スペースのエラー・キューの名前、キュー・スペースの新エクステントでページを初期化するかどうか、キュー・スペースの初期化とウォーム・スタートのディスク入出力を実行するためのブロッキング要素です。
リクエストされた物理ページ数は
4の倍数に最も近い値に切り下げられます。たとえば、リクエストされたページ数が50の場合、48ページのメモリーが割り当てられ、リクエストされたページ数が52の場合、52ページのメモリーが割り当てられます。エラー・キューには、指定されている最大回数の再試行をすでに実行したメッセージが保存されます(これらのメッセージは、元のキューからエラー・キューに移動されます)。管理者は、このキューが排出されるようにする必要があります。
割り当てられる物理ページは、キュー・スペースのオーバーヘッドを保存できるだけの数(1ページに対し、キューごとに1ページ加算)である必要があります。初期化オプションが「y」または「Y」に指定されている場合、キュー・スペースを保存するのに使用されるスペースが初期化され、このコマンドがしばらく実行される可能性があります。冗長化モードでは、キュー・スペースの初期化が5%完了するごとに、ピリオド(
.)が1つ標準出力に表示されます。初期化オプションがオンになっていないにもかかわらず基本的なデバイスが文字特殊デバイスではない場合、まだそのエクステントに対して指定したサイズに到達していないと、ファイルが初期化されます(つまり、指定されたスペースを割り当てるためにファイルが増加します)。
キュー・スペースの作成時やウォーム・スタート(キュー・スペースの再起動)時にブロックの読取りおよび書込みを行う場合、入出力操作のサイズは、ブロッキング要素によって指定されるディスク・ページ・サイズの倍数として計算されます。
– A actionsオプションは、キューイング・サービス・コンポーネントが同時に処理できる追加のアクション数を指定します。ブロッキング操作の発生時に追加操作を利用できる場合、ブロッキング操作は条件を満たす状態になるまで保留されるように設定されます。ブロッキング操作が保留されると、他の操作リクエストを処理できます。ブロッキング操作が完了すると、その操作に関連する操作は続く操作でも実行できるようになります。ブロッキング操作がリクエストされた時点ですぐに条件を満たす状態にならず、利用可能な操作もない場合には、操作は失敗します。システムでは、キュー・スペースにアタッチ可能なプロセスの数と同じ数だけ操作が予約されているため、それぞれのキュー・マネージャ・プロセスは少なくとも1つブロッキング操作を所有できます。システムによって予約されているブロッキング操作の数を超える場合、管理者は予約数より多くの追加ブロッキング操作に対応できるようにシステムを設定することができます。
– A actionsオプションが指定されていない場合、デフォルトはゼロになります。
– Aオプションが設定されない場合でも、プログラムがそれを要求することはありません。
-n nonpersistent_msg_memoryオプションは、キュー・スペースに含まれるすべてのキューの非永続メッセージ向けに共有メモリー内で予約する領域のサイズを指定します。サイズは、バイト(
b)または(
B)で指定され、ブロック・サイズは、ディスク・ブロック・サイズと同等です。[
bB]接尾辞はオプションで、指定されない場合、デフォルトはブロックになります。
-nオプションが指定されない場合、メモリー・サイズはデフォルトでゼロ(
0)になります。さらに、
-nオプションが指定されない場合でも、プログラムはそれを要求しません。
nonpersistent_msg_memoryの値をバイト(
b)で指定した場合、指定した値がページ当たりのバイト数で除算され(ページ・サイズはディスクのページ・サイズと等しい)、結果が直近の整数に切り捨てられ、そのページ数のメモリーが割り当てられます。たとえば、ページ・サイズを1024バイト(1KB)として考えると、リクエストされた値が2000bの場合は1ページ分(1024バイト)のメモリー割当てが行われ、リクエストされた値が2048bの場合は2ページ分(2048バイト)のメモリー割当てが行われます。ページあたりのバイト数より小さい値をリクエストすると、0ページ(0バイト)が割り当てられます。
nonpersistent_msg_memoryの値をブロック数(
B)で指定し、1メモリー・ブロックが1メモリー・ページと等しいとすると、同じページ数が割り当てられます。たとえば、リクエストされた値が50Bの場合、50ページ分のメモリー割当てが行われます。
キュー・スペースの
nonpersistent_msg_memoryがゼロ(
0)の場合、非永続メッセージ用の領域は確保されません。この場合、非永続メッセージをキューに登録しようとしても失敗します。永続的な記憶域と非永続的な記憶域は互換性がありません。メモリー領域の不足やフラグメント化のために一時的メッセージをキューに登録できない場合、メッセージ用の永続ストレージが十分にあってもキューへの登録操作は失敗します。ディスクの不足やフラグメント化のために永続的メッセージをキューに登録できない場合、メッセージ用の非永続ストレージが十分にあってもキューへの登録操作は失敗します。
– o overflow_memoryオプションは、割り当てられている共有メモリー・リソースの一部またはすべてが使用されているような最大負荷時に対応するために、共有メモリー内で予約するメモリー領域のサイズを指定します。メモリー・サイズはバイト単位で指定されます。追加のオブジェクトは、この追加メモリーから先着順に割り当てられます。追加メモリーに作成されたオブジェクトを閉じるか破棄すると、次にオーバーフローが発生するときに備えてメモリーが解放されます。
– o overflow_memoryオプションが指定されない場合、デフォルトはゼロになります。
– oオプションが設定されない場合でも、プログラムがそれを要求することはありません。この追加メモリー領域では、設定数より多くのオブジェクトを生成できますが、追加メモリーを特定の時点で特定のオブジェクトに対して使用できるとはかぎりません。現在オーバーフロー・メモリーを使用できるのは、アクション、ハンドル、カーソル、オーナー、一時キュー、タイマー、およびフィルタのみです。
qspacedestroy (
qspds) [
-f] [
-y] [
queue_space_name]
指定されたキュー・スペースを破棄するコマンド行で指定していないと、入力するよう求められます。指定したキュー・スペースが
qmadminで開かれている場合は、閉じられます。デフォルトでは、このキュー・スペースにプロセスがアタッチされている場合、またはキュー・スペースのいずれかのキューにリクエストが存在する場合にはエラーが戻されます。リクエストが入っているキューの破棄については、
qdestroyコマンドを参照してください。
-fオプションを指定すると、キューにメッセージがあったり、キュー・スペースにプロセスがアタッチされている場合でも、すべてのキューを「強制的に」削除することができます。このコマンドは、
-yオプションを指定していない場合に確認のためのプロンプトを表示します。コマンドが正常に完了すると、指定されたキュー・スペースの一時的メッセージはすべて失われます。
(
qspl) [
queue_space_name]
キュー・スペースの作成パラメータを一覧表示するコマンド行に指定されていない場合は、プログラムから入力するように要求されます。キュー・スペース名が入力されないと、現在開いているキュー・スペースのパラメータが表示されます。(開いているキュー・スペースがなく、値が入力されないと、エラーが発生します。)キュー・スペースの値(キュー・スペースを
qspacecreateで作成した際の値、または
qspacechangeで最後に変更した際の値)を表示するだけでなく、このコマンドでは、すべてのキュー・スペース・エクステントのサイズが表示されます。システム予約メモリーの容量と構成済の共有メモリーの合計容量も表示されます。共有メモリー・リソース用に割り当てられるメモリー量が、
バイト単位(b)で要求したときの量と一致しない場合もあります。説明と例については、
qspacecreateの
-n nonpersistent_msg_memoryオプションを参照してください。
冗長モードで出力を生成します。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。初期設定は
offです。
シェルにエスケープして、
shellcommandを実行します。
$ QMCONFIG=/dev/rawfs qmadmin
qmadmin - Copyright (c) 1987 ATT; 1991 USL. All rights reserved.
QMCONFIG=/dev/rawfs
# create the list of devices on which the queue space
# can exist; specify two devices, 80000 and 600
# blocks, respectively
# NOTE: the first one will actually contain the device list
#
# create first device on a raw slice
#
> crdl /dev/rawfs 0 80000
Created device /dev/rawfs, offset 0, size 80000 on /dev/rawfs
#
# create another device on a UNIX file
#
> crdl /home/queues/FS 0 600
Created device /home/queues/FS, offset 0, size 600 on /dev/rawfs
#
# if you want a list of the device list
#
> v Verbose mode is now on
> lidl
universal device index. 0:
name: /dev/rawfs
start: 0
size: 20000
free space map(1 entry used 47 available):
size[1]: 79974 addr[1]: 26
universal device index. 1:
name: /home/queues/FS
start: 0
size: 600
free space map(1 entry used 47 available):
size[1]: 600 addr[1]: 0
#
# create a queue space
#
> qspacecreate
Queue space name: myqueuespace
IPC Key for queue space: 42000
Size of queue space in disk pages: 50000
Number of queues in queue space: 30
Number of concurrent transactions in queue space: 20
Number of concurrent processes in queue space: 30
Number of messages in queue space: 20000
Error queue name: ERRORQ
Initialize extents (y, n [default=n]): y
Blocking factor [default=16]: 16
....................
#
# open queue space
#
> qopen myqueuespace
#
# use queue space defaults for queue
> qcreate
Queue name: service1
queue order (priority, time, fifo, lifo): fifo
out-of-ordering enqueuing (top, msgid, [default=none]): top,msgid
retries [default=0]: 1
retry delay in seconds [default=0]: 30
High limit for queue capacity warning (b for bytes used, B for blocks used,
% for percent used, m for messages [default=100%]): 100m
Reset (low) limit for queue capacity warning [default=0m]: 50
queue capacity command: /usr/app/bin/mailadmin myqueuespace service1
#
# get out of the program
#
> q
キューの管理者はOracle Tuxedo管理者と同じでなければなりません。キューが存在するデバイスは、管理者が所有しなければならず、
qmadminは、キューの管理者としてのみ実行できます。キューに割り当てられたIPCリソースはすべて、キューの管理者によって所有され、モード0600で作成されます。
qmadminは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
qchange ...Queue capacityコマンドなど、
qmadmin()セッション内で構成したコマンドを実行するために、Windowsの
CreateProcess()関数は、子プロセスを
DETACHED PROCESSとして生成します。このようなプロセスには、標準入出力のための関連コンソールが
ありません。したがって、たとえば、標準コマンド行構文を使って
dirや
dateなどの組込みコマンドを実行する
qchange ... Queue capacityを設定した後で、標準出力をファイルにパイプまたはリダイレクトすると、コマンド実行が完了した時点でそのファイルは空になります。
この問題を解決する方法として、たとえば、
qchange ... Queue capacity commandを実行するために、
date /t > x.outコマンドでファイルの
date情報を取得します。この処理を対話的に行うには、次のような手順で実行します。
qmadmin
> qopen
yourQspace
> qchange
yourQname
>
go through all the setups... the threshold queue capacity warning,
and so on
> "Queue capacity command: " cmd /c date /t > x.out
この処理を
yourFile.cmdなどのコマンド・ファイルから行う場合は、
date /t > x.outコマンドを
yourFile.cmdに追加し、次のように実行します。
qmadmin
> qopen
yourQspace
> qchange
yourQname
>
go through all the setups... the threshold queue capacity warning,
and so on
> "Queue capacity command: "
yourFile.cmd
『Oracle Tuxedoアプリケーション実行時の管理』
rex - オフラインの正規表現コンパイラおよびテスタ
rex
pattern [
file . . . ]
引数なしで起動する場合、
rexは標準入力から正規表現を読み取り、初期化した文字配列を標準出力に書き込みます。通常、出力はCプログラムにインクルードされます。これにより、実行時間およびプログラムのサイズの両方を節約できます。コマンド
rexは、標準入力(通常は入力ファイルから切り替えられる)の正規表現をコンパイルし、出力を標準出力(通常は出力ファイルに切り替える)に書き込みます。
入力ファイルにはいくつかのパターンがあります。各形式は次のようになります。
name string [
string . . .]
この
nameは出力配列で使用されるCの名前で、
stringは二重引用符で囲んだ正規表現です。複数の
stringが
nameの後にある場合は、1つの
stringに結合されます。(複数の
stringsは、形式を指定しやすいように配慮したものです。)パターンに二重引用符が含まれる場合は、前にバックスラッシュを付ける必要があります。
出力は、Cプログラムにインクルードされるかまたはコンパイルされ、後でロードされます。
rex出力を使用するCプログラムでは、
rematch(abc,line,0)は、名前が
abcである正規表現を
lineに適用します。
cname ���[a-zA-Z_][a-(3c)-Z0-9_]*���
tn ���\\\\(([0-9]{3})$0\\\\)���
���([0-9]{3})$1���
���-���
���([0-9]{4})$2���
/* pattern: ���[a-aA-Z_][a-zA-Z0-9_]*" */
char cname[] = {
040,0,0206,012,0,0210,0141,0172,0210,0101,0132,0137,
... };
/* pattern: "\\\\(([0-9]{3})$0\\\\)([0-9]{3})$1-([0-9]{4})$2" */
char tn[] = {
063,0,050,0202,0225,013,0,03,0206,06,0,0210,060,071,
... };
rexに1つまたは複数の引数を指定して起動することにより、テストするデータをパターンと突き合せることができます。最初の引数は、残りの引数で指定される名前のファイルの各行に適用されるパターン(正規表現)として扱われます。ファイル名の引数が指定されない場合、標準入力が使用されます。特殊なファイル名
-は、標準入力を指す引数として使用できます。
一致するテキストがある場合、一致したものを含む行が出力され、行の一致した部分にアンダースコアが引かれます。さらに、指定されたサブ・パターン用に抽出したすべてのテキストが、別の行に出力されます。
rex '(^| )([0-9]+)$0(|$)'
... or 200 programmers in one week.
This sentense has 3 erors.
I need 12 bad men.
... or 200 programmers in one week.
-----
$0 = `200'
This sentense has 3 erors.
---
$0 = `3'
I need 12 bad men.
----
$0 = `12'
エラーは、ファイルのオープン・エラー、引数エラーなどです。
tlisten [-d device] -l nlsaddr [-u {uid-# | uid-name}][-s][-n sec_principal_name][-c sec_principal_location][-p sec_principal_passvar] [-z bits] [-Z bits ][-j jmxaddr][-m jvm_min_mem][-M jvm_max_mem][-S][-C keyStore][-P keyStorePassword]
tlistenは、ネットワーク独立のリスナー・プロセスで、Oracle Tuxedo ATMIアプリケーション・プロセッサ上で
daemonプロセスとして実行され、たとえば
tmboot(1).など、他のOracle Tuxedo ATMIプロセスに対してリモート・サービス接続を提供します。
tlistenでは、次のコマンド行オプションが使用されます。
ネットワーク・デバイスのフルパス名。このパラメータは省略可能です。それ以前のリリースでは、基底のネットワーク・プロバイダから要求される場合に使用してください。
プロセスが接続をリスニングするネットワーク・アドレス。
表16は、TCP/IPアドレス形式をリストします。
表16
Ipv4、IPv6およびSDPのアドレス形式
|
|
|
|
|
|
|
|
|
|
|
|
tlistenは、ローカル名の解決機能(通常DNS)を利用して
hostnameのアドレスを見つけます。
hostnameはローカル・マシンでなければなりません。ローカル名解決機能によって
hostnameをローカル・マシンのアドレスに明確に解決します。
IPv4の場合、文字列
#.#.#.#はドットで区切った10進数の形式です。ドット区切りの10進数形式では、各
#には
0 -
255の数字を使用します。このドット区切りの10進数は、ローカル・マシンのIPアドレスを表します。どちらの形式の場合も、
port_numberは
tlistenプロセスが入力リクエストに対してリスンするTCPポート番号です。
port_numberは
0 -
65535の数値または名前です。
注意:
|
一部のポート番号は、お使いのシステムで使用されるトランスポート・プロトコル(TCP/IPなど)のために予約されている場合があります。予約されているポート番号を確認するには、トランスポート・プロトコルのドキュメントを調べてください。
|
port_numberに指定する名前は、ローカル・マシンのネットワーク・サービス・データベース内に存在する名前でなければなりません。アドレスは、先頭に「
0x 」をつけ、16進形式で指定することもできます。「
0x 」の後の各文字は、
0 -
9の数字か、
A -
Fまでの英字(大文字/小文字に関係なく)です。16進数の形式は、IPX/SPXやTCP/IPのような任意のバイナリ・ネットワーク・アドレスに使うことができます。アドレスはまた、任意の文字列として指定することもできます。値は、構成ファイル内の
NETWORKセクションの
NLSADDRパラメータに指定された値と同じでなければなりません。
このパラメータに指定するプリンシパル名は、このマシンで実行される1つまたは複数のシステム・プロセスの識別子として使用されます。
デフォルトのLLE接続の代わりにSSL接続を指定します。-sオプションを有効にするには、
UBBCONFIG(5)の
*Resourcesセクションの
SSLオプションに
SSL値
を含める必要があります。
注意:
|
UBBCONFiGの*Resourcesセクションと tlisten SSL の設定が同期していない場合、アプリケーションは起動しません。
|
Oracle Tuxedo 10.0以降のソフトウェアを実行するアプリケーションで認証に使用するためのセキュリティ・プリンシパル名の識別文字列を指定します。このパラメータには、最後のNULL文字を除いて511文字まで指定できます。
-c sec_principal_location
Oracle Walletを使用する場合、サブディレクトリ
wallet.sec_principal_nameを含むディレクトリの場所を指定し、この場所に
-nオプションで指定されたプリンシパル名のOracle Walletが配置されます。従来のTuxedoセキュリティ資格証明形式を使用する場合、これは、
sec_principal_nameで指定されたプリンシパルの復号化(プライベート)キーを収めるファイルまたはデバイスの場所を指定します。ウォレットまたは秘密鍵が
APPDIRの下のディレクトリにある場合は、相対パスを使用してこの場所を指定することもできます。
sec_principal_locationパラメータには最大1023文字を指定できます(最後のNULL文字を除く)。
SEC_PRINCIPAL_NAMEで指定されたプリンシパルのパスワードが格納される変数を指定します。このパラメータには、最後のNULL文字を除いて31文字まで指定できます。
tlistenは、指定されたユーザーとして動作します。このオプションにより、
rootによるシステムの初期化処理の一部として
tlistenを起動できます。
tlistenの実行ユーザーが
rootである場合には、このオプションは必須です。したがって、
tlistenプロセスは
rootが実行したり、
rootまたは
non-rootとして実行したりすることが可能です。
tlistenコマンドを
root以外のユーザーが使用する場合には、
-uオプションは必要はありません。
root以外のユーザーは
-uオプションを設定することはできますが、このオプションにはそのユーザー自身のユーザーIDにしか設定できないので、あまり意味はありません。プロセッサ上での
tlistenプロセスは、使用するアプリケーション管理ユーザーIDが同じであるOracle Tuxedo ATMIアプリケーションすべてをサポートできます。
-z [
0 |
40 |
56 |
128|256]
Oracle Tuxedoの管理プロセスと
tlistenとの間のネットワーク・リンクを確立する場合の、最小レベルの暗号化を指定します。
0は暗号化が行われないことを示し、
40,
56,
128,および
256は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルト値は
0です。
注意:
|
リンク・レベルの暗号化の値40は、後方互換性を維持するために提供されています。 256ビットの暗号化は、現時点ではSSLを使用している場合にのみ指定できます。 このリリースのOracle Tuxedoでは、0ビット、40ビットまたは56ビットのSSLの暗号化鍵はサポートされません。暗号化鍵の最小サイズは112です。min-max値が40または56で構成されている場合は、112がデフォルトで使用されます。
|
-Z [
0 |
40 |
56 |
128|256]
Oracle Tuxedoの管理プロセスと
tlistenとの間にネットワーク・リンクを確立する場合の、最大レベルの暗号化を指定します。
0は暗号化が行われないことを示し、
40,
56,
128,および
256は暗号化キーの長さをビット単位で指定します。デフォルト値は
128です。
注意:
|
リンク・レベルの暗号化の値40は、後方互換性を維持するために提供されています。 256ビットの暗号化は、現時点ではSSLを使用している場合にのみ指定できます。 0ビットの最大暗号化レベルは、 -s SSL接続オプションとは互換性がありません。 このリリースのOracle Tuxedoでは、0ビット、40ビットまたは56ビットのSSLの暗号化鍵はサポートされません。暗号化鍵の最小サイズは112です。min-max値が40または56で構成されている場合は、112がデフォルトで使用されます。
|
このオプションは、埋込みJMXエージェントの起動に使用します。
jmxaddrで、埋込みJMXエージェントのRMIコネクタのアドレスを指定します。アドレスが他のプロセスに占有されていた場合、ULOGにエラーメッセージが出力され、JMXエージェントは起動しません。
|
|
rmi://hostname:port_number
|
rmi://[IPv6 address]:port
rmi://hostname:port_number
|
rmi://#.#.#.#:port_number
|
|
注意:
|
MPドメインの場合、 tlistenの -jオプションをすべてのマシン・ノードに構成する必要があります。
|
このオプションで、JMXエージェントが使用するJVMに割り当てる必要最低限のメモリー・サイズをMB単位で指定します。デフォルトの値は200MBです。
このオプションで、JMXエージェントが使用するJVMに割り当て可能な最大のメモリー・サイズをMB単位で指定します。
jvm_max_memの値を
jvm_min_memの値より低く設定すると、JVMは作成されず、JMXエージェントは起動しません。デフォルトの値は500MBです。
このオプションで、EM OMS/エージェントとJMXエージェントの間のデフォルト接続ではなく、SSL接続を指定します。
このオプションで、
keyStore絶対パスを指定します。
このオプションで、キーストアのパスワードを保管する環境変数を指定します。この変数は、
ttyが追加されない場合にのみ有効です。
tlistenプロセスは、ほとんどのサービス・リクエストを認証します。
tlistenは、パスワードの一覧ファイルを読み取ります。サービスをリクエストするプロセスは、そのファイル内にあるパスワードを少なくとも1つ提示しなければなりません。
APPDIR環境変数が設定された場合、
APPDIR/.adm/tlisten.pwという名前のファイルからパスワードが取得されます。
注意:
|
パスワードが入力されると、 tlisten.pwファイルが暗号化されます。新しいパスワードを追加する場合は、 tlistpwd(1)を使用する必要があります。新しいパスワードは画面には表示されません。
|
既存のパスワードを削除するには、
tlisten.pwの対応する行を削除する必要があります。
tlistenパスワードを作成および使用する場合は、全く同じ
TUXDIRを使用する必要があります。
Tuxedo 11gR1をMPモードでマスターとして使用する際、旧バージョンのTuxedoをインストールしてインストール後にtlistenパスワードを
変更しなかった場合、セキュリティ・ネゴシエーション・エラー・メッセージ
CMDTUX_CAT:4291が表示されます。この問題を解決するには、(前のTuxedoバージョンで)1つの空白行を
$TUXDIR/udataobj/tlisten.pw tailに追加する必要があります。
このファイルが見つからない場合、システムは、Oracle Tuxedo ATMIシステムがインストールされる際に作成される
TUXDIR/udataobj/tlisten.pwを探します。長さがゼロであったり、パスワードがないファイルでは、パスワード・チェックが無効になります。この安全でないモードで実行すると、
tlistenや
tlistenに接続しているすべてのプロセスがユーザー・ログの警告メッセージを生成します。
tmbootなどのように、
tlistenからサービスをリクエストするプロセスは、認証の際に使用するパスワードをプロセスが稼働しているマシンのファイルから検索します。このとき、
tlistenと同じ方法でパスワード・ファイルを検索します。
•
|
APPDIRは、 tlistenパスワード・ファイルの位置を検索するために設定します。
|
•
|
共有オブジェクトを使用するSVR4アプリケーションの場合、環境変数LD_LIBRARY_PATHを設定する必要があります。 tlistenプロセスを開始する前に TUXDIR/libに設定してください。一部のUNIXシステムでは異なる環境変数が必要です: HP-UXシステムでは SHLIB_PATH環境変数、AIXでは LIBPATHを使用します。
|
•
|
IPバージョンを切り替えるにはTMUSEIPV6を使用する。 n|NにするとデフォルトのIPv4値になり、 y|YにするとIPv6値に設定されます。MPモードでは、スレーブ・マシン上で tlisten実行する前に TMUSEIPV6に y|Yを設定する必要があります。
|
•
|
tlistenを実行する前に、 TUXDIRを設定しエクスポートしておく必要があります。
|
•
|
ULOGPFXは、ログ・メッセージを格納しているファイルを送信するのに使用できます。
|
注意:
|
インストールの間に管理パスワード・ファイルが作成されます。Oracle Tuxedo ATMIシステムでは、必要に応じて次のディレクトリでこのファイルを検索します。検索順序は次のとおりです。
|
•
|
TUXDIR/udataobj/tlisten.pw
|
管理パスワード・ファイルが確実に見つかるように、必ず
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は、ポート番号2334が16進数に変換された値です。その後、IPアドレス155.2.193.12の各要素は16進数に変換されています。つまり、155は9B、2は02というようになります。
//[fe80::202:55ff:fecf:50b]:9010
注意:
|
注意: IPv6では16進数形式はサポートされません。
|
STARLANネットワークの場合は、通常、推奨アドレス
uname.
tlistenがユニークな名前になります。
コントロール・パネル・アプレットを介してリモートWindowsマシン上で
tlistenプロセスを起動するためには、そのリモート・マシンに対する管理者権限が必要です。
tlistpwd(1) - システムによって暗号化された
tlisten.pwファイルに対してパスワードを追加または変更するために使用
パスワードが入力されると、
tlisten.pwファイルが暗号化されます。新しいパスワードを追加する場合は、
tlistpwd(1)を使用する必要があります。新しいパスワードを
$TUXDIR/udataobj/tlisten.pwの末尾に追加します。既存のパスワードを削除するには、
tlisten.pwの対応する行を削除する必要があります。
tlistenパスワードを作成および使用する場合は、全く同じ
TUXDIRを使用する必要があります。
tlistpwd(1)は、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
•
|
ユーザー・パスワードは80文字未満でなければなりません。
|
•
|
このコマンドを実行する前に $TUXDIR環境変数を定義する必要があります。
|
正常に実行された場合、
tlistpwdは終了し、
0を戻します。
tlistpwd /home/usr/tuxedo10gR3
Please enter the tlisten password:
Please verify the password:
tlistpwd: INFO: Password appended at the end of file "/home/usr/tuxedo10gR3/udataobj/tlisten.pw".
tmadmin - Oracle Tuxedo掲示板コマンド・インタプリタ
tmadmin [ -r ] [ -c ] [ -v ]
tmadminは、このエントリに指定されるコマンドを使用して、掲示板や関連するエンティティの調査と修正の機能を単一プロセッサ、マルチ・プロセッサまたはネットワーク環境に提供します。
TUXCONFIGおよび
TUXOFFSET環境変数を使用して、Oracle Tuxedo構成ファイルがロードされる場所とオフセットを判別します。
tmadminでは以下のオプションがサポートされます。
tmadminを
-cオプションを指定して呼び出すと、構成モードになります。有効なコマンドは、
default、
echo、
help、
quit、
verbose、
livtoc、
crdl、
lidl、
dsdl、
indlおよび
dumptlogのみです。
tmadminは、非アクティブ・ノードを含むすべてのノードでこのモードで呼び出すことができます。ノードがアクティブとみなされるのは、
tmadminが、(実行している
BBLを介して)管理プロセスまたはクライアントとしてアプリケーションに参加できる場合です。
-rオプションを使用すると、
tmadminは、管理者としてではなくクライアントとして掲示板に参加します。つまり、読取り専用モードをリクエストします。これは、管理者プロセス用スロットを非占有状態にしておく場合に有用です。
注意:
|
-rオプションを使用すると、このオプションなしで tmadminを実行した際に取得される情報の一部しか得られないことに注意してください。特に、 tmadmin -rを実行した場合、リモート・サイトで動作しているサーバーの負荷値は取得できません。
|
管理プロセスになれるのは、一度に1つの
tmadminプロセスのみです。Oracle Tuxedo管理者以外のユーザーが
-rオプションを指定し、セキュリティがオンになっている場合、ユーザーはパスワードを求められます。
-vオプションを使用して
tmadminを実行すると、Oracle Tuxedoのバージョン番号とライセンス番号が表示されます。情報を出力した後、
tmadminは終了します。その他2つのオプションは、
-vオプションと共に使用しても無視され、
-vオプションによってリクエストされる情報だけが表示されます。
通常、
tmadminは、アクティブ・アプリケーション内のどのアクティブ・ノード上でも実行可能です。パーティション化されたアクティブ・ノードで実行する場合、またはマスター・ノードで使用可能なNLSがない場合は、ローカル掲示板への読取り専用アクセスを行うコマンドに制限されます。このようなコマンドは、
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 (
UBBCONFIGファイルの
MACHINESセクションに指定される論理
machine ID (
LMID))を設定することで、1つの掲示板にアクセスできます。
default machineに
allを設定すると、すべての掲示板にアクセスします。
machineに
DBBLを設定すると、特殊掲示板が使用されます。
default machineはプロンプトの一部(たとえば
MASTER>)として表示されます。
defaultコマンドによって
machineが設定されていない場合、
DBBLが使用されます。SHM構成ではローカルBBLが使用されます。
コマンドの
machine値は、通常は
default設定から取得できます(たとえば、
printserver)。ただし、この場合は注意が必要です。一部のコマンド(
TLOGコマンドなど)は、
TUXCONFIGで検出されたデバイスに対して作動するためです。
DBBLまたは
allの
default設定によってエラーが生成されます。一部のコマンド(
logstartなど)では、コマンド行で
machineの値を指定する必要があります。この値は、
-mオプションの引数としては表示されません。
一度設定したデフォルト値は、
defaultコマンドで変更しないかぎり、セッション終了まで有効です。このデフォルト値は、コマンド行で明示的に値を入力してオーバーライドするか、「*」を入力して設定解除します。オーバーライドの効果は、コマンドの単一のインスタンスの間有効です。
tmadminコマンドの出力は、ページ別表示コマンドを指定することでページ別に表示できます。後述の
paginateサブコマンドの説明を参照してください。
詳細情報または要約情報を出力するコマンドがあります。
verboseコマンドは、デフォルトの出力レベル設定に使用します。ただし、各コマンド(
boot、
shutdownおよび
configを除く)には、そのコマンドのみ詳細または要約情報を出力するための
-vまたは
-tオプションがあります。要約モードで出力すると、一部の情報(
LMIDまたは
GROUP名、サービス名、サーバー名など)は省略されることがあります。省略された場合は、値の末尾にプラス記号(+)が付加されます。情報をすべて表示するには、詳細モードでコマンドを再入力します。
コマンドは、完全な名前または省略形(カッコ内に示す形式)で入力できます。その後に適切な引数を指定します。大カッコ[ ]で囲まれている引数は省略可能で、中カッコ{ }で囲まれている引数は、相互に排他的な選択肢を示します。大カッコで囲まれていないコマンド行オプションは、対応するデフォルトが
defaultコマンドで設定されている場合は、コマンド行に指定しなくてもかまいません(任意に指定できます)。中カッコで囲まれた一連のオプションの後の省略記号(
{}...)は、複数のオプションをコマンド行に指定できることを示します(少なくとも1つのオプションは指定する必要があります)。
aborttrans (
abort)
[ -yes ] [-g groupname[-R rmid]] tranindex
コマンド行またはデフォルトにより
groupnameが指定されると、指定サーバー・グループの指定されたトランザクション索引(
tranindex)に対応するトランザクションを中断させます。このオプションの指定がない場合は、トランザクションのコーディネータにグローバル・トランザクションの中断を通知します。トランザクションがすでに決定されており、その決定がコミットである場合は、
aborttransは失敗します。索引には、
printtransコマンドを前回実行したときの結果が使用されます。トランザクションを完全に終了させるには、そのトランザクションに関わっているすべてのグループに対して
printtransおよび
aborttransを実行する必要があります。
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。
-Rオプションは、
-gオプションとともに使用し、
rmidの値が
1以上
31以下でなければなりません。
advertise (
adv)
{-q qaddress [ -g groupname ]
[-i srvid] | -g groupname -i srvid} [-f SINGLETON|SECONDARYRQ] service[:func]
指定されたサービスのサービス表にエントリを作成します。
serviceを関数
funcにマッピングできます。
qaddressが指定されていない場合は、
groupnameと
srvidを指定し、サーバーを一意に識別する必要があります。この
serviceをMSSQセットに追加すると、セットのすべてのサーバーがサービスを通知します。MSSQセットのすべてのサーバーがそのサービスを通知できない場合、通知は許可されません。「.」で始まるサービスは、システム・サーバーが使用するために予約されています。アプリケーション・サーバー用には通知できません。
SINGLETONを指定した場合は、サービスがドメイン内で一意のサービスであることを示します。
SECONDARYRQを指定した場合は、サービスをセカンダリ・リクエスト・キューにのみ通知できることを示します。
マシン
machineに存在する掲示板および
DBBLにアクセスするすべてのプログラムの整合性をチェックします。
bbcleanは、使用不能のサーバーを正常に削除し、再起動可能とマークされている場合は再起動します。どのプロセスにも関連しなくなったリソースも削除します。
bbcleanは最後に、
DBBLが各
BBLのステータスをチェックするようにします。いずれかの
BBLが指定した
SCANUNIT (秒)内に応答しない場合は、パーティション化されているものとしてマークされています。特殊掲示板のみを消去するには、
machineを
DBBLとして指定する必要があります。SHMモードでは、
BBLで障害が発生しても
bbcleanによって再起動されます。
machineパラメータは任意です。
サーバー、オブジェクト、インタフェースおよびサービスの最大数など、掲示板に関するパラメータの要約を表示します。
マシン
machine上の掲示板のIPCリソースのリストを表示します。
SHMモードでは、
machineパラメータは任意です。リモート・マシンからの情報は使用できません。
掲示板に関する統計情報の要約を表示します。(
「shmstats」も参照してください。)
このコマンドは
tmboot()コマンドと同じです。オプションの説明および使用上の制限事項については、
「tmboot(1)」を参照してください。
broadcast (
bcst)
[-m machine] [-u usrname] [-c cltname] [text]
選択されたすべてのクライアントに任意通知型メッセージをブロードキャストします。送信されるメッセージは、データが
textで
STRING型の型付きバッファです。
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
現在実行しているプロセスの実行時パフォーマンス・モニタリング動作を
newspecに変更します。
changepriority (
chp)
[-m machine] {-q qaddress [-g groupname]
[-i srvid] -s service | -g groupname -i srvid -s service | -I interface [-g groupname]} newpri
指定したサービスまたはインタフェースをキューから取り出すときの優先度を
newpriに変更します。
qaddressが指定されない場合は、
groupnameと
srvidの両方を指定する必要があります。CORBA環境では
interfaceを指定できます。
machineが
allに設定される場合、または何も設定されない場合は、すべてのマシンで変更が行われます。それ以外の場合、ローカルの変更が指定された
machineで行われます。ローカルの変更は、その後のグローバル(またはローカル)の変更によってオーバーライドされます。
changetrace (chtr) [-m machine] [-g groupname[-R rmid] [-i srvid [-s service] ] ] newspec
現在実行しているプロセスの実行時トレース動作を
newspecに変更します。(
newspecの構文は、
「tmtrace(5)」を参照してください。)
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。
-Rオプションは
-gオプションとともに使用する必要があり、
rmidは、
1以上
31以下でなければなりません。
実行中の特定のサーバー・プロセスのトレース仕様を変更するには、
-gおよび
-iオプションを指定します。特定のグループで現在実行中のすべてのサーバー・プロセスの構成を変更するには、
-gオプションを
-iオプションなしで指定します。
特定のマシンで実行中のすべてのクライアントおよびサーバー・プロセスの構成を変更するには、
-mオプションを指定します。
-g、
-iおよび
-mのいずれのオプションも指定しなかった場合は、デフォルトのマシンのすべての非管理のプロセスが対象となります。このコマンドは、現在実行中でないクライアントもしくはサーバー、またはワークステーション・クライアントの動作には影響を与えません。
-sオプションを指定すると、サービス・レベルのトレースを構成できます。
サービス・レベルのトレースをアクティブ化または非アクティブ化するには、
group name、
server idおよび
service nameを同時に設定する必要があります。このコマンドでは、ローカル共有メモリー内のサービス・レベルのトレース動作のみが変更されます。Oracle Tuxedoが停止されると、サービス・レベルのトレース情報はクリアされます。
同時に異なるサービスに異なるトレース形式を設定できます。サービス・レベルのトレース形式は、サーバー・レベルのトレースと同じです。サービス・レベルのトレースは、SHMモードとMPモードに対して有効です。
サービス・レベルのトレース動作を
表18に示します。
checktrace (chktr) [-m machine] [-g groupname [-s srvid [-s service] ] ]
特定のサービスのトレース仕様を確認するには、
-g、
-iおよび
-sオプションを使用します。
実行中の特定のサーバー・プロセスのトレース仕様を確認するには、
-gおよび
-iオプションを使用します。
特定のグループで現在実行中のサーバー・プロセスの構成を確認するには、
-gオプションを
-iオプションなしで使用します。
特定のマシンで実行中のすべてのクライアントおよびサーバー・プロセスの構成を確認するには、
-mオプションを指定します。
-g、
-i、
-sおよび
-mのいずれのオプションも使用しなかった場合は、デフォルトのマシンのすべての非管理のプロセスが確認されます。
changetrantime (
chtt)
[-m machine] {-q qaddress [-g groupname] -
[-i srvid] -s service | -g groupname -i srvid -s service | -I interface [-g groupname]} newtlim
指定したサービスまたはインタフェースのトランザクション・タイムアウト値を
newtlimに変更します。
qaddressが指定されない場合は、
groupnameと
srvidの両方を指定する必要があります。CORBA環境では
interfaceを指定できます。
machineが
allに設定される場合、または何も設定されない場合は、すべてのマシンで変更が行われます。それ以外の場合、ローカルの変更が指定された
machineで行われます。ローカルの変更は、その後のグローバル(またはローカル)の変更によってオーバーライドされます。
committrans (commit) [ -yes ] [-g groupname[-R rmid]] tranindex
指定したサーバー・グループの指定したトランザクション・インデックス
tranindexのトランザクションをコミットします。指定したサーバー・グループでトランザクションがプリコミットされていない場合、またはトランザクションが中断のみとして認識されている場合、
committransは失敗します。索引には、
printtransコマンドを前回実行したときの結果が使用されます。
-yesオプションを指定せずに、このコマンドを実行すると、処理を進める前に確認を求められます。
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。
-Rオプションは
-gオプションとともに使用する必要があり、
rmidは、
1以上
31以下でなければなりません。
crdl -b blocks -z config -o configoffset [
-O newdefoffset ] [
newdevice ]
汎用デバイス・リストにエントリを作成します。
blocksによって、デバイスに割り当てられる物理ブロック数が指定されます。デフォルトの
blocks値は1000ブロックに初期化されます。
configoffsetには、領域の割当てを開始するブロック番号を指定します。
-oオプションを指定せず、デフォルト値も設定されていない場合は、環境変数
FSOFFSETの値が使用されます。
FSOFFSETが指定されない場合、デフォルトは0です。
configは最初のデバイス(デバイス・リストを含む)を指します。絶対パス名(先頭が/)を指定する必要があります。
-zオプションが指定されず、デフォルトが設定されていない場合は、
FSCONFIG環境変数で指定されるパスが使用されます。
crdlコマンドの
newdevice引数を指定する場合は、作成するデバイスを指す絶対パス名(先頭が/)を指定する必要があります。このパラメータが指定されない場合、
newdeviceのデフォルトはconfigデバイスになります。
newdefoffsetでは、
newdeviceの開始位置のオフセットを指定します。
-O (大文字のO)オプションが指定されない場合、デフォルトは0 (ゼロ)です。
指定またはデフォルトの
machine (「DBBL」または「all」は設定できません)に対してDTPトランザクション・ログを作成します。構成ファイル
TLOGがそのマシン用に定義されていなければ、エラーになります。このコマンドは
TUXCONFIGファイルを参照して、
TLOGを格納しているOracle Tuxedoファイル・システム、そのファイル・システム内での
TLOGの名前、オフセットおよびサイズを判別します(
「UBBCONFIG(5)」を参照)。
default (
d)
[-g groupname] [-i srvid] [-m machine] [-u usrname] [-c cltname]
[-q qaddress] [-s service] [-b blocks] [-o offset] [-z config] [-a { 0 | 1 | 2}] [-I interface] [-B objectid] [-r routingname]
対応する引数をデフォルトのグループ名、サーバーID、マシン、ユーザー名、クライアント名、キュー、サービス名、デバイス・ブロック、デバイス・オフセット、あるいはUDL構成デバイス・パス(/で始まる絶対パス名でなければなりません)などに設定します。
-aオプションについては、
printserviceを参照してください。CORBA環境では、対応する引数に、デフォルトのオブジェクトのインタフェース名、オブジェクトIDまたはファクトリ・ベースのルーティング名を設定することもできます。
-Bを使用してオブジェクトIDパラメータを指定している場合、マシン引数(
-m)も指定する必要もあります。すべてのデフォルト値は、引数として
*を指定することにより設定を解除できます。
machineに設定されている場合、以降の検索を特殊掲示板から行わせるには、
machineに
DBBLを設定する必要があります。
machineの設定解除(
-m *)は
DBBLの設定と等値です。
defaultコマンドを引数なしで入力した場合は、現在のデフォルトの値が表示されます。
dsdl [
-yes ]
-z config [
-o offset ]
dlindex
汎用デバイス・リストにあるエントリを破棄します。
dlindex引数は、デバイス・リストから削除するデバイスの、汎用デバイス・リストでの索引です。エントリ0を削除するには、最初にすべての
VTOCファイルおよび他のデバイス・リストを破棄する必要があります(エントリ0には、デバイス・リストと目次を保持するデバイスが含まれるため、エントリ0を破棄するとこれら2つの表も破棄されるためです)。
configには、汎用デバイス・リストを含むデバイスを指す絶対パス名(先頭が/)を指定する必要があります。
-zオプションが指定されず、デフォルトが設定されていない場合は、
FSCONFIG環境変数で指定されるパスが使用されます。
offsetによって、
configにオフセットが指定されます。
-oオプションを指定せず、デフォルト値も設定されていない場合は、環境変数
FSOFFSETの値が使用されます。
FSOFFSETが設定されていないと、デフォルトは0です。
-yesオプションを指定せずに、このコマンドを実行すると、処理を進める前に確認を求められます。
dslog (
dslg) [
-yes ]
-m machine
指定またはデフォルトの
machine (「DBBL」または「all」は指定できません)のDTPトランザクション・ログを破棄します。
TLOGがマシンに定義されていない場合、アプリケーションが非アクティブでない場合、あるいは未処理のトランザクション・レコードがログに残っている場合には、エラーが戻されます。「未処理のトランザクション」とは、グローバル・トランザクションがすでにコミットされているが、トランザクションの終了がまだ書き込まれていないトランザクションのことです。このコマンドは、
TUXCONFIGファイルを参照して、
TLOGを収めているOracle Tuxedoファイル・システム、およびそのファイル・システム内の
TLOGの名前を判別します。
-yesオプションを指定せずにこのコマンドを実行すると、処理を進める前に確認を求められます。
現在の掲示板をファイル
filenameにダンプします。
dumptlog (
dl)
-z config [ -o offset ] [ -n name ] [-g groupname[-R rmid]]
filename
指定された
filenameに
TLOGのテキストをダンプします。
TLOGは、
configと
offsetで指定された場所にあり、名前は
nameで指定されます。
-nオプションが指定されず、デフォルトも設定されていない場合は、「TLOG」という名前が使用されます。
configには、汎用デバイス・リストを含むデバイスを指す絶対パス名(先頭が/)を指定する必要があります。
-zオプションが指定されず、デフォルトが設定されていない場合は、
FSCONFIG環境変数で指定されるパスが使用されます。
-o offset オプションを使用すると、
configのオフセットを指定できます。
-oオプションを指定せず、デフォルト値も設定されていない場合は、環境変数
FSOFFSETの値が使用されます。
FSOFFSETが設定されていないと、デフォルトは0です。
groupnameが指定されると、そのグループがコーディネータとなっているトランザクションのログ・レコードだけがダンプされます。
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。
-Rオプションは
-gオプションとともに使用する必要があり、
rmidは、
1以上
31以下でなければなりません。
onに設定すると、入力コマンド行をエコーします。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。初期設定は
offです。
help (
h) [{
command |
all}]
ヘルプ・メッセージを出力します。
commandを指定すると、そのコマンドの省略形、引数、および説明が出力されます。
allを指定すると、すべてのコマンドの説明が表示されます。引数をすべて省略すると、すべてのコマンドの構文が表示されます。
initdl (
indl) [
-yes ]
-z config [
-o offset ]
dlindex
デバイス・リストのデバイスを再初期化します。引数
dlindexは、再初期化するデバイスの汎用デバイス・リストでの索引です。指定されたデバイスのすべての領域が解放されます。つまり、デバイスに格納されているすべてのファイルなどは上書きされることになります。このコマンドを使用するときは注意してください。
-yesオプションが使用されない場合、このコマンドは、実行の前に確認のためのプロンプトを表示します。
configには、汎用デバイス・リストを含むデバイスを指す絶対パス(先頭が/)を指定する必要があります。
-zオプションが指定されず、デフォルトが設定されていない場合は、
FSCONFIG環境変数で指定されるパスが使用されます。
-o offset オプションを使用すると、
configのオフセットを指定できます。
-oオプションを指定せず、デフォルト値も設定されていない場合は、環境変数
FSOFFSETの値が使用されます。
FSOFFSETが設定されていないと、デフォルトは0です。
inlog [
-yes ]
-m machine
指定されたマシンまたは
default machine (「DBBL」または「all」は設定できません)のDTPトランザクション・ログを再初期化します。
TLOGがマシンに定義されていない場合、またはアプリケーションが非アクティブでない場合は、エラーが戻されます。未処理のトランザクションが
TLOGに存在する場合、それらのトランザクションの参加者として動作するリソース・マネージャ間でデータが矛盾することがあります。リソース・マネージャが、ローカル・トランザクションを正しくコミットせずに中断した可能性があるためです。このコマンドは、
TUXCONFIGファイルを参照して、
TLOGを収めているOracle Tuxedoファイル・システム、およびそのファイル・システム内の
TLOGの名前を判別します。
-yesオプションを指定せずにこのコマンドを実行すると、処理を進める前に確認を求められます。
interfaceparms (
ifp)
-g groupname -I interface
インタフェースの名前やそれに関連するロード、優先度、タイムアウト、トランザクションのタイムアウト値などの特定のオブジェクト・インタフェースに関する情報を表示します。
groupnameおよび
interfaceの引数は一意でなければなりません。このコマンドは、CORBA環境でのみ使用されます。
lidl -z config [
-o offset ] [
dlindex ]
汎用デバイス・リストを表示します。デバイスごとに、名前、先頭ブロックおよびデバイスのブロック数が一覧表示されます。冗長モードでは、未使用領域を示すマップが表示されます(未使用領域の先頭アドレスおよびサイズ)。
dlindexが指定されない場合は、そのデバイス・リスト・エントリの情報のみが表示されます。
configには、汎用デバイス・リストを含むデバイスを指す絶対パス名(先頭が/)を指定する必要があります。
-zオプションが指定されず、デフォルトが設定されていない場合は、
FSCONFIG環境変数で指定されるパスが使用されます。
-o offset オプションを使用すると、
configのオフセットを指定できます。
-oオプションを指定せず、デフォルト値も設定されていない場合は、環境変数
FSOFFSETの値が使用されます。
FSOFFSETが設定されていないと、デフォルトは0です。
livtoc -z config [
-o offset ]
VTOC表のすべてのエントリについて情報を表示します。各エントリについて表示される情報は、
VTOC表の名前、VTOC表のあるデバイス、デバイスの先頭からの
VTOC表のオフセットおよびこの表に割り当てられているページ数があります。
configには、汎用デバイス・リストを含むデバイスを指す絶対パス名(先頭が/)を指定する必要があります。
-zオプションが指定されず、デフォルトが設定されていない場合は、
FSCONFIG環境変数で指定されるパスが使用されます。
-o offset オプションを使用すると、
configのオフセットを指定できます。
-oオプションが指定されていない場合は、環境変数
FSOFFSETの値が使用されます。
FSOFFSETが設定されていないと、デフォルトは0です。
loadtlog -m machine filename
TLOGのテキスト・バージョンを、指定した
filename (
dumptlogにより生成される)から、名前付きまたは
default machine (「DBBL」または「all」にはできません)用の既存の
TLOGに読み取ってください。
指定マシン
machine上で
TLOG情報のウォーム・スタートを強制実行します。このコマンドは通常、
loadtlogの実行後、サーバー・グループの移行の際のディスク再配置に続いて行うようにしてください。
パーティション化時に
masterがバックアップ・ノードで動作していると、このバックアップ・ノードはマスター・ノードに変わり、DBBLが起動されて管理プロセスを引き継ぎます。バックアップ・ノードがマスターとして動作しているときに、
masterをマスター・ノード上で実行すると、そのDBBLはマスター・ノードに移行し、バックアップ・ノードはその時点でマスター・ノードとしての働きを停止します。
-yesオプションを指定せずにこのコマンドを実行すると、処理を進める前に確認を求められます。
migrategroup (
migg) [
-cancel]
group_name
migrategroupコマンドはサーバー・グループ名を引数とします。構成ファイルに
MIGRATEオプションとそのグループの代替位置の指定があれば、
group_nameに属するすべてのサーバーは代替位置に移行します。移行の際には、次のコマンドを実行してサーバーを停止する必要があります。
-Rオプションでは、移行を可能にするために掲示板のサーバー名が保持されます。
shutdown -R後に次のコマンドによって移行を取り消すことができます。
migrategroup -cancel groupname
-cancelオプションでは、サーバー名が掲示板から削除されます。
migratemach (migm) [-cancel] machine
指定マシン
machine上で動作しているすべてのサーバーが代替位置に移行します。移行の際には、次のコマンドを実行してサーバーを停止する必要があります。
migratemachineコマンドを使用する場合、
machine上にあるすべてのサーバー・グループには、同じ代替場所が必要です(そうでない場合、
migrategroupを使用する必要があります)。Domainsゲートウェイ・サーバーを含む
LMID (マシン)の移行では、これらのゲートウェイ・サーバーの代替
LMIDへの移行が暗黙に行われます。
-cancelオプションを指定すると、すでに処理中の移行が取り消されます。つまり、
tmshutdown -Rコマンドによってサーバーは停止されていますが、移行されていない状態です。
paginate (
page) [{
off | on}]
出力をページ単位で表示します。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。標準入力または標準出力が非端末デバイス
でないかぎり、初期設定はonです。標準入力と標準出力の両方が端末デバイス
の場合にのみonに設定できます。
デフォルトのページ単位表示コマンドは、オペレーティング・システム環境によって異なります。たとえば、UNIXオペレーティング・システム環境では、
pgがデフォルトのコマンドです。シェル環境変数
PAGERを使用すると、ページ別表示出力に使用されるデフォルトのコマンドをオーバーライドすることができます。
セキュリティが必要なアプリケーションで、新しいアプリケーション・パスワードを管理者に入力するように要求します。
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]
ドメイン内でアクティブなオブジェクトに関する情報を表示します。オブジェクトID、インタフェース名、サービス名、プログラム名、グループID、プロセスID、リファレンス・カウントなどが出力されます。このコマンドでは、オブジェクトIDおよびマシンIDはオプション・パラメータです。オブジェクトIDが指定されていない場合、すべてのアクティブなオブジェクトの情報が出力されます。マシンIDが指定されていない場合、コマンドを発行したマシン上でアクティブなすべてのオブジェクトの情報が出力されます。128文字を超えるオブジェクトIDは、40文字の英数字から構成されるハッシュ値として表示されます。
ファクトリ・ファインダに登録されているオブジェクト・ファクトリに関する情報を出力します。インタフェース名、インタフェースのファクトリ識別子、現在のファクトリ・ステータスの属性などが出力されます。このコマンドには引数はありません。このコマンドは、CORBA環境でのみ使用されます。
printgroup (
pg)
[-m machine] [-g groupname]
サーバー・グループ表情報を表示します。デフォルトでは、すべてのグループの情報を表示します。
-gおよび
-mオプションやデフォルト値を使用して、特定のグループやマシンに関する情報を出力できます。サーバー・グループ名、サーバー・グループ番号、一次/代替LMIDおよび現在の位置などの情報が得られます。
printinterface (pif) [
-m machine] [
-g groupname] [
-I interface]
指定されたオブジェクト・インタフェースの情報(インタフェース名、キュー名、グループID、マシンID、ルーティング名、およびインタフェースによるリクエスト数)を表示します。このコマンドには、マシン名、グループ名およびインタフェース名をオプション・パラメータとして指定できます。マシン名を指定すると、インタフェースのアクティブ・オブジェクト数が表示されます。それ以外の場合は、アクティブ・オブジェクトの情報がないことを示すハイフン(
-)が表示されます。このコマンドは、CORBA環境でのみ使用されます。
printnet (
pnw) [
mach_list ]
ネットワーク接続に関する情報を出力します。デフォルトでは、すべてのマシンの情報を表示します。
printnetコマンドでは、複数のマシン(
LMID)をカンマで区切ったリストを引数として指定できます。このようなリストを指定した場合は、指定マシンに関するネットワーク接続情報が表示されます。各マシンについて、パーティション化されているかどうかが示されます。マシンがパーティション化されていない場合、そのマシンが接続される他のマシンと、メッセージの入出力回数を表す情報が表示されます。
printqueue (
pq) [
qaddress]
アプリケーションおよび管理サーバーの指定キューに関する情報を表示します。デフォルトでは、すべてのキューに関する情報が表示されます。
qaddressコマンド行またはデフォルト値は指定したキューに関する情報を制限するために使用されます。出力される情報には、キューが存在するサーバー名、マシンの名前があります。サーバーにセカンダリ・リクエスト・キューがある場合は、すべてのキュー・アドレスがリストされます。
printroute (pr) [-r routingname]
ファクトリ・ベースのルーティング定義の情報(ルーティング名、タイプ、フィールドおよび範囲)を表示します。
routingnameが指定されない場合、既存のすべてのルートが表示されます。このコマンドでは、Oracle TUXEDOデータ依存ルーティングとCORBAファクトリ・ベース・ルーティング両方のルートが表示されます。出力されるタイプのフィールドには、ファクトリ・ベース・ルーティング・エントリの場合は
FACTORY、データ依存ルーティング・エントリの場合は
SERVERが表示されます。データ依存ルーティング・エントリの情報が冗長モードでリクエストされると、出力にバッファ・タイプとフィールド・タイプが含まれます。このコマンドは、CORBA環境でのみ使用されます。
printserver (
psr)
[-m machine] [-g groupname[-R rmid]] [-i srvid] [-q
qaddress]
アプリケーションおよび管理サーバーに関する情報を表示します。
-q、
-m、
-gおよび
-iオプションを使用すれば、キュー・アドレス、セカンダリ・リクエスト・キュー・アドレス、マシン、グループ、サーバーの任意の組合せに限定して情報を得ることができます。マルチコンテキスト・サーバーで
printserverを実行すると、そのサーバーのすべてのコンテキストについて1つのエントリが表示されます。
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。
-Rオプションは
-gオプションとともに使用する必要があり、
rmidは、
1以上
31以下でなければなりません。
冗長モードでは、サーバーの実行時のREQUEST__VERSION値が出力されます。
printservice (
psc)
[-m machine] [-g groupname[-R rmid]] [-i srvid]
[-a { 0 | 1 | 2 }] [-q qaddress] [-s service]
アプリケーションおよび管理サービスに関する情報を出力します。
-q、
-m、
-g、
-iおよび
-sオプションを使用すれば、キュー・アドレス、マシン、グループ、サーバーまたはサービスの任意の組合せに限定して情報を得ることができます。
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。
-Rオプションを
-gオプションとともに使用し、rmidが、
1以上
31以下でなければなりません。
-aオプションを使用すると、サービスのクラスを選択できます。
-a0と指定すると、アプリケーション・サービスだけを表示します。
-a1と指定すると、アプリケーション・サービスに加えて、アプリケーションから呼び出せるシステム・サービスも表示します。
-a2と指定すると、上記の2つに加えて、Oracle Tuxedoから呼び出せるシステム・サービスも表示します。
冗長モードでは、アプリケーション・サービス・バージョン機能が有効な場合、サービスの実行時のREQUEST_VERSION値と
VERSION_RANGEも出力されます。サービスの実行時の
VERSION_POLICYが"
PROPAGATE"の場合は、その
VERSION_POLICYも出力されます。
同様に、冗長モードでは、ダイナミック・リクエスト・ブローカ機能が有効な場合、
Dynamic Load値が出力されます。
リモート・ドメインからインポートされたサービスの表示形式は、次のフィールドを除きローカル・ドメインのものと同じです。
•
|
ルーチン名: リモート・ドメインの実際のサービス名
|
•
|
グループ名: Remote domain sequence number:Remote Group Number
|
printtrans (
pt)
[-g groupname[-R rmid]] [-m machine]
指定マシンまたはデフォルトのマシンに関するグローバル・トランザクション表情報を表示します。
machineが
「all」または
「DBBL」の場合、アプリケーションのパーティション化されていないすべてのマシンでトランザクション表からの情報がマージされます。コマンド行またはデフォルトの
groupname値によって、指定グループが参加している(コーディネータを含む)トランザクションに限定して情報を得ることができます。
簡略モードでは、トランザクション識別子、
aborttransまたは
committransでトランザクションを中断またはコミットするときに使用する索引、トランザクション・ステータス、参加リソースの数などが表示されます。
一方、冗長モードでは、トランザクション・タイムアウト情報や、コーディネータの識別情報などを含むサーバー・グループ名、ステータスなどの参加リソースに関する情報も表示されます。
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。
-Rオプションは、
-gオプションとともに使用し、
rmidの値が
1以上
31以下でなければなりません。
reconnect (
rco)
non-partitioned_machine1 partitioned_machine2
パーティション化されていないマシンからパーティション化されたマシンへの新しい接続を開始します。
reconnectでは、パーティション化されていないマシンからパーティション化されたマシンへの新しい接続が強制的に行われます。接続がすでにアクティブな場合は、再接続の前に閉じられます。このとき、送信中のメッセージが失われて、トランザクション・タイムアウトが発生することがあります。マシンまたはネットワークの接続が停止する可能性がありますが、ネットワーク・インタフェース・ドライバはリクエストの受取りとバッファ処理を続けます。
BRIDGEに対してエラーは示されません。この場合、
reconnectは失敗し、リモート・マシンにアクセスできないことを
BRIDGEに強制的に認識させます。ほとんどのケースでは、ネットワークの問題が解決すると
BRIDGEは自動的に再接続されます。手動での操作(
reconnectの使用)は必要ありません。
resume (
res) {
-q qaddress |
-g groupname |
-i srvid |
-s service |
-I interface} . . .
サービスを再開(一時停止解除)します。
-q、
-g、
-s、
-Iおよび
-iオプションを使用すると、再開するサービスに関して、キュー、グループ、サービス、インタフェース(CORBA環境のみ)およびサーバーの任意の組合せを制限できます。(少なくとも、これらのオプションのうち1つを指定するか、デフォルトを設定しておく必要があります。)したがって、次のコマンド行では、アドレスが
servq8でキューに通知されたすべてのサービスを簡単に一時停止解除できます。
中断されていたサービスが再開されると、そのサービスを提供するサーバーが、そのサービス(および提供するその他の再開サービス)の候補サーバーとして選択されます。複数のサーバーが1つのキューから読取りを行うと、そのキューから読取りを行うすべてのサーバーに、ある特定のサービスのステータスが反映されます。
serverparms (
srp)
-g groupname[-R rmid]-i srvid
あるグループの
groupnameおよび
srvidで指定されたサーバーに関連するパラメータを表示します。
-R rmidオプションは、現在のグループが複数のリソース・マネージャ・グループの場合に、リソース・マネージャを指定するのに使用されます。
-Rオプションを
-gオプションとともに使用し、rmidが、
1以上
31以下でなければなりません。
Prog Name: /u01/common/patches/qingszha/TAF/taftest/serverS1
Queue Name: GROUP1.SRV1
Secondary Queue Name: #S.00001.00001
Server Options: RESTARTABLE
Max # Restarts: 2
Restart Command: (restartsrv)
Grace Period: 0 hour 0 mins
Group ID: 1
Server ID: 1
Machine ID: L1
serviceparms (scp) -g groupname -i srvid -s service
groupname、
srvid、および
serviceによって指定されたサービスに関連するパラメータを表示します。
shmstats (
sstats) [
ex |
app ]
MODEL SHMが構成ファイルに指定されると、
shmstatsを使用して、より正確な統計を得ることができます。引数なしで入力すると、
shmstatsは、掲示板構造体の
bbparms.optionsメンバーの
TMACCSTATSフラグから現在の設定を返します。これにより、現在収集しているのが正確な統計か概算の統計かがわかります。コマンドを入力するときに
exを指定すると、
shmstatsが
TMACCSTATSフラグをオンにして、掲示板をロックし、サーバー表、キュー表およびサービス表のエントリのカウンタを0に戻します。
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でキューに通知されたすべてのサービスを簡単に一時停止できます。
サービスが一時停止されると、そのサービスを提供するサーバーは、そのサービスの候補サーバーとして選択されなくなります。ただし、そのサーバーが提供する可能性がある他のサービスを処理するために引続き選択されます。一時停止されたサービスに対してキューに登録されているリクエストは、キューから排出されるまで処理されます。複数のサーバーが1つのキューから読取りを行うと、そのキューから読取りを行うすべてのサーバーに、ある特定のサービスのステータスが反映されます。
tjsreload -g groupname -i srvid [-M modulename]
Javaサーバーへのフル再ロードおよびサーバー・モジュール再ロードを実行します。
tjsreloadは、
group nameおよび
server identifierを使用してターゲットJavaサーバーを特定します。
unadvertise (
unadv) {
-q qaddress [
-g groupname] [
-i srvid] |
-g groupname -i srvid}
service
指定された
serviceについてサービス表のエントリを除去します。
qaddressが指定されていない場合は、
groupnameと
srvidを指定し、サーバーを一意に識別する必要があります。キューまたはそのキューにある特定のサーバーを指定しても結果は同じです。複数サーバーの単一キュー(MSSQ)のセットからこの
serviceを削除すると、
serviceの公開は、キューから読み込まれるすべてのサーバーから削除されます。
singletonが指定されている場合(単一キュー(MSSQ)セットを持つ複数サーバーでも)、このサービスの通知は指定したサーバーから削除されます。
冗長モードで出力を生成します。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。初期設定は
offです。コマンドごとに、
-v (詳細)および
-t (簡潔)オプションを使用して、現在の設定を一時的にオーバーライドできます。
シェルにエスケープし、
shellcommandを実行します。
管理者として
tmadminを実行する場合、セキュリティ機構は通りません。すでにアプリケーション管理者のログインIDであることが確認済であるためです。
アプリケーション管理者以外が
tmadminを実行できるのは、
-rオプションが使用されて、クライアントとしてアプリケーションにアクセスする場合です。そのようなユーザーが
-rオプションを付けて
tmadminを呼び出すときに、アプリケーションのセキュリティがオンになっている場合は、アプリケーション・データにアクセスするためにアプリケーションのパスワードが必要です。標準入力が端末である場合、
tmadminは、応答のエコーをオフの状態でユーザーにパスワードの入力を求めます。標準入力が端末でない場合は、パスワードは
APP_PW環境変数から取り出されます。アプリケーション・パスワードが必要な場合に、この環境変数が指定されていないと、
tmadminは異常終了します。
tmadminは、
-rオプションの指定がある場合、またはこれをアプリケーション管理者として登録できない場合、アプリケーション・クライアントとして働きます。このような場合、標準入力が端末でないときには、保護アプリケーションのアプリケーション・パスワードを
APP_PW環境変数に設定しなければなりません。
システムのブート前に
tmadminコマンドを入力すると、次のようなメッセージが表示されます。
No bulletin board exists. Entering boot mode
>
その後、tmadminは
bootコマンドが入力されるのを待機します。
-cオプションを指定せずに、
MASTER以外の非アクティブなノードから
tmadminコマンドが入力されると、次のメッセージが表示され、コマンドは終了します。
Cannot enter boot mode on non-master node.
間違ったアプリケーション・パスワードが入力されたり、入力したパスワードが環境を通してシェル・スクリプトで利用できない場合には、ログ・メッセージが生成され、次のメッセージが表示されてコマンドが終了します。
Invalid password entered.
tmadminは、相互操作可能なアクティブ・アプリケーション内であれば任意のノード上で実行可能です。ただし、利用可能なコマンドやコマンド行引数は、
tmadminが動作しているノードに対応するリリースで
tmadminから利用できるものに限定されています。たとえば、
broadcast、
passwdおよび
printclientなどのコマンドはリリース4.1のノードでは利用できません。
tmadminは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
machineオプションは、ネットワーク化されていない単一プロセッサ環境では何の効果も得られません。
『Oracle Tuxedoアプリケーション実行時の管理』
tmboot - Oracle Tuxedo構成を起動
tmboot [
-l lmid]
[-g grpname] [
-i srvid] [-
s aout] [
-o sequence]
[-S] [-A] [-b] [-B lmid]
[-e command] [-w|-p] [-y] [-g]
[-n] [-c] [-m] [-M] [-d1][-r]
tmbootは、オプションの指定に従ってOracle Tuxedoアプリケーション全体あるいはその一部を起動します。
tmbootは、掲示板の管理者(構成ファイルの
UIDで指示されている)あるいは
rootしか呼び出せません。
tmbootコマンドは、構成ファイルの
RESOURCESセクションで
MASTERとして指定されているマシン、あるいは
MASTERとして機能する(つまり、
tmadmin(1)の
masterコマンドにより
DBBLがすでに稼働状態である)バックアップ・マシン上でのみ呼び出せます。ただし、これは
-bオプションを指定した場合を除きます。この場合は、
MASTERと指定しなくても、バックアップ・マシンからシステムを起動できます。
オプションなしの
tmbootは、環境変数
TUXCONFIGと
TUXOFFSETに指定されている構成ファイルの
SERVERSセクションにリストされているすべての管理プロセスとすべてのサーバーを実行します。
MODELが
MPの場合、
RESOURCESセクションの
MASTERパラメータで指定されたマシン上で
DBBL管理サーバーが起動します。管理サーバー(
BBL)は、
MACHINESセクションにリストされたすべてのマシンで起動されます。
GROUPSセクションの各グループの場合、
TMSサーバーは、グループ・エントリの
TMSNAMEおよび
TMSCOUNTパラメータに基づいて起動されます。すべての管理サーバーが起動された後で、
SERVERSセクションのサーバーが起動されます。
TMSまたはグループのゲートウェイ・サーバーは、グループの最初のアプリケーション・サーバーが起動される前に起動されます。
TUXCONFIGファイルは必要に応じてリモート・マシンに伝播されます。通常、
tmbootは、起動されたプロセスで初期化(
tpsvrinit())が完了するのを待ってから、次のプロセスを起動します。
ゲートウェイ・サーバーの起動時には、ゲートウェイの管理サービスが公開され、そのゲートウェイの
CLOPTパラメータを基に外部サービスを表すアプリケーション・サービスが公開されます。外部サーバーの考え方をとる場合、これらのサーバーはこの時点でゲートウェイによりブートされます。
LMIDをブートすると、その
LMID上の全グループがブートされることになります。
アプリケーション・サーバーの起動は、
DEPENDSONパラメータか
SEQUENCEパラメータで指定された順序、または構成ファイルのサーバー・エントリ順で行われます(
「UBBCONFIG(5)」を参照)。
DEPENDSONと
SEQUENCEの両方のパラメータが指定された場合、
DEPENDSONパラメータが優先されます。
構成ファイルの
SERVERSセクションの複数のサーバーで
SEQUENCEパラメータが同じ場合、
tmbootはそれらのサーバーをパラレルで起動し、それらの初期化が完了するまでは処理を続行しません。
SERVERSセクションの各エントリには、
MINパラメータと
MAXパラメータを指定できます。
tmbootは、
-iオプションが指定されないと、
MINのアプリケーション・サーバー(サーバー・エントリで
MINが指定されない場合、デフォルトは1)を起動します。
-iオプションを使用すると、
MAXになるまで個々のサーバーが起動されます。
サーバーが起動できない場合、診断が中央のイベント・ログおよび標準出力(
-qが指定されない場合)に書き込まれます。
tmbootは続行します。ただし、異常終了するプロセスが
BBLの場合、その
BBLに依存するサーバーは警告なしで無視されます。異常終了するプロセスが
DBBLの場合、
tmbootは構成ファイルの残りの部分を無視します。サーバーに代替
LMIDが構成されているとき、サーバーがプライマリ・マシンで起動できない場合、
tmbootは自動的にサーバーを代替マシンで起動しようとします。正常に起動すると、メッセージを
DBBLに送信して、
TUXCONFIGのサーバー・グループ・セクションを更新します。
SERVERSセクションのサーバーの場合、
CLOPT、
DEPENDSON,
SEQUENCE、
SRVGRPおよび
SRVIDのみが
tmbootによって使用されます。これらはまとめてサーバーの起動パラメータと呼ばれます。いったんサーバーが起動すると、構成ファイルを読み取って、実行時パラメータを探します。(すべてのパラメータの詳細は、
「UBBCONFIG(5)」を参照してください。)
管理サーバーおよびアプリケーション・サーバーはすべて、
APPDIRを現在の作業ディレクトリとしてブートされます。
APPDIRの値は、該当サーバーがブートされるマシンに対応する構成ファイル内の
MACHINESセクションで指定します。
LinuxまたはUNIXでは、サーバーの実行可能プログラムの検索パスは
APPDIR、
TUXDIR/bin、
/bin、
/usr/binおよび
MACHINEの
ENVFILEに指定されている
PATHです。
Windowsでは、
PATHに
APPDIRまたは
TUXDIR\binが設定されていない場合、
tmbootにより自動的に
PATH文字列に
APPDIRまたは
TUXDIR\binが接頭辞として連結され、
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のコマンド行オプションの多くは、システムのブート時の内容を制限するものであり、システムの一部のブートに使用することもできます。以下のオプションがサポートされています。
LMIDパラメータが
lmidである各グループの場合、そのグループに関連するすべての
TMSとゲートウェイ・サーバーがブートされ、そらのグループに関連して
SERVERSセクションに記述されているすべてのサーバーが実行されます。
SRVGRPパラメータが
grpnameであるグループの全
TMSおよびゲートウェイ・サーバーが起動され、続いてそのグループに関連して
SERVERSセクションに記述されているすべてのサーバーが起動されます。
TMSサーバーは、グループ・エントリの
TMSNAMEおよび
TMSCOUNTパラメータに基づいて起動されます。
SERVERSセクションに記述されているサーバーで、
SRVIDパラメータが
srvidである全サーバーが起動されます。
SERVERSセクションに記述されている全サーバーが、サーバー名とMIN値で実行されます。MIN値が0のサーバーは実行されません。
このオプションは、TMSおよびゲートウェイ・サーバーをブートするときに使用することもできます。通常、このオプションは
-gオプションと一緒に使用します。
SERVERSセクションのサーバーで、
SEQUENCEパラメータが
sequenceであるサーバーがすべて実行されます。
SERVERSセクションに記述されている全サーバーが実行されます。
MACHINESセクションのマシンのすべての管理サーバーが実行されます。このオプションを使用すると、
DBBLとすべての
BBLおよび
BRIDGEプロセスが正しい順序で起動されます。(
-Mオプションの説明も参照してください。)
BACKUPのマシンからシステムを起動します(
BACKUPのマシンを
MASTERにする必要はありません)。
論理名が
lmidであるプロセッサ上で
BBLが起動されます。
-sオプションに指定されたサーバーの実行時の
MIN値を、共通の
MIN値で一時的にリセットします。たとえば、
-s server1 -m5では、server1という名前のすべてのサーバーが
MIN=5.にリセットされます。このオプションを使用して指定できるサーバーの最小数は
1であり、最大数はユーザーの裁量に委ねられます。
このオプションはマスター・マシン上の管理サーバーを起動するときに使用します。
MODELが
MPの場合、
RESOURCESセクションの
MASTERパラメータで指定されたマシン上で
DBBL管理サーバーが起動します。また、
BBLが
MASTERマシン上で起動され、
LANオプションと
NETWORKエントリが構成ファイルに指定されている場合には、
BRIDGEも起動されます。
コマンド行オプションを標準出力に出力します。
sdbを使用してアプリケーション・サービスのデバッグを行うのに便利です。
いずれかのプロセスが正常に起動しない場合に
commandが実行されます。
commandには、
SHELL環境変数に指定されたコマンド・インタプリタで認識されるプログラム、スクリプト、または一連のコマンドを指定できます。これにより、起動手順で問題が発生したときに修正する機会が得られます。
commandに空白が含まれる場合は、文字列全体を引用符で囲む必要があります。このコマンドは、
tmbootが実行しているマシンで実行されます。サーバーが起動されているマシンではありません。
注意:
|
Windows 2003システムでリダイレクトまたはパイプを選択する場合は、以下のいずれかの方法を使用してください。
|
•
|
リダイレクトまたはパイプを、コマンド・ファイルまたはスクリプト内から行います。
|
•
|
キュー・マネージャ管理プログラムからリダイレクトするには、コマンドの前に cmdを付けます。次に例を示します。 cmd /c ipconfig > out.txt
|
•
|
バイナリ実行可能ファイルの作成を選択する場合は、Windows API関数の AllocConsole()を使用して、バイナリ実行可能ファイル内にコンソールを割り当てます。
|
tmbootにサーバーが初期化を完了するのを待たずに別のサーバーを起動するように通知します。このオプションの使用には、十分な注意が必要です。
BBLは、有効な
DBBLの存在に依存します。通常のサーバーは、それらが配置されるプロセッサ上で
BBLが実行されていることを必要とします。サーバーが同期的に開始されていない場合、これらの条件は保証されません。サーバーにシーケンス番号がある場合、このオプションは通常行われる待機をオーバーライドします。
DEPENDSON (
UBBCONFIGファイルで構成)を使用していないすべてのアプリケーション・サーバーは、並行して起動されます(アプリケーションを並行して起動できるのは、依存関係がない場合
のみです)。
numberは、同時に起動できるサーバーの数
[0,1024]を示します。Windowsでは[0,64]です。number =
0の場合、デフォルトは
32です。
注意:
|
アプリケーションを並行して起動できるのは、依存関係がない場合のみです。
|
注意:
|
-wオプションを -pオプションとともに使用することはできません。 -i、 -sまたは -gオプションを使用した場合、サーバーは DEPENDSONパラメータを無視し、直接起動します。依存サーバーが起動しない場合は、警告メッセージが記録されます。
|
すべての管理プロセスおよびサーバー・プロセスを起動する必要があるかを確認するプロンプトに対して、
yesの答えを指定します。(このプロンプトが表示されるのは、制限するオプションを指定せずにコマンドを入力した場合のみです。)
標準出力に実行シーケンスを表示しません。
-yが指定されているものと想定します。
この構成で必要とされる最小限のIPCリソースを表示します。
ARTサーバーが最初にシステム・デフォルトの
PATHおよび
LD_LIBRARY_PATHを使用できるようにします。
注意:
|
この機能では、Windowsプラットフォームはサポートされません。
|
-l、
-g、
-i、
-oおよび
-sオプションを組み合せて使用すると、指定されたすべての条件を満たすサーバーのみが起動されます。
-l、
-g、
-sおよび
-Tオプションを使用すると、
TMSサーバーが起動します。
-l、
-gおよび
-sオプションを使用すると、ゲートウェイ・サーバーが起動します。
-l、
-g、
-i、
-o、
-sおよび
-Sオプションは、アプリケーション・サーバーに適用されます。アプリケーション・サーバーを起動するオプションが異常終了するのは、
BBLがマシンにない場合です。
-A、
-Mおよび
-Bオプションは、管理プロセスのみに適用されます。
標準入力、標準出力、標準エラー出力の各ファイル記述子は、ブートされたサーバーについてはすべて閉じられます。
tmbootは、相互運用可能なアプリケーション内の最上位のリリースが提供されているマスター・ノード上で実行しなければなりません。
tmbootは、最新リリースをサポートしないサイトのワークステーション・リスナーなどの管理サーバーのブートを行うことにつながる構成ファイル内の条件を検出し報告します。
tmbootは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
インストールの間に管理パスワード・ファイルが作成されます。必要に応じて、Oracle Tuxedoシステムはこのファイルを次のディレクトリから検索します。最初に
APPDIR/.adm/tlisten.pw、次に
TUXDIR/udataobj/tlisten.pwの順序で検索します。パスワード・ファイルが確実に見つかるように、必ず
APPDIRまたは
TUXDIR (あるいは両方)の環境変数を設定してください。
リンク・レベルの暗号化機能が
tmbootと
tlistenの間で稼働している場合には、リンク・レベル暗号化はメッセージが認証されるプロセスを保護するために最初に調整され、またアクティブ化されます。
TUXCONFIGとして、存在しないファイルが設定されると、次に示す2つの致命的なエラー・メッセージが表示されます。
tmbootはサーバーのブートに失敗すると、終了コード1を返して終了します。後でユーザー・ログを調べることにより、エラーの詳細を知ることができます。成功した場合は、
tmbootは終了コード0を返して終了します。
tmbootが、アクティブでない非マスター・ノード上で実行されると、次のような致命的エラー・メッセージが表示されます。
tmboot cannot run on a non-master node.
tmbootが、実際のマスター・ノードでないアクティブなノード上で実行されると、次のような致命的エラー・メッセージが表示されます。
tmboot cannot run on a non acting-master node in an active application.
複数の
TUXCONFIGファイルで同じ
IPCKEYが使用されていると、
tmbootは異常終了して次のメッセージを表示します。
Configuration file parameter has been changed since last tmboot
LAN以外の構成で
MACHINESセクションに複数のノード名があると、次のような致命的エラー・メッセージが表示されます。
Multiple nodes not allowed in MACHINES for non-LAN application.
tlistenがLANアプリケーションの
MASTERマシン上で実行していない場合、警告メッセージが表示されます。この場合、
tmadmin(1)はリモート・マシン上で管理者モードでは実行できません。読取り専用操作に限定されます。これはまた、バックアップ・サイトが障害後にマスター・サイトを再起動できないことを意味します。
CS0および
CS1というローカル名のマシン上にあるサーバーたけを起動するには、次のようにします。
DBG1という名前のグループに属するサーバー
CREDEBだけを起動するには、次のようにします。
tmboot -g DBG1 -s CREDEB1
ローカル名が
PE8のマシン上の
BBL、および
PE8の位置にあるすべてのサーバーをブートするには、次のようにします。
この構成で必要とされる最小限のIPCリソースを表示するには、次のコマンドを入力します。
次に、
-cオプションを使用した場合の出力例を示します。
Ipc sizing (minimum Oracle Tuxedo values only) ...
Fixed Minimums Per Processor
SHMMIN: 1
SHMALL: 1
SEMMAP: SEMMNI
Variable Minimums Per Processor
SEMUME, A SHMMAX
SEMMNU, * *
Node SEMMNS SEMMSL SEMMSL SEMMNI MSGMNI MSGMAP SHMSEG
------ ------ ------ ------ ------ ------ ------ ------
sfpup 60 1 60 A + 1 10 20 76K
sfsup 63 5 63 A + 1 11 22 76K
where 1 = A = 8.
1プロセッサ当たりのアプリケーション・クライアントの数を各
MSGMNI値に追加します。
MSGMAPは
MSGMNIの2倍にします。
SHMMINは常に1にセットします。
IPCの必要最小限の条件は、使用マシンに設定したパラメータと比べて検討することができます。これらのパラメータの変更方法については、お使いのマシンのシステム管理者のドキュメントを参照してください。
-yオプションを使用した場合、その結果得られる表示は上記の例とは若干異なります。
tmbootコマンドは、ハングアップ・シグナル(
SIGHUP)を無視します。ブート時にシグナルが検出された場合でも、プロセスは続行します。
-cオプションを使用した場合に表示される最小限のIPCリソースは、指定された構成ファイルに記述されている構成にのみ適用されます。リソース・マネージャまたはその他のOracle Tuxedo構成で必要となるIPCリソースについては、計算上は考慮されません。
『Oracle Tuxedoアプリケーション実行時の管理』
tmconfig、
wtmconfig - ネイティブ・クライアントまたはワークステーション・クライアントとして実行中のOracle Tuxedoアプリケーションに関する情報を動的に更新および検索
tmconfigは対話型プログラムであり、Oracle Tuxedoアプリケーションの動作中に、構成ファイル・パラメータまたはMIB属性の更新、および
TUXCONFIGファイルのセクションへのレコードの追加を行います。
tmconfigは、追加、変更、または検索対象の入力フィールド値があるバッファを管理します。操作が完了すると、
tmconfigは出力フィールド値と状態を表示します。ユーザーは任意のテキスト・エディタを使用して入力バッファを更新できます。
tmconfigはOracle Tuxedoのネイティブ・クライアントで、
wtmconfigはワークステーション・クライアントです。これらは、
tmadmin/
printclientコマンド・シーケンスの出力で確認できます。アプリケーションが
SECURITY機能を私用している場合、
tmconfigによってアプリケーション・パスワードの入力が求められます。
注意:
|
tmconfigはOracle Tuxedoネイティブ・クライアントであり、 wtmconfigはOracle Tuxedoワークステーション・クライアントであるという以外に双方の違いはなく、 tmconfigと wtmconfigは共に同じ機能を備えているため、このリファレンス・ページでは tmconfigを中心に説明していきます。ここで説明する機能は wtmconfigも備えていると考えてかまいません。
|
tmconfigは最初に、目的のセクションを指定するよう求め、続いてそれに対する操作の内容を指定するよう求めます。セクションを求めるプロンプトは次のとおりです。
Section: 1) RESOURCES, 2) MACHINES, 3) GROUPS 4) SERVERS 5)SERVICES
6) NETWORK 7) ROUTING q) QUIT 9) WSL 10) NETGROUPS 11) NETMAPS
12) INTERFACES [1]:
デフォルト・セクションは、プロンプトの終わりに大カッコ内に表示されます。
続いて、目的の操作内容を求めるプロンプトが次のように表示されます。
Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE
6) CLEAR BUFFER 7) QUIT [1]:
デフォルトの操作内容は、プロンプト末尾の大カッコ内に表示されます。デフォルトの操作を選択する場合は、[Enter]キーを押します。他の操作を選択する場合は、該当する番号を入力して[Enter]キーを押します。
1.
|
FIRST - 指定されたセクションの最初のレコードを表示します。キー・フィールドは不要です。(入力バッファにあるキー・フィールドは無視されます。)
|
2.
|
継続 - 入力バッファ内のキー・フィールドに基づいて、指定したセクションから次のレコードを取り出します。
|
3.
|
照会 - キー・フィールドで指定したセクションから、指定したレコードを取り出します。
|
4.
|
ADD - 指定したセクションに、指定したレコードを追加します。未指定のフィールドは(必須でないかぎり)、 UBBCONFIG(5)で指定されたデフォルト値をとります。すべてのフィールドの現在の値は、出力バッファ内に戻されます。この操作は、Oracle Tuxedoシステム管理者だけが行えます。
|
5.
|
UPDATE - 指定したセクションの入力バッファ内にある、指定したレコードを更新します。入力バッファ内で指定されていないフィールドは変更されません。すべてのフィールドの現在の値は、入力バッファ内に戻されます。この操作は、Oracle Tuxedo管理者だけが行えます。
|
6.
|
CLEAR BUFFER - 入力バッファをクリアします(すべてのフィールドは削除されます)。この操作の後で、 tmconfigによって再度セクションを指定するように求められます。
|
7.
|
終了 - プログラムを正常に終了します(クライアントは終了します)。プロンプトで値 qを入力してもプログラムを終了できます。
|
管理者の操作を行う場合、実効ユーザー識別子が、このプログラムを実行するマシンのOracle Tuxedo管理者ユーザー識別子(UID)と同じでなければなりません。レコードの更新や追加を行う場合には、
tmloadcf(1)が使用するすべてのデフォルト値と検証機能が有効になります。
次にtmconfigは、入力バッファを編集するかどうかを確認するプロンプトを表示します。
Enter editor to add/modify fields [n]?
値
yを入力すると、入力バッファが一時ファイルに変換され、テキスト・エディタが実行されます。環境変数
EDITORを使用して、使用するエディタを決定します。デフォルトは
edです。入力フォーマットはフィールド名とフィールド値の組合せです。この後の「入力フォーマット」の項を参照してください。その後の項の表に、各
UBBCONFIGセクションに関連付けられているフィールド名を示します。フィールドのセマンティクスと、関連する範囲、デフォルト値、制限などは、
「UBBCONFIG(5)」で説明してあります。権限値は8進数ではなく10進数で指定されることに注意してください。ほとんどの場合、フィールド名は
UBBCONFIGファイルの
KEYWORDと同じで、接頭辞として「
TA_」が付いています。
ユーザーが入力バッファの編集を完了すると、
tmconfigはその内容を読み取ります。特定のフィールド名についての行が複数ある場合、最初のオカレンスが使用され、他のオカレンスは無視されます。何らかのエラーが発生すると、構文エラー・メッセージが表示され、その問題を訂正するかどうかを確認する
プロンプトが表示されます。
問題を訂正しない場合(レスポンス
n)は、入力バッファにフィールドは含まれません。問題を訂正する場合は、エディタが再度実行されます。
最後に、操作を実行するかどうかを確認するプロンプトが表示されます。
操作が完了すると、
tmconfigは(
「戻り値TAOK」のように)戻り値を表示し、続いて出力バッファのフィールドを表示します。次に、プロセスが再開され、セクションを求めるプロンプトが表示されます。すべての出力バッファ・フィールドは、バッファがクリアされないかぎり、入力バッファ内で利用できます。
いつでもブレークを入力して、セクションを求めるプロンプトでの対話を再開できます。
QUITを選択すると、構成ファイルのバックアップ(テキスト形式)を作成するかどうかを確認するプロンプトが表示されます。
Unload TUXCONFIG file into ASCII backup [y]?
バックアップの作成を選択すると、ファイル名の入力を求めるプロンプトが表示されます。
無事にバックアップが完了すると、
バックアップ・コピーが作成されたことを示すメッセージを表示します。失敗した場合はエラー・メッセージを表示します。
入力パケットは、次のようにフォーマットされた行で構成されます。
フィールド名とフィールド値は1つまたは複数のタブで区切ります。
長いフィールド値の場合、継続行に1つまたは複数のタブを付けることによって、次の行にわたるようにできます(これらのタブは、
tmconfigに読み戻されるときに取り除かれます)。
表示できない文字をフィールド値に入力したり、タブをフィールド値の先頭に付けたりするには、バックスラッシュを入力し、その後に必要な文字を2文字の16進表現で入力します(UNIXリファレンス・マニュアルでASCII(5)の項を参照)。たとえば、空白は「
\20」として入力データに入力できます。バックスラッシュそのものは、2つのバックスラッシュ記号を使用して入力できます。
tmconfigでは、このフォーマットのすべての入力が認識されますが、16進フォーマットが表示できない文字の場合に最も役立ちます。
動的な再構成機能については、次のような全般的な制限事項があります。
1.
|
キー・フィールドの値(次のセクションを参照)は変更できません。キー・フィールドがエディタ・バッファ内で変更され操作が終了すると、別のレコードがキー・フィールドの新しい値に基づいて変更されます。システムが停止しているときに、構成ファイルを再ロードすれば、キー・フィールドを変更できます。
|
2.
|
LMIDレベルのフィールドは、 LMIDがブートされている間は変更できません。同様に、 GROUPレベルのフィールドは GROUPがブートされている間は変更できません。
|
3.
|
多くの RESOURCESパラメータは実行中のシステムでは変更できません。
|
4.
|
動的削除機能はサポートされていません。削除はオフラインで行います。
|
5.
|
間違ったセクションでパラメータを更新しようとした場合、たとえば、 RESOURCESセクションにいるときに、 MACHINESセクションの ENVFILEパラメータを更新しようとした場合、 tmconfigが TAOKを返して操作が正常終了したように見えますが、アンロードされた UBBCONFIGファイルは変更されていません。
|
TMCONFIG、UBBCONFIG、およびMIB間の関係
以前のOracle Tuxedoシステムのリリースでは、すべてのアプリケーション構成は、アプリケーションのすべての構成パラメータが定義された
UBBCONFIGファイルというテキスト・ファイルを編集することで実現していました。その後のリリースでは、
tmloadcf(1)コマンドを実行することにより、
UBBCONFIGファイルを
TUXCONFIGというバイナリ・ファイルにコンパイルするようになりました。さらに新しくなったシステムでは、各種
TUXCONFIGパラメータの動的更新(アクティブなシステムの更新)をサポートする
tmconfigコマンドが導入されるようになりました。
システム6以降では、Oracle Tuxedoのリソースをクラスや属性に再定義するOracle Tuxedo管理情報ベース(MIB)が導入されました。MIBの導入と同時に、Oracle Tuxedoシステムは、管理者(またはユーザー)がアプリケーションの属性にプログラムでアクセスし、変更することを可能にする管理APIも提供しました。
例外が1つありますが、
『Oracle Tuxedoコマンド・リファレンス』のこのエントリ(
「tmconfig、wtmconfig(1)」)では、MIBの様々なクラスの簡単な説明のみが示されます。例外はNetworkクラスです。これは、ここで
tmconfig()について詳しく説明します。その他のセクションの詳細は、
「TM_MIB(5)」を参照してください。
属性(フィールド)を更新できる場合と更新できるユーザー
従来の
tmconfig表には、フィールドの更新が可能かどうかを示す値を入れる列がありました。これについてはMIBのリファレンス・ページで説明していますが、形式について多少注意が必要です。
「MIB(5)」で、Permissionsの説明を参照してください。MIB表のPermissions列は、ファイルへのアクセスを制限するために使用される読取り、書込みおよび実行権限と似ています。ただし、情報量は多く、単純なファイル権限よりも多くの制御が指定されます。たとえば、MIB表のPermissions列の値は、システムがアクティブなときにフィールドを変更できるかどうかを示します。
tmconfigを使用する前には
MIB(5)の説明をよくお読みください。
このセクションについては、
ADD操作は使用できません。このセクションにはレコードが1つしかないので、
RETRIEVE操作は
FIRST操作と同じです(キー・フィールドは不要)。
NEXT操作は常に「レコードなし」が戻されます。
TA_LDBAL、
TA_CMTRETおよび
TA_SYSTEM_ACCESSに対する変更は、それ以後ブートされる新しいクライアントとサーバーに対してのみ適用されます。
NO_OVERRIDEの指定があり、指定アクセス・タイプと一致しない(
PROTECTEDまたは
FASTPATH)サーバー・エントリがある場合、
TA_SYSTEM_ACCESSは変更できません。
TA_NOTIFYと
TA_AUTHSVCに対する変更は、それ以後起動される新しいクライアントに対してのみ適用されます。
上記のパラメータ以外の更新は、アンロードされたテキスト形式のバックアップ・ファイルには反映されません。
RESOURCESセクションの
OPTIONSに"
LAN"が指定されていないかぎり、マシンを追加することはできません。
上記のパラメータ以外の更新は、アンロードされたテキスト形式のバックアップ・ファイルには反映されません。
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セクションに対する操作は何もできません。
上記のパラメータ以外の更新は、アンロードされたテキスト形式のバックアップ・ファイルには反映されません。
ROUTINGセクションは、システムが稼働状態にあるときには更新できません。掲示板のサイズを制御する、
RESOURCESセクションの3つのパラメータ
MAXDRT、
MAXRFT、および
MAXRTDATAが増加可能に設定されている場合、
ROUTINGセクションの新しいエントリを追加できます。
ワークステーション・リスナー・サーバーの
CLOPTの更新は、
SERVERセクションを通じて行うこともできますが、
T_WSLクラスを使用してください。
T_INTERFACEクラスは、ドメインおよびサーバー・グループの両方のレベルでCORBAインタフェースの構成属性と実行時属性を表します。ファクトリ・ベースのルーティング(特定のサーバー・グループに処理を分散する機能)を実行しない場合には、CORBAインタフェースに必要なパラメータはありません。
tmconfigをセキュアなアプリケーションで実行する場合は、アプリケーション・パスワードを指定しないとアプリケーションにアクセスできません。標準入力が端末である場合、
tmconfigは、応答のエコーをオフの状態でユーザーにパスワードの入力を求めます。標準入力が端末でない場合は、パスワードは
APP_PW環境変数から取り出されます。アプリケーション・パスワードが必要な場合に、この環境変数が指定されていないと、
tmconfigは異常終了します。
ワークステーション・クライアントの場合、このコマンドは
wtmconfigです。
UPDATEおよび
ADDコマンドはサポートされていません(
TAEPERMが戻されます)。
tmconfigは環境変数
FIELDTBLSおよび
FLDTBLDIRを設定しなおして、
${TUXDIR}/udataobj/tpadminフィールド表を取り出します。
TUXDIRを正しく設定しておかなければなりません。
APP_PWは、標準入力が端末でない場合、保護アプリケーションのアプリケーション・パスワードに設定しなければなりません。
クライアントをOracle Tuxedoアプリケーションに結合する前に、いくつかの環境変数を設定しておく必要があります。
•
|
tmconfigでは、環境変数 TUXCONFIGを設定する必要があります。
|
•
|
wtmconfigでは、環境変数 WSNADDRを設定する必要があります。Oracle Tuxedoシステムで使用するネットワーク・プロトコルによっては、 WSDEVICEの設定が必要な場合もあります。使用するネットワーク・プロトコルは、アプリケーションが稼働するプラットフォームによって異なります。お使いのプラットフォームで使用されるネットワーク・プロトコルについては、 『Oracle Tuxedoインストレーション・ガイド』の付録A「プラットフォーム・データ・シート」を参照してください。
|
tmconfigは、型付きバッファを割り当てることができない場合、該当ユーザーに対する
/etc/passwdエントリを判別できない場合、クライアント・プロセスになれない場合、入力バッファ編集用に
/tmpに一時ファイルを作成できない場合、あるいは環境変数
FIELDTBLSまたは
FLDTBLDIRを設定し直すことができない場合には異常終了します。
各操作が完了した後、
tmconfigから出力される戻り値には、リクエストされた操作に関するステータスが示されます。戻り値には3つのクラスがあります。
次の戻り値は、権限に関する問題またはOracle Tuxedoの通信エラーを示しています。戻り値は、操作が正常に完了しなかったことを示しています。
呼出しプロセスは
TA_UPDATEまたは
TA_ADD opcodeを指定しましたが、Oracle Tuxedo管理者として起動されていません。
オペレーティング・システムのエラーが発生しました。
ブロッキング・タイムアウトが発生しました。入力バッファは更新されないので、検索操作に使用される情報は何も戻されません。更新操作のステータスは、更新されたレコードで取出しを行うことでチェックできます。
以下の戻り値は、処理そのものの実行に問題があることを示します。通常は、入力バッファ内のアプリケーション・データに関するセマンティクスの問題です。文字列フィールド
TA_STATUSが出力バッファに設定され、問題を示します。文字列フィールド
TA_BADFLDNAMEに、問題を引き起こした値が含まれるフィールドの名前が設定されます(エラーが1つのフィールドに関係している場合)。
1つまたは一連のフィールド値の指定が矛盾しています(たとえば、既存の
RQADDRの値が異なる
SRVGRPおよび
SERVERNAMEに指定されている場合など)。
TUXCONFIGファイルの読取り中にエラーが発生しました。
操作対象として指定されたレコードが見つかりませんでした。
更新を行おうとしましたが、
TUXCONFIGファイルまたは掲示板に十分な容量がありませんでした。
次の戻り値は、少なくとも
MASTERサイトでは操作が成功したことを示します。
操作は成功しました。
TUXCONFIGファイルまたは掲示板には更新は行われませんでした。
操作は成功しました。
TUXCONFIGファイルまたは掲示板に更新が行われました。
MASTERサイトでは操作は成功しましたが、1つまたは複数の非
MASTERサイトで失敗がありました。それらの非
MASTERサイトには、無効またはパーティション化のマークが付けられます。詳細は、管理者ガイドを参照してください。
Oracle Tuxedoシステム・リリース4.0または4.1ノードが起動されている状態では、
UPDATEおよび
ADD操作は実行できません。これらの操作を行うには、前もってこれらのノードを停止しておかなければなりません。リブートすると、変更内容が有効になります。
When
tmunloadcf(1)を使用して構成内のエントリを表示する場合、特定の(文字列)フィールドの値が設定されていない場合、(整数)フィールド値が0の場合、あるいはフィールドのデフォルト値に一致する場合、それらのフィールド値は表示されません。これらのフィールドは、
tmconfigを使用する際に常に出力バッファに存在します。この方法で、管理者がエントリを取り出しやすくし、また以前に設定されていないフィールドを更新しやすくします。エントリには、フィールド名が含まれ、タブが後に続きますが、フィールド値はありません。
次に挙げる例では、
tmconfigを使用して、ワークステーション・リスナー・サーバー上に指定されたネットワーク・アドレスを訂正しています。このアドレスはサーバー・セクションの最初のエントリになっていることがあります。この例で使用されているエディタは
ed(1)です。
Section:1)
RESOURCES, 2)
MACHINES, 3) GROUPS 4) SERVERS 5)SERVICES 6) NETWORK
7) ROUTING q) QUIT 9) WSL 10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]: 4
Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE
6) CLEAR BUFFER 7) QUIT [1]: 1
Enter editor to add/modify fields [n]? <return>
Perform operation [y]? <return>
Return value TAOK
Buffer contents:
TA_OPERATION 4
TA_SECTION 3
TA_SRVID 2
TA_MIN 1
TA_MAX 1
TA_RQPERM 432
TA_RPPERM 432
TA_MAXGEN 1
TA_GRACE 86400
TA_STATUS Operation completed successfully
TA_SRVGRP WDBG
TA_SERVERNAME WSL
TA_CLOPT -A -- -d/dev/tcp -M4 -m2 -x5 -n0x0002fe19c00b6d6b
TA_CONV N
TA_REPLYQ N
TA_RESTART N
Section:1)
RESOURCES, 2)
MACHINES, 3) GROUPS 4) SERVERS 5)SERVICES 6) NETWORK
7) ROUTING q) QUIT 9) WSL 10) NETGROUPS 11) NETMAPS 12) INTERFACES [4]: <return>
Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE
6) CLEAR BUFFER 7) QUIT [1]: 5
Enter editor to add/modify fields [n]? y
240
/CLOPT/s/6d6b/690E/p
TA_CLOPT -A -- -d/dev/tcp -M4 -m2 -x5 -n0x0002fe19c00b690E
w
240
q
Perform operation [y]? <return>
Return value TAUPDATED
Buffer contents:
TA_OPERATION 1
TA_SECTION 3
TA_SRVID 2
TA_MIN 1
TA_MAX 1
TA_RQPERM 432
TA_RPPERM 432
TA_MAXGEN 1
TA_GRACE 86400
TA_STATUS Update completed successfully
TA_SRVGRP WDBG
TA_SERVERNAME WSL
TA_CLOPT -A -- -d/dev/tcp -M4 -m2 -x5 -n0x0002fe19c00b690E
TA_CONV N
TA_REPLYQ N
TA_RESTART N
Section:1)
RESOURCES, 2)
MACHINES, 3) GROUPS 4) SERVERS 5)SERVICES 6) NETWORK
7) ROUTING q) QUIT 9) WSL 10) NETGROUPS 11) NETMAPS 12) INTERFACES [1]: q
Unload TUXCONFIG file into ASCII backup [y]? <return>
Backup filename [UBBCONFIG]? <return>
Configuration backed up in UBBCONFIG
$ # boot the changed server
$ tmboot -s WSL -i 2
tmipcrm - ローカル・マシンでOracle Tuxedo ATMIアプリケーションが割り当てたIPCリソースを削除
tmipcrm [
-y] [
-n] [
TUXCONFIG_file]
tmipcrmは、共有メモリー、メッセージ・キューおよびセマフォなど、Oracle Tuxedo ATMIアプリケーションによって割り当てられたIPCリソースをクリーンアップします。このコマンドは、シャットダウンの失敗などの通常ではないエラー状況が発生した後に通常実行されます。通常の状況では、Oracle Tuxedo ATMIシステムは、割り当てられたIPCリソースをすべてシャットダウン時にクリーンアップします。削除されたIPCリソースには、Oracle Tuxedo ATMIのコア・システムおよびWorkstationコンポーネントで使用されるようなものが含まれます。
tmipcrmはローカル・サーバー・マシン上でのみ機能するので、Oracle Tuxedo構成内のリモート・マシン上にあるIPCリソースはクリーンアップされません。
TUXCONFIGファイルの名前は、
TUXCONFIG環境変数の値として指定するか、またはコマンド行で指定する必要があります。
TUXCONFIGファイルは必須で、読取り可能である必要があります。
このコマンドを正常に実行できるのは、適切な権限を持つユーザーまたは管理者だけです。このコマンドは、掲示板(BB)を格納する共有メモリー・セグメントにアタッチ可能であることを前提としており、掲示板に格納されて参照されるIPCリソースを削除しようとします。システム上のその他の条件によって削除が失敗することもあります。このような失敗が検出された場合には通知されます。
すべてのプロンプトに「はい」と答えることを意味します。
IPCリソースを削除しません。
stdoutにIPCリソースのリストを表示して終了します。
TUXCONFIGファイルの完全なパス名。指定されていない場合は、
TUXCONFIG環境変数の値がデフォルト値になります。
TUXCONFIGファイルが見つからない場合は、致命的なエラーが発生し、次のメッセージが表示されます。
TUXCONFIGファイルが読み取れない場合は、致命的なエラーが発生し、次のメッセージが表示されます。
アプリケーション管理者でないために、実行権限がありません
掲示板の共有メモリーへのアタッチが失敗した場合は、致命的なエラーが発生し、次のメッセージが表示されます。
このコマンドは、通常は対話型モードで実行して、必要に応じて質問に対する回答を求めるプロンプトを表示します。
-yオプションを指定すると、
tmipcrmは応答を求めるプロンプトを表示しませんが、すべての質問に対して
「はい」と答えたとみなされます。
-nオプションを指定すると、
tpipcrmは
stdoutにIPCリソースを表示するだけで終了し、IPCリソースは削除されません。
次の例では、このコマンドが通常どのように使用されるかについて説明します。
$ tmipcrm /home/user/apps/tuxconfig
Looking for IPC resources in TUXCONFIG file /home/user/apps/tuxconfig
The following IPC resources were found:
Message Queues:
0x2345
0x3456
���
Semaphores:
0x34567
0x45678
���
Shared Memory:
0x45678
0x56789
���
Remove these IPC resources (y/n)?: y
Removing IPC resources ��� done!
次のサンプル・コードでは、ローカル・マシン上のOracle Tuxedo ATMIアプリケーションで使用されるIPCリソースの一覧を、
ipclistというファイルに出力します。
tmipcrm -n /home/user/apps/tuxconfig >ipclist
tmloadcf -
UBBCONFIGファイルを解析し、バイナリ版の
TUXCONFIG構成ファイルをロード
tmloadcf [
-n] [
-y] [
-c] [
-b blocks] [-w] {
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リソースを表示します。RDMAが有効な場合、このオプションを指定すると、プログラムで
Msgq_daemon (RCDMSZ)のメモリーの推奨サイズが出力されます。SHMQが有効な場合、このオプションを指定すると、プログラムで
SHMQMAXMEM (SHMQSZ)の推奨最小値が出力されます。ノードごとに異なるリソース要件が、構成に含まれるノードごとに表示されます。
TUXCONFIGファイルは更新されません。
tmloadcfで
-nオプションを使用すると、プログラムは
UBBCONFIG (構成ファイルのテキスト・バージョン)の構文チェックだけを行い、
TUXCONFIGファイルの実際の更新は行いません。
構文チェックの後、
tmloadcfは、
TUXCONFIGが参照するファイルが存在するかどうか、存在する場合はそのファイルが有効なOracle Tuxedoシステムのファイル・システムかどうか、および
TUXCONFIG表を含んでいるかどうかを調べます。これらの条件が満たされていない場合、
tmloadcfは、
TUXCONFIGの作成および初期化を行うかどうかを確認するプロンプトを表示します。
Initialize TUXCONFIG file: path [y, q]?
標準入力あるいは標準出力が端末でない場合、あるいはコマンド行で
-yオプションが指定された場合には、このプロンプトは出されません。"
y"または"
Y"以外のレスポンスをすると、
tmloadcfは構成ファイルを作成せずに終了します。
TUXCONFIGファイルが正しく初期化されていないとき、ユーザーが承認した場合は、
tmloadcfがOracle Tuxedoファイル・システムを作成し、
TUXCONFIG表を作成します。
-bオプションがコマンド行に指定されると、Oracle Tuxedoファイル・システムの作成時に、その引数がデバイスのブロック数として使用されます。
-bオプションの値が新しい
TUXCONFIG表を収容できるほど大きい場合、
tmloadcfは、指定された値を使用して新しいファイル・システムを作成します。それ以外の場合、
tmloadcfはエラー・メッセージを出力して終了します。
-bオプションが指定されない場合、
tmloadcfは、
TUXCONFIGを収容できるだけ大きい新しいファイル・システムを作成します。ファイル・システムがすでに存在している場合、
-bオプションは無視されます。
TUXCONFIGがrawデバイス(初期化されていない)であり、そのrawデバイス上のブロック数を設定する必要がある場合には、
-bオプションをできるだけ使用するようにしてください。
TUXCONFIGが通常のUNIXファイルである場合には、
-bオプションは使用しないようにしてください。
TUXCONFIGファイルがすでに初期化されていると判断される場合、
tmloadcfはその
TUXCONFIGファイルに記述されているシステムが稼働状態にないことを確認します。そのシステムが稼働状態にあると、
tmloadcfはエラー・メッセージを出して終了します。
システムが非稼働状態にあり、
TUXCONFIGファイルがすでに存在している場合は、ファイルを上書きするかどうかを確認するプロンプトが表示されます。
Really overw
rite TUXCONFIG file [y, q]?
標準入力あるいは標準出力が端末でない場合、あるいはコマンド行で
-yオプションが指定された場合には、このプロンプトは出されません。"
y"または"
Y"以外のレスポンスを行うと、
tmloadcfは終了して、ファイルの書換えは行われません。
UBBCONFIG GROUPSセクションおよび
UBBCONFIG RMSセクションで大量の
OPENINFOを設定する必要がある場合は、
-wオプションの使用を強くお薦めします。
-wオプションを使用すると、すべてのパスワードが
$TUXCONFIGから自動的に取得されます。したがって、
OPENINFOを設定するたびにパスワードを手動で入力する必要がなくなります。かわりに、実行時にパスワードを変更する場合にのみパスワードを手動で入力します。
$TUXCONFIGが存在し、
OPENINFOのパスワードが
${tuxconfig.a-zA-Z0-9_}の書式で正しく定義されている場合は、
tmloadcfから次のような情報が表示されるため、「
N/n」と入力して続行できます。
Setting CLOPT -w could reduce your password-inputting times if none openinfo is changed, input [y/Y] to exit and rerun with -w, or input [N/n] to continue?
•
|
-wオプションでは、Oracle Tuxedo 12cリリース2 (12.1.3) RP003以上が必要です。
|
•
|
データベースのパスワードを変更する場合は、 -wを指定しないでください。
|
構成ファイルの
RESOURCESセクションに
SECURITYパラメータが指定されていると、
tmloadcfは標準入力をフラッシュし、端末エコー機能をオフにして、ユーザーにアプリケーション・パスワードの入力を求めます。
Enter Application Password?
Reenter Application Password?
パスワードは、30文字以内の長さで入力できます。ファイルではなく標準入力を介して
UBBCONFIG (構成ファイルのテキスト・バージョン)をロードするオプションは、
SECURITYパラメータがオンのときには使用できません。標準入力が端末でない場合、つまり、ユーザーにパスワードの入力を求めることができない場合(たとえば、
hereファイルの場合)、アプリケーション・パスワードの設定のために環境変数
APP_PWが参照されます。
APP_PW環境変数が設定されておらず、標準入力が端末でない場合には、
tmloadcfはエラー・メッセージを出し、ログ・メッセージを生成して、
TUXCONFIGファイルのロードに失敗します。
エラーがないと仮定して、すべてのチェックの結果が正常であった場合、
tmloadcfは
UBBCONFIGファイルを
TUXCONFIGファイルにロードします。このとき、
TUXCONFIG表にある既存の情報はすべて書き換えられます。
注意:
|
ロード中に四捨五入されたため、アンロード時に一致しない値があります。そのような値には MAXRFTおよび MAXRTDATAがありますが、それだけではありません。
|
tmloadcfはマスター・ノード上で実行しなければなりません。相互運用アプリケーションでは、マスター・ノードは最新のリリースでなければなりません。
tmloadcfは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
環境変数
APP_PWは、
SECURITYパラメータが指定され、かつ標準入力として端末以外のものを使用して
tmloadcfを実行するアプリケーションに対して設定しなければなりません。
UBBCONFIGファイル
BB.shmから構成ファイルをロードするには、次のようにデバイスを2000ブロックに初期化します。
tmloadcf -b2000 -y BB.shm
入力にエラーが検出されると、エラーの原因となった行が、問題を指摘するメッセージとともに、標準エラーに出力されます。また、
UBBCONFIGファイルに構文エラーがあったり、システムがその時点で稼働中であると、
TUXCONFIGファイル内の情報は一切更新されず、
tmloadcfは終了して、終了コード1を戻します。
UBBCONFIGファイルに指定されている
UIDと一致しない実効ユーザー識別子を持つユーザーが
tmloadcfを実行すると、次のようなエラー・メッセージが表示されます。
*** UID is not effective user ID ***
tmloadcfを非マスター・ノード上で実行すると、次のようなエラー・メッセージが表示されます。
tmloadcf cannot run on a non-master node.
tmloadcfをアクティブ・ノード上で実行すると、次のようなエラー・メッセージが表示されます。
tmloadcf cannot run on an active node.
tmloadcfは正常に処理を完了すると、終了コード0を返して終了します。
TUXCONFIGファイルが更新された場合には、
userlogメッセージが生成されてこのイベントが記録されます。
『Oracle Tuxedoアプリケーション実行時の管理』
tmloadrepos - バイナリのTuxedoサービス・メタデータ・リポジトリ・ファイルを作成または更新し、サービス・パラメータ情報とともにロードします。
tmloadrepos [-
e|-d service1[,...]] [
-y] [
-i repository_input file]
repository_file
このコマンドを使用すると、バイナリのTuxedoサービス・メタデータ・リポジトリ・ファイルを作成または更新し、サービス・パラメータ情報とともにロードできます。
リポジトリ・ファイルが存在せず、入力ファイルが指定されていない場合は、リポジトリ・ファイルが作成され、コンソールから入力(標準入力)するサービス・パラメータ情報が使用されます。標準入力は、リポジトリ・ファイルがすでに存在しているにもかかわらず、入力ファイルまたは特定のサービス名が指定されていない場合にも使用します。
注意:
|
tmloadreposを使用して、JOLTリポジトリ・ファイルのサービス・パラメータ情報を更新、追加、または削除することはできません。
|
tmloadreposでは以下のオプションを使用できます。
-iが指定されると、
tmloadreposが特定の入力ファイルを使用してサービス・パラメータ情報を作成し、新しいメタデータ・リポジトリ・ファイルにロードするか、既存のファイルを変更します。
デフォルトでは、
-iオプションにより、
repository_inputファイルに示されていない既存の
repository_file情報を
tmloadreposが保持できます。または、
repository_inputファイルに構文エラーがある場合にも同じ情報を保持できます。
例1:
tmloadrepos -i infile reposfile
指定された入力ファイルが見つからない場合、エラー・メッセージが表示されます。
-eが指定されると、
tmloadreposは、既存のリポジトリ情報のすべてを
repository_inputファイルで指定された情報に置き換えます。
repository_inputファイルを指定しないと、コンソールからサービス・パラメータ情報を入力するようにユーザーが要求され、その入力した情報によって既存のリポジトリ情報が置き換えられます。
例2: tmloadrepos -e reposfile
例3:
tmloadrepos -e -i infile reposfile
-dを指定すると、指定したサービスの情報が
tmloadreposによってリポジトリから削除されます。
-dオプションは
-iオプションと一緒には使用できません。また、正規表現は特定のサービス情報を削除する目的では使用できません。
例4 :
tmloadrepos -d newservice reposfile
注意:
|
情報が誤って消去されるのを防ぐために、 -yオプションを指定しないかぎり、 -eおよび -dオプションによってユーザーの確認を要求します。
|
確認メッセージが表示された場合、メタデータ・リポジトリ・ファイルのサービス情報の編集、追加または削除を続行するには「Y」を、続行しない場合は「N」を選択します。
-yを指定すると、ユーザーの確認なしに、メタデータ・リポジトリ・ファイルのディレクトリに対してサービス情報の編集、追加または削除が行われます。
例5: tmloadrepos -e -y -i infile reposfile
例6: tmloadrepos -d newservice -y reposfile
repository_inputファイルは、サービス・キーワードおよびパラメータ・キーワードとそれらの値を格納するテキスト・ベースのファイルです。キーワードの省略形も使用できます。キーワードおよび省略形の大文字/小文字は区別されます。キーワード、省略形および値の一覧は、
『Oracle Tuxedoアプリケーションの設定』の
「Tuxedoサービス・メタデータ・リポジトリの管理」の「メタデータ・リポジトリを作成する」を参照してください。
tmloadreposによって作成されるバイナリ・ファイルです。すべてのメタデータ・リポジトリ・サービス情報が格納されます。
入力にエラーが検出されると、エラーの原因となった行が、問題を指摘するメッセージとともに、標準エラーに出力されます。
例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入力ファイル
リスト8
埋込み型パラメータのTMLOADREPOS入力
service=DEPOSIT
svcdescription=This service saves money to one account
export=Y
inbuf=FML32
outbuf=FML32
param=USER_INFO
type=fml32
paramdescription=user information of the account
access=in
count=1
requiredcount=1
fldnum=20000
# embedded field
(
param=USERNAME
type=string
paramdescription=user name
size=8
count=1
requiredcount=1
fldnum=20001
param=GENDER
type=string
size=6
count=1
requiredcount=1
fldnum=20002
)
param=ACCOUNT_ID
type=integer
paramdescription=the deposit account.
access=in
count=1
requiredcount=1
fldnum=20003
param=SAMOUNT
paramdescription=This is the amount to transfer. It must be greater than zero.
type=string
access=in
fldnum=20004
param=SBALANCE
paramdescription=the deposit account
type=string
access=out
count=1
requiredcount=1
fldnum=20005
param=STATLIN
type=string
access=out
fldnum=20006
TMS_rac_refresh - 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のドキュメントを参照してください。
RACデータベースのインスタンスに障害が発生したときの代替用のインスタンスに関連付けられているサーバー・グループ名またはグループID。
TMS_rac_refreshを実行するために必須のパラメータです。
TMS_rac_refreshは、通常はコマンド行からは実行しません。したがって、診断メッセージは
userlogに書き込まれます。
TMS_rac_refreshでは、
groupnameが正しいサーバー・グループの名前でなかったとき、または
groupnameでリストされたTMSサーバーにメッセージを送信できなかった場合にエラーを通知します。
tmshutdown - Oracle Tuxedoサーバー・セットを停止
tmshutdownは、サーバーの実行を停止させたり、構成ファイルに記述されているサービスの通知を解除したりします。
tmshutdownコマンドを呼び出せるのは、掲示板の管理者(構成ファイルの
UIDパラメータで指定されている)または
rootのみです。また、
tmshutdownは、構成ファイルの
RESOURCESセクションで
MASTERとして指定されているマシン、あるいは
MASTERとして機能するバックアップ・マシン(つまり、
tmadmin(1)の
masterコマンドにより
DBBLがすでに稼働状態である)上でのみ呼び出せます。ただし、パーティション化されたプロセッサに対して
-Pオプションが使用されている場合を除きます(下記参照)。
オプションなしの場合、
tmshutdownはすべての管理サーバー、
TMS、ゲートウェイ・サーバー、および
TUXCONFIG環境変数に指定されている構成ファイルの
SERVERSセクションに記述されているサーバーを停止させ、それらの関連IPCリソースを除去します。グループごとに、
SERVERSセクションの全サーバー、関連するゲートウェイ・サーバー(外部グループの)および
TMSサーバーがこの順序で停止されます。管理サーバーは最後に停止されます。
SEQUENCEパラメータなしのアプリケーション・サーバーが、構成ファイルのサーバー・エントリと逆の順序で最初に停止されます。その後、
SEQUENCEパラメータが指定されたサーバーがシーケンス番号の上から順に停止されます。構成ファイルの
SERVERSセクションの複数のサーバーで
SEQUENCEパラメータが同じ場合、
tmshutdownはそれらのサーバーをパラレルで停止します。
SERVERSセクションの各エントリには、
MINパラメータと
MAXパラメータをオプションで指定できます。
-iオプションが指定されない場合、
tmshutdownは、各サーバー・エントリについてサーバーのすべてのオカレンス(最大で
MAXオカレンス)を停止します。
-iオプションを使用すると、個々のオカレンスが停止されます。
あるサーバーを停止できない場合、あるいはサービスの通知を削除できない場合、中央のイベント・ログに診断が書き出されます(
「userlog(3c)」を参照)。次に、すべてのオプションについて個々に説明します。
関連する
LMIDパラメータが
lmidである各グループごとに、該当グループに対応する
SERVERSセクションの全サーバーがまず停止され、続いてそのグループに属する
TMSとゲートウェイ・サーバーが停止されます。
指定されたグループに属する
SERVERSセクションのすべてのサーバー(つまり、
SRVGRPパラメータが
grpnameに設定されている)が停止され、続いてそのグループのすべて
TMSとゲートウェイ・サーバーが停止されます。TMSサーバーの停止は、そのグループ・エントリの
TMSNAMEおよび
TMSCOUNTパラメータの設定に基づいて行われます。外部グループの場合、
HOSTセクションの関連エントリに対応するゲートウェイ・サーバーの停止は、パラメータ
GATENAMEと
GATECOUNTに基づいて行われます。ゲートウェイを停止すると、そのプロセスが停止されると共に、その管理サービスと通知されたすべての外部サービスの通知が解除されます。
SERVERSセクションのサーバーのうち、
SRVIDパラメータが
srvidに設定されているサーバーがすべて停止されます。
SRVIDには30,000を超える値を入力しないでください。これはシステム・プロセス(
TMSまたはゲートウェイ・サーバー)を指定します。これらを停止するには、
-lオプションまたは
-gオプションを使用する必要があります。
SERVERSセクションのサーバーのうち、名前が
aoutのサーバーがすべて停止されます。このオプションは、
TMSおよびゲートウェイ・サーバーの停止にも使用できます。
SERVERSセクションのサーバーのうち、
SEQUENCEパラメータが
sequenceに設定されているサーバーがすべて停止されます。
SERVERSセクションのサーバーがすべて停止されます。
マスター・マシン上で管理サーバーが停止されます。
MASTERマシン上の
BBLが停止され、構成ファイルに
LANと
NETWORKエントリが指定されていれば、
BRIDGEが停止されます。
MODELが
MPであると、
DBBL管理サーバーが停止されます。
論理名が
lmidであるプロセッサ上の
BBLが停止されます。
すべてのサーバーを直ちに中断し、
delay秒だけ停止の確認を待機した後、
SIGTERMおよび
SIGKILLシグナルをサーバーに送って強制的に停止させます。
SIGKILLシグナルは捕捉できないため、その時点でプロセスによって実行されるコードには無関係に、シグナルを受信したプロセスはすべて直ちに終了されます。停止されるプロセスが掲示板を更新中だった場合には、掲示板に構造上の損傷を与えるおそれがあります。
注意:
|
-wオプションが適用されるサーバーは、UNIXのシグナル SIGTERMを捕捉できません。
|
注意:
|
SIGKILLシグナルの受信に基づいてサーバーが停止される場合、エントリが掲示板に残る場合があります。BBLが停止される場合、これらのエントリが検出され、BBLは停止しません。システムの停止を完了するには、再度 tmshutdownコマンドを使用しなければならない場合もあります。
|
tmshutdownは選択したサーバーを直ちに中断し、これらを順序立てて(
TERM)または強制的に(
KILL)停止します。
SIGKILLシグナルは捕捉できないため、その時点でプロセスによって実行されるコードには無関係に、シグナルを受信したプロセスはすべて直ちに終了されます。このような挙動は、停止中のプロセスが掲示板を更新中だった場合、掲示板に構造上の損傷を与えるおそれがあります。これを防ぐために
tpkill(1) コマンドを使用できます。
tpkillは掲示板をロックした後で
SIGKILLシグナルをプロセスに送信するため、終了されるプロセスによる掲示板の更新を回避できます。
注意:
|
このオプションは、UNIXシグナルの SIGTERMと SIGKILLをサポートするシステムでは、これらにマップされます。デフォルトでは、 SIGTERMはOracle Tuxedoサーバーで順序立てた停止を開始します。 SIGTERMをアプリケーションでリセットすると、Oracle Tuxedoシステムがサーバーを停止できなくなることがあります。
|
注意:
|
SIGKILLシグナルの受信に基づいてサーバーが停止される場合、エントリが掲示板に残る場合があります。BBLが停止される場合、これらのエントリが検出され、BBLは停止しません。システムの停止を完了するには、再度 tmshutdownコマンドを使用しなければならない場合もあります。
|
すべての管理プロセスおよびサーバー・プロセスを停止する必要があるかを確認するプロンプトに対して、
yesの答えを指定します。(このプロンプトが表示されるのは、制限するオプションを指定せずにコマンドを入力した場合のみです。)
-yオプションを指定すると、すべてのサービスが直ちに掲示板から通知解除され、以降サービス呼出しができなくなります。
標準出力に実行シーケンスを表示しません。
-yが指定されているものと想定します。
移行操作の場合のみ、元のプロセッサ上のサーバーが停止され、別のプロセッサへの移行準備としての掲示板エントリの削除は行われません。
-Rオプションは、
-lあるいは
-gオプションと一緒に使用しなければなりません(例:
tmshutdown -l lmid -R)。また、構成ファイルの
RESOURCESセクションに
MIGRATEオプションを指定しなければなりません。
このオプションを使用すると、サーバーがリクエスト・キューからシャットダウン・メッセージを受信したとき、メッセージ・キューのメッセージを排出せずにシャットダウンします。
注意:
|
サーバーがリクエストを長時間処理している場合、現在のリクエストの処理を終了し、次のメッセージをメッセージ・キューから取得するまで、サーバーは停止できません。その後、シャットダウン・メッセージが選択され、ただちにシャットダウンします。メッセージ・キューのメッセージは取り消されます。このオプションは非常時に使用したり、重要でない取り消されるメッセージに対して使用したりできます。このオプションは、-wオプションおよび-kオプションとともに使用できます。
|
クライアントがまだアタッチされていても、
BBLが停止されます。
単一プロセッサ上では、指定された
lmidに対応するノード上の全管理サーバーおよびアプリケーション・サーバーが停止されます。一方、マルチプロセッサ(たとえば3B4000)上では、PEが1つしか指定されていない場合でも、すべてのPEが停止されます。
このオプションを指定すると、
tmshutdownは指定
lmid上の掲示板にアタッチし、この
lmidが該当アプリケーションの他の部分からパーティション化されていることを確認してから(つまり、
DBBLにはアクセスしません)、すべての管理サーバーとアプリケーション・サーバーを停止します。このコマンドは、構成ファイルの
MACHINESセクションに指定されている
lmidに対応するプロセッサ上で実行しなければなりません。
-l、
-g、
-sおよび
-Tオプションを指定すると
TMSサーバーが停止します。
-l、
-gおよび
-sオプションを指定すると、ゲートウェイ・サーバーが停止します。
-l、
-g、
-i、
-s、
-oおよび
-Sオプションはアプリケーション・サーバーに適用されます。
-A、
-Mおよび
-Bオプションは管理プロセスのみに適用されます。
-l、
-g、
-i、
-oおよび
-sオプションを組み合せて使用すると、指定されたすべての条件を満たすサーバーのみが停止します。
サーバーの中断時にグローバル・トランザクションが稼働しているといったような分散トランザクション処理機能を使用する場合には、プリコミット後のコミットが記録される場所まで処理が進んでいなかったトランザクションは、中断します。一方、コミット点まで進んでいたトランザクションは、サーバー(たとえば、
TMS)が再度ブートされた時点で処理が完了します。
tmshutdownはマスター・ノード上で実行する必要があります。相互運用アプリケーションでは、マスター・ノードは最新のリリースを実行する必要があります。
tmshutdownは、リリース4.1サイトでリリース4.2管理サーバーを停止させることにつながる構成ファイル内の条件を検出し報告します。
tmshutdownは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
tmshutdownは、サーバーの停止に失敗した場合や致命的エラーが発生した場合には、終了コード1を返して終了します。詳細は、ユーザー・ログを調べてください。正常に実行できた場合には、終了コード0で終了します。
tmshutdownが、実際のマスター・ノードでないアクティブ・ノード上で実行されると、次のような致命的エラー・メッセージが表示されます。
tmshutdown cannot run on a non acting-master node in an active application.
プロセスを停止することでアクティブ・プロセスが
DBBLからパーティション化されると、次のような致命的エラー・メッセージが表示されます。
cannot shutdown, causes partitioning.
サーバーが異常終了した場合には、次のようなメッセージが出されます。
CMDTUX_CAT:947 Cannot shutdown server GRPID
システム全体を停止して、Oracle TuxedoのIPCリソースをすべて削除するには、次のコマンドを実行します。30秒経過しても確認が得られないと強制的に実行されます。
lmidの値が
CS1に設定されているマシン上のサーバーだけを停止するには、次のコマンドを入力します。
-lオプションは
SERVERSセクションにリストされているサーバーのみにアクションを制限するものであるため、
CS1上の
BBLは停止されません。
tmshutdownコマンドは、ハングアップ・シグナル(
SIGHUP)を無視します。停止中にシグナルが検出されても、プロセスは継続します。
『Oracle Tuxedoアプリケーション実行時の管理』
tmunloadcf - バイナリ版の
TUXCONFIG構成ファイルをアンロード
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サービス・メタデータ・リポジトリ・ファイルから、サービスの情報を表示するか、tuxedoクライアント側またはサーバー側のC疑似コードを作成します。
tmunloadrepos [-s service_regular_expression1[,...]] [-t|-c|-C|-S|-V output_dir][-o output_file] repository_file
tmunloadreposは、メタデータ・リポジトリ・ファイルに指定されたTuxedoサービス情報を表示するか、Tuxedoクライアント側またはサーバー側のC疑似コードをメタデータ・リポジトリ・ファイルから生成します。
注意:
|
tmunloadreposは、Joltリポジトリ・ファイルの表示にも使用できます。
|
tmunloadreposでは次のオプションを使用できます。
-sオプションを指定すると、出力を
service_regular_expressionに一致するサービスに限定できます。このオプションを指定しない場合は、リポジトリで認識されているすべてのサービスの情報が表示されます。区切り文字「,」を使用すると、複数の
service_regular_expressionを1つの文字列にできます。
-tオプションを指定すると、出力がプレーン・テキスト形式になります。この形式は、
tmloadreposへの入力としても使用できます。
-cオプションを指定すると、出力がC疑似コード形式になります。この形式は、指定したサービスへのtuxedoクライアント・サービス呼出しで必要になります。
-Cオプションを指定すると、出力が、典型的なスタンドアロンtuxedoクライアントのC疑似コード形式になります。tuxedoクライアントに含まれるサービス名全体の文字数は512以内であることが必要です。
-Sオプションを指定すると、出力が、一般的なtuxedoサービス実装スケルトンのC疑似コード形式になります。この形式では入力/出力バッファがリポジトリ・ファイルで指定されています。
さらに、
-Sオプションを指定すると、サービス名がサービス関数名として使用されます。
-Vオプションを指定すると、
tmunloadreposがTuxedoビュー・ファイル
${SERVICENAME}[info.v|info32.v|_infoFML|infoFML32]を生成します。このファイルには、メタデータ・リポジトリ・ファイルに定義されている、FML/FML32フィールド表またはVIEW/VIEW32記述子が記述されています。
tmunloadreposの入力によって、VIEWのフィールドの最大オカレンス数が指定されない場合、
tmunloadrepos -Vは、VIEWlのそのフィールドの1オカレンスのみを生成します。反対に、
tmunloadreposの入力によってフィールドの無制限のオカレンスが指定されると、
tmunloadrepos -Vはエラーを生成します。
–S、-V、-C、-tおよび
-cオプションは相互に排他的です。これらのオプションのいずれも指定しない場合、出力はプレーン・テキスト形式になります。
出力ファイル名を指定します。
-o output_fileが指定されない場合、標準出力が使用されます。
-o output_file が有効になるのは、
-S、
-Cまたは
-cが指定される場合のみです。
注意:
|
tmunloadreposは、Tuxedoサービス・メタデータ・リポジトリ・ファイルのみではなく、Joltリポジトリ・ファイルの表示にも使用できます。
|
次の
tmunloadreposコマンド行オプションはTuxedo 10.0リリースでは非推奨です。
-wオプションを指定すると、出力がWSDLサービス記述形式になります。Tuxedo 9.0以降では、WSDL仕様V2.0 (www.x3.org)をベースにカスタマイズしたWSDL形式を使用しています。
Oracle SALTのコマンド・ユーティリティ
tmwsdlgenは、TuxedoサービスのWSDL公開に関して唯一推奨されるユーティリティです。
tmwsdlgenの詳細は、
Oracle SALTのドキュメントを参照してください。
tmunloadreposでは、repository_fileで指定されたファイルがTuxedoシステムのメタデータ・リポジトリ・ファイルとして有効かどうかが検証されます。
tmunloadreposで-sオプションを指定すると、service_regular_expressionに一致する1つまたは複数のサービスについての情報がリポジトリに格納されているかどうかが検証されます。これらの条件のいずれも満たされない場合、
tmunloadreposはエラー・メッセージを出し、エラー・コード1を戻して終了します。処理が成功すると、
tmunloadreposは終了コード0を返して終了します。
リスト9
tmunloadrepos -tからのテキスト出力
# #Generated from Repository file : /u01/common/patches/qingszha/AtmiSupport/miftest/viewfml
svcdescription=This service transfers money from one account to another
paramdescription=The withdrawal account is 1st, and the deposit account is 2nd.
paramdescription=This is the amount to transfer. It must be greater than zero.
paramdescription=The withdrawal account is 1st, and the deposit account is 2nd.
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.
リスト10
tmunloadrepos -CからのC疑似コード出力
* #Generated from Repository file : /u01/common/patches/qingszha/AtmiSupport/miftest/viewfml
* #Generated Time : 04/12/12 01:50:08
* This service transfers money from one account to
/*char in_samount [<USER_DATA_LENGTH>];*/
char *out_sbalance = NULL;
char *out_statlin = NULL;
long ilen,olen,flags = 0;
/* Application business logic can be placed here */
if ((idata = tpalloc("FML32", NULL, 4096))==NULL) {
/*<error log can be placed here>*/
if ((odata = tpalloc("FML32", NULL, 4096))==NULL) {
/*<error log can be placed here>*/
/*Fadd32(idata, ACCOUNT_ID, (char *)&in_account_id, <USER_DATA_LENGTH>);*/
/*Fadd32(idata, ACCOUNT_ID, (char *)&in_account_id, <USER_DATA_LENGTH>);*/
/*Fadd32(idata, SAMOUNT, (char *)&in_samount, <USER_DATA_LENGTH>);*/
rtn = tpcall("TRANSFER", idata, ilen, &odata, &olen, flags)
/* Code to retrieve fields from odata goes here */
/* Application business logic can be placed here */
* 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.
/*char in_user [<USER_DATA_LENGTH>];*/
/*char in_passwd [<USER_DATA_LENGTH>];*/
long ilen,olen,flags = 0;
/* Application business logic can be placed here */
if ((idata = tpalloc("VIEW", "LOGINS", 4096))==NULL) {
/*<error log can be placed here>*/
if ((odata = tpalloc("VIEW", "LOGINR", 4096))==NULL) {
/*<error log can be placed here>*/
/* <idata> View member value setting can be placed here */
idata->passwd = in_passwd;
rtn = tpcall("LOGIN", idata, ilen, &odata, &olen, flags)
/* Code to retrieve fields from odata goes here */
/* Application business logic can be placed here */
main(int argc, char *argv[])
* Set the external variable proc_name (defined in userlog.h)
* to be the name of the executable program so that it appears
* in the Tuxedo ULOG entries for the client program.
if (tpinit((TPINIT *)NULL) == -1) {
/*<error log can be placed here>*/
/*<error log can be placed here>*/
/*<error log can be placed here>*/
リスト11
tmunloadrepos -cからのC疑似コード出力
* #Generated from Repository file : /u01/common/patches/qingszha/AtmiSupport/miftest/viewfml
* #Generated Time : 04/12/12 01:50:08
* This service transfers money from one account to
/*char in_samount [<USER_DATA_LENGTH>];*/
char *out_sbalance = NULL;
char *out_statlin = NULL;
long ilen,olen,flags = 0;
/* Application business logic can be placed here */
if ((idata = tpalloc("FML32", NULL, 4096))==NULL) {
/*<error log can be placed here>*/
if ((odata = tpalloc("FML32", NULL, 4096))==NULL) {
/*<error log can be placed here>*/
/*Fadd32(idata, ACCOUNT_ID, (char *)&in_account_id, <USER_DATA_LENGTH>);*/
/*Fadd32(idata, ACCOUNT_ID, (char *)&in_account_id, <USER_DATA_LENGTH>);*/
/*Fadd32(idata, SAMOUNT, (char *)&in_samount, <USER_DATA_LENGTH>);*/
rtn = tpcall("TRANSFER", idata, ilen, &odata, &olen, flags)
/* Code to retrieve fields from odata goes here */
/* Application business logic can be placed here */
* 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.
/*char in_user [<USER_DATA_LENGTH>];*/
/*char in_passwd [<USER_DATA_LENGTH>];*/
long ilen,olen,flags = 0;
/* Application business logic can be placed here */
if ((idata = tpalloc("VIEW", "LOGINS", 4096))==NULL) {
/*<error log can be placed here>*/
if ((odata = tpalloc("VIEW", "LOGINR", 4096))==NULL) {
/*<error log can be placed here>*/
/* <idata> View member value setting can be placed here */
idata->passwd = in_passwd;
rtn = tpcall("LOGIN", idata, ilen, &odata, &olen, flags)
/* Code to retrieve fields from odata goes here */
/* Application business logic can be placed here */
リスト12
tmunloadrepos -SからのC疑似コードの出力
* #Generated from Repository file : /u01/common/patches/qingszha/AtmiSupport/miftest/viewfml
* #Generated Time : 04/12/12 01:50:24
* This service transfers money from one account to
char *out_sbalance = NULL;
char *out_statlin = NULL;
/* Application business logic can be placed here */
idata = (FBFR32 *) msg->data;
if ((odata = tpalloc("FML32", NULL, msg->len))==NULL) {
/*<error log can be placed here>*/
tpreturn(TPFAIL, 0, (char *)idata, 0L, 0);
if ((numofocc = Foccur32(idata, ACCOUNT_ID)) == -1) {
/*verifying the number of occurrences is within the range specified in the service definition*/
/*<error log can be placed here>*/
tpreturn(TPFAIL, 0, (char *)odata, 0L, 0);
/*<error log can be placed here>*/
tpreturn(TPFAIL, 0, (char *)odata, 0L, 0);
for (counter = 0; counter < numofocc; counter++) {
* if (Fget32(idata, ACCOUNT_ID, counter, (char *)&in_account_id, <USER_DATA_LENGTH>) == -1) {
* <error log can be placed here>
* tpreturn(TPFAIL, 0, (char *)odata, 0L, 0);
if ((numofocc = Foccur32(idata, SAMOUNT)) == -1) {
/*verifying the number of occurrences is within the range specified in the service definition*/
/*<error log can be placed here>*/
tpreturn(TPFAIL, 0, (char *)odata, 0L, 0);
/*<error log can be placed here>*/
tpreturn(TPFAIL, 0, (char *)odata, 0L, 0);
for (counter = 0; counter < numofocc; counter++) {
* if (Fget32(idata, SAMOUNT, counter, (char *)&in_samount, <USER_DATA_LENGTH>) == -1) {
* <error log can be placed here>
* tpreturn(TPFAIL, 0, (char *)odata, 0L, 0);
/* Application business logic can be placed here */
/*Fadd32(odata, SBALANCE, (char *)&out_sbalance, <USER_DATA_LENGTH>);*/
/*Fadd32(odata, SBALANCE, (char *)&out_sbalance, <USER_DATA_LENGTH>);*/
/*Fadd32(odata, STATLIN, (char *)&out_statlin, <USER_DATA_LENGTH>);*/
tpreturn(TPSUCCESS, 0, (char *)odata, 0L, 0);
* 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.
/* Application business logic can be placed here */
idata = (struct LOGINS *) msg->data;
if ((odata = tpalloc("VIEW", "LOGINR", msg->len))==NULL) {
/*<error log can be placed here>*/
tpreturn(TPFAIL, 0, (char *)idata, 0L, 0);
/* Input View <idata> member value getting can be placed here */
in_passwd = idata->passwd;
/* Output View member value setting can be placed here */
odata->token = out_token;
tpreturn(TPSUCCESS, 0, (char *)odata, 0L, 0);
リスト13
tmunloadrepos -VによるTuxedoビュー・ファイルの生成
#Generated from Repository file : /u01/common/patches/qingszha/AtmiSupport/miftest/viewfml
#Generated Time : 04/12/12 01:50:34
VIEW LOGINS
#type cname fbname count flag size null
#---- ----- ------ ----- ---- ---- ----
string in_user - 1 - - NULL
string in_passwd - 1 - - NULL
END
VIEW LOGINR
int out_token - 1 - - 0
END
filename:TRANSFER_infoFML32
#Generated from Repository file : /u01/common/patches/qingszha/AtmiSupport/miftest/viewfml
#Generated Time : 04/12/12 03:20:51
#name rel-number type flags comment
#---- ---------- ---- ------ -------
ACCOUNT_ID 1 long - The withdrawal account is 1st, and the deposit account is 2nd.
SAMOUNT 2 string - This is the amount to transfer. It must be greater than zero.
SBALANCE 3 string - The withdrawal account is 1st, and the deposit account is 2nd.
tpacladd - 新しいアクセス制御リストをシステムに追加
tpacladd [-g GID[,GID . . . ]] [-t type] name
tpacladdを実行すると、Oracle Tuxedo ATMIのセキュリティ・データ・ファイルにアクセス制御リスト(ACL)の新しいエントリが追加されます。この情報は、サービス、イベント、アプリケーションの各キューに対するOracle Tuxedo ATMIのアクセス制御に使用されます。このコマンドを実行する前に、
SECURITYを
USER_AUTH、
ACLまたは
MANDATORY_ACLに設定したOracle Tuxedoの構成を作成する必要があります。
1つまたは複数の既存のグループの整数識別子またはグループ名の文字列のリストを指定します。このオプションは、指定したオブジェクトにどのグループがアクセスできるかを示します。このオプションを指定しないと、グループなしでエントリが追加されます。
オブジェクトのタイプを指定します。指定できるタイプは、
ENQ、
DEQ、
SERVICEまたは
POSTEVENTのいずれかです。デフォルトは
SERVICEです。
アクセス権を与えるサービス、イベントまたはアプリケーション・キューの名前を、表示可能な文字の固有の文字列で指定します。コロン(
:)、シャープ(
#)または改行文字(
¥n)を使うことはできません。
このコマンドを実行する前に、(a)グラフィカル・ユーザー・インタフェースまたは
tmloadcf(1)のいずれかを使用してアプリケーションを構成し、(b)
TUXCONFIGファイルを指すように
TUXCONFIG環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、
tpacladdを構成の
MASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
tpacladdコマンドは正しく完了すると、終了コード
0で終了します。
『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ファイルを変換します。
Oracle Tuxedoのユーザー・ファイルの名前。指定しない場合、ユーザー・ファイルは変換されません。
グループ・ファイルの名前(通常は
/etc/group)。指定しない場合、グループ・ファイルは変換されません。
このコマンドを実行する前に、(a)グラフィカル・ユーザー・インタフェースまたは
tmloadcf(1)のいずれかを使用してアプリケーションを構成し、(b)
TUXCONFIGファイルを指すように
TUXCONFIG環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、
tpaclcvtを構成の
MASTER上で実行する必要があります。
このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
『Oracle Tuxedoアプリケーション実行時の管理』
tpacldel - アクセス制御リストのエントリを削除
tpacldelを実行すると、Oracle Tuxedo ATMIのセキュリティ・データ・ファイルから既存のアクセス制御リスト(ACL)のエントリが削除されます。このコマンドを実行する前に、
SECURITYを
USER_AUTH、
ACLまたは
MANDATORY_ACLに設定したOracle Tuxedoの構成を作成する必要があります。
オブジェクトのタイプを指定します。指定できるタイプは、
ENQ、
DEQ、
SERVICEまたは
POSTEVENTのいずれかです。デフォルトのタイプは"
SERVICE"です。
このコマンドを実行する前に、(a)グラフィカル・ユーザー・インタフェースまたは
tmloadcf(1)のいずれかを使用してアプリケーションを構成し、(b)
TUXCONFIGファイルを指すように
TUXCONFIG環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、
tpacldelを構成の
MASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
tpacldelコマンドは正しく完了すると、終了コード
0で終了します。
『Oracle Tuxedoアプリケーション実行時の管理』
tpaclmod - システム上のアクセス制御リストを変更
tpaclmod [-g GID[,GID...]] [-t type] name
tpaclmodを実行すると、Oracle Tuxedoのセキュリティ・データ・ファイル内のアクセス制御リスト(ACL)のエントリが変更されて、グループ識別子リストが置き換えられます。この情報は、サービス、イベント、アプリケーションの各キューに対するOracle Tuxedo ATMIのアクセス制御に使用されます。このコマンドを実行する前に、
SECURITYを
USER_AUTH、
ACLまたは
MANDATORY_ACLに設定したOracle Tuxedoの構成を作成する必要があります。
1つまたは複数の既存のグループの整数識別子またはグループ名の文字列のリストを指定します。このオプションは、指定したオブジェクトにどのグループがアクセスできるかを示します。このオプションを指定しないと、エントリがグループなしに変更されます。
オブジェクトのタイプを指定します。指定できるタイプは、
ENQ、
DEQ、
SERVICEまたは
POSTEVENTのいずれかです。デフォルトは
SERVICEです。
このコマンドを実行する前に、グラフィカル・ユーザー・インタフェースまたは
tmloadcf(1)のいずれかを使用してアプリケーションを構成し、
TUXCONFIGファイルを指すように
TUXCONFIG環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、
tpaclmodを構成の
MASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
tpaclmodコマンドは正しく完了すると、終了コード
0で終了します。
『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との互換性を保つためには(これらのセキュリティ・レベルに移行できるようにするためにも)、次の制限に従う必要があります。
•
|
ユーザー名はユニークでなければならず、ワイルドカードを使用することはできません。
|
•
|
ユーザー識別子は一意であることが必要です。0よりも大きく128KB未満であることが必要です。
|
•
|
ファイル名は $APPDIR/tpusrでなければなりません。
|
以下の一連のコマンド入力は、簡単なパスワード・ファイルの構成方法を示しています。
$ # 1. Add usrname foo with wildcard cltname and no UID
$ tpaddusr foo /home/tuxapp/pwfile
$ # 2. Add usrname foo with cltname bar and UID 100
$ tpaddusr foo /home/tuxapp/pwfile bar 100
$ # 3. Add usrname foo with tpsysadm cltname and no UID
$ tpaddusr foo /home/tuxapp/pwfile tpsysadm
$ # 4. Add wildcard usrname with tpsysop cltname and no UID
$ tpaddusr '*' /home/tuxapp/pwfile tpsysop
$ # 5. Add wildcard usrname with wildcard cltname and no UID
$ tpaddusr '*' /home/tuxapp/pwfile '*'
次の表は、アプリケーションに対する様々なアクセス・リクエストを認証するのに使用するパスワード・ファイル・エントリ(上記の番号で示されます)を示します。
N/Aは、パスワード・ファイルに一致するエントリが存在しないため、リクエストが許可されないことを示します。
Usrname Cltname Password Entry
------ ------- --------------
���foo��� "bar" 2
"foo" "" 1
"foo" "tpsysadm" 3
"foo" "tpsysop" 4
"guest" "tpsysop" 4
"guest" "bar" 5
"guest" "tpsysadm" N/A
次に、上記で作成されたパスワード・ファイル用の
AUTHSVRインスタンスのための
SERVERSセクション例を示します。
AUTHSVR SRVGRP=G SRVID=1 RESTART=Y GRACE=0 MAXGEN=2 CLOPT=���-A -- -f /home/tuxapp/pwfile���
tmchgpwd: 指定されたパスワード識別子のパスワードを変更します。
tmchgpwd key1[ key2 key3...]
tmchgpwdは、実行時にTuxedoで指定されたパスワード識別子のパスワードを変更します。次のように、指定のパスワード識別子に対して新しいパスワードをコンソールから入力するように要求します。
Password for IDENTIFIER (KEY=key1):
このツールでは、Oracle Tuxedo 12cリリース2 (12.1.3) RP003以上が必要です。
OPENINFO="Oracle_XA:Oracle_XA+SqlNet=ORCLSLCE04CN04+Acc=P/scott/${tuxconfig.abc}+SesTM=100+LogDir=.+MaxCur=5"
Password for IDENTIFIER (KEY= tuxconfig.abc):
Password for tuxconfig.abc has been changed successfully.
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との互換性を保つためには(これらのセキュリティ・レベルに移行できるようにするためにも)、次の制限に従う必要があります。
•
|
ユーザー名はユニークでなければならず、ワイルドカードを使用することはできません。
|
•
|
ユーザー識別子はユニークで、0より大きく128K未満でなければなりません。
|
•
|
ファイル名は $APPDIR/tpusrでなければなりません。
|
『Oracle Tuxedoアプリケーション実行時の管理』
tpgrpadd - システムに新しいグループを追加
tpgrpadd [-g GID] grpname
tpgrpaddは、Oracle Tuxedoセキュリティ・データ・ファイルに適切なエントリを追加することにより、システム上で新しいグループ定義を作成します。この情報は、
AUTHSVR(5)サーバーによるOracle Tuxedoシステムの認証や、アクセス制御に使用されます。このコマンドを実行する前に、
SECURITYを
USER_AUTH、
ACLまたは
MANDATORY_ACLに設定したOracle Tuxedoの構成を作成する必要があります。
新しいグループのグループ識別子を指定します。このグループ識別子は、16Kより小さい10進数の負でない整数でなければなりません。
GIDのデフォルトは、1以上の次の使用可能な(一意の)識別子です。グループ識別子0は、「other」グループ用に予約されています。
新しいグループの名前を指定する出力可能な文字列。値の中にシャープ(
#)、カンマ(
,)、コロン(
:)または改行文字(
\n)を含めることはできません。
このコマンドを実行する前に、(a)グラフィカル・ユーザー・インタフェースまたは
tmloadcf(1)のいずれかを使用してアプリケーションを構成し、(b)
TUXCONFIGファイルを指すように
TUXCONFIG環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、
tpgrpaddを構成の
MASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
tpgrpaddコマンドは正しく完了すると、終了コード
0で終了します。
『Oracle Tuxedoアプリケーション実行時の管理』
tpgrpdelは、Oracle Tuxedoセキュリティ・データ・ファイルから対応するグループのエントリを削除することによって、システムからグループの定義を削除します。ただし、ユーザー・ファイルからグループIDは削除されません。このコマンドを実行する前に、
SECURITYを
USER_AUTH、
ACLまたは
MANDATORY_ACLに設定したOracle Tuxedoの構成を作成する必要があります。
このコマンドを実行する前に、グラフィカル・ユーザー・インタフェースまたは
tmloadcf(1)のいずれかを使用してアプリケーションを構成し、
TUXCONFIGファイルを指すように
TUXCONFIG環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、
tpgrpdelを構成の
MASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
tpgrpdelコマンドは正しく完了すると、終了コード
0で終了します。
『Oracle Tuxedoアプリケーション実行時の管理』
tpgrpmod [-g GID] [-n name] grpname
tpgrpmodは、Oracle Tuxedoセキュリティ・データ・ファイルの適切なエントリを変更することによって、指定したグループの定義を変更します。このコマンドを実行する前に、
SECURITYを
USER_AUTH、
ACLまたは
MANDATORY_ACLに設定したOracle Tuxedoの構成を作成する必要があります。
新しいグループのグループ識別子を指定します。このグループ識別子は、16Kより小さい10進数の負でない整数でなければなりません。グループ識別子0は、「other」グループ用に予約されています。
新しいグループの名前を、表示可能な文字の重複しない文字列で指定します。カンマ(
,)、コロン(
:)または改行文字(
¥n)を使うことはできません。
このコマンドを実行する前に、(a)グラフィカル・ユーザー・インタフェースまたは
tmloadcf(1)のいずれかを使用してアプリケーションを構成し、(b)
TUXCONFIGファイルを指すように
TUXCONFIG環境変数を設定する必要があります。アプリケーションがアクティブでない場合は、
tpgrpmodを構成の
MASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
tpgrpmodコマンドは正しく完了すると、終了コード
0で終了します。
『Oracle Tuxedoアプリケーション実行時の管理』
tpkill - 掲示板をロックし、Tuxedoサーバーを強制終了します。
tpkillは掲示板をロックし、
SIGKILLシグナルを指定のTuxedoサーバーに送信します。このコマンドによって、Tuxedoサーバーの終了時に掲示板の整合性を保証できます。
tpkillは、アクティブなTuxedoドメインで実行する必要があります。このコマンドでは、1つまたは複数のTuxedoサーバー・プロセスID値を指定できます。
tpkillはTuxedoネイティブ・クライアント・アプリケーションとして機能し、環境変数
TUXDIR、
TUXCONFIG、
APPDIRを必要とします。
tpldapconf: 暗号化されたldapバインド・パスワードを生成して
XAUTHSVR/
LAUTHSVR/
GAUTHSVR構成ファイルに書き込むコマンド・ユーティリティ。
tpldapconf [-x | -l | -g][-f ldap_conf_file]
tpldapconfは、
XAUTHSVR/
LAUTHSVR/
GAUTHSVR構成ファイルに暗号化されたバインド・パスワードを生成します。ユーザーは、このツールを使用して
LDAPバインド・パスワードを設定する必要があります。
•
|
ユーザー・パスワードは31文字以内にする必要があります。
|
•
|
$TUXDIR環境変数は、このコマンドを呼び出す前に定義する必要があります。
|
構成ファイルが指定されていない場合、
XAUTHSVRではファイル
$TUXDIR/udataobj/tpldap.xauth、
LAUTHSVRではファイル
$TUXDIR/udataobj/tpldap、
GAUTHSVRではファイル
$TUXDIR/udataobj/tpgauthがそれぞれデフォルト構成ファイルとして扱われます。
構成ファイルにクリア・テキスト・パスワードがすでに存在する場合は、ユーザー入力なしに、暗号化されたパスワードで置き換えられます。それ以外の場合、ユーザーはクリア・テキスト・パスワードの入力を求められ、暗号化されたパスワードが構成ファイルに追加されます。
XAUTHSVR構成ファイルが使用されます。これは現在のデフォルト・オプションです。
-f ldap_conf_fileは、暗号化された
PASSWORDを生成するために使用される
XAUTHSVR/LGAUTHSVR/GAUTHSVR構成ファイルです。
ファイルが存在しない場合は、構成ファイルが作成されます。
tpldapconfコマンドは、Tuxedo System/Tリリース12.1.1以上が動作している非/WSサイト上でのみ使用できます。
[-x | -l | -g]オプションは、リリース12.2.2以上でのみ使用できます。
tpldapconfコマンドは正しく完了すると、終了コード0で終了します。
$tpldapconf ���f tpldap.xauth
tpmigldap - TuxedoユーザーおよびグループをWebLogic Serverに移行
tpmigldap [-h
hostname] [-p
port] [-d
wls_domain] [-r
wls_realm]
[-f
user_password] [-b
bind_DN] [[-w
ldap_adm_password]|
[-c]] [-u
tpusr] [-g
tpgrp] [-i
UID-kw] [-e
GID-kw]
tpmigldapを実行すると、WebLogic Serverのデフォルトのセキュリティ・データベースにTuxedoのユーザーおよびグループを追加できます。このコマンドを実行する前に、SECURITYをUSER_AUTH、ACLまたはMANDATORY_ACLに設定したTuxedoの構成を作成する必要はありません。
WebLogic Serverが存在する
hostname。
WebLogic管理コンソールのポート番号を指定します。
WebLogic Serverドメイン名を指定します。
WebLogic Serverセキュリティ・レルム名を指定します。
WebLogic Serverに移行する全ユーザーのデフォルトのパスワード設定。
バインドDN (通常、WebLogic Server組込みLDAPサーバーの管理者のDN)を指定します。
WebLogic Server組込みLDAPサーバーの管理者のパスワードを指定します。
LDAP管理者のパスワードの入力を求めるようにします。
WebLogic Serverユーザー情報でTuxedo UIDを識別するためのキーワードを指定します。
WebLogic Serverユーザー情報でTuxedo GIDを識別するためのキーワードを指定します。
tpmigldapコマンドは、Tuxedo System/Tリリース8.1以降が動作している非/WSサイト上でのみ使用できます。
tpmigldapコマンドは正しく完了すると、終了コード0で終了します。
$tpmigldap -h proton -c -d wlsdomain -r wlsrealm -b cn=Admin
•
|
『シングル・ポイント・セキュリティ管理の実装』の 「LAUTHSVRの認証サーバーとしての設定」
|
tpmigldif -- ユーザーおよびグループ情報をLDAPデータ交換形式(LDIF)に移行
tpmigldif [-t user|group] [-u tpusr] [-g tpgrp] -f template -o output
tpmigldifコマンドを呼び出すと、ユーザーおよびグループの情報のLDIF出力ファイルが生成されます。ユーザーまたはグループの情報(あるいはその両方)が1行ごとに処理されます。このコマンドは、
GAUTHSVR(5)とともに使用します。
移行タイプを指定します。ユーザー情報にはuserを、グループ情報にはgroupを指定します。デフォルトはuserです。
tpusrファイル名を指定します。デフォルトはtpusrです。
tpgrpファイル名を指定します。デフォルトはtpgrpです。
テンプレート・ファイル名を指定します。
-tが「user」の場合はtpusr-templateが、
-tが「group」の場合はtpgrp-templateがデフォルトです。
出力ファイル名を指定します。デフォルトはconsole/stdoutです。
このコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
tpmigldifコマンドは正しく完了すると、終了コード0で終了します。
•
|
『シングル・ポイント・セキュリティ管理の実装』の 「GAUTHSVRの認証サーバーとしての設定」
|
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との互換性を保つためには(これらのセキュリティ・レベルに移行できるようにするためにも)、次の制限に従う必要があります。
•
|
ユーザー名はユニークでなければならず、ワイルドカードを使用することはできません。
|
•
|
ユーザー識別子は一意であることが必要です。0よりも大きく128KB未満であることが必要です。
|
•
|
ファイル名は $APPDIR/tpusrでなければなりません。
|
『Oracle Tuxedoアプリケーション実行時の管理』
tpusradd - システムに新しいプリンシパルを追加します。
tpusradd [-u UID ] [-g GID] [-c client_name] usrname
tpusraddを実行すると、Oracle Tuxedoセキュリティ・データ・ファイルに新しいプリンシパル(ユーザーまたはドメイン)のエントリが追加されます。この情報は、
AUTHSVR(5)サーバーでユーザー単位の認証に使用されます。
このコマンドを実行するには、以下の準備が必要です。
•
|
グラフィカル・ユーザー・インタフェースまたは tmloadcf(1)のいずれかを使用して、アプリケーションを構成します。
|
•
|
TUXCONFIGファイルを指すように TUXCONFIG環境変数を設定します。
|
•
|
SECURITYを USER_AUTH、 ACL、または MANDATORY_ACLに設定します。
|
アプリケーションがアクティブでない場合、tpusraddを構成の
MASTER上で実行する必要があります。アクティブな場合は、このコマンドはどのアクティブなモードでも実行できます。
このコマンドで作成されたシステム・ファイル・エントリは1行の制限が512文字です。いくつもの(複数の)オプションに長い引数を指定するとこの制限を超えることがあります。
ユーザー識別番号を指定します。
UIDは、128Kより小さい10進数の正の整数でなければなりません。
UIDは、アプリケーションの既存の識別子のリスト内で一意でなければなりません。
UIDのデフォルトは、1以上の次の使用可能な(一意の)識別子です。
既存のグループの整数識別子またはグループ名の文字列を指定します。このオプションは、新しいユーザーのグループ・メンバーシップを定義します。デフォルトは「other」グループ(識別子0)です。
ユーザーに関連付けるクライアント名を、表示可能な文字列で指定します。このオプションを指定した場合、通常は、関連付けられたユーザーのロールを表し、ユーザー・エントリの付加的な修飾子となります。コロン(
:)または改行文字(
¥n)を使うことはできません。このオプションを指定しないと、デフォルトはワイルドカード
「*」になり、どのようなクライアント名を指定しても認証が成功します。
ユーザーの新しいログイン名を、表示可能な文字列で指定します。コロン(
:)、シャープ(
#)または改行文字(
¥n)を使うことはできません。ユーザー名は、アプリケーションの既存の識別子のリスト内で一意でなければなりません。
管理者は、追加したユーザーに割り当てるパスワードを入力するように要求されます。
このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
tpusraddコマンドは正しく完了すると、終了コード
0で終了します。
以下の一連のコマンドは、簡単なユーザー・ファイルの作成例を示します。
$ # 1. Add usrname foo with cltname bar and UID 100
$ tpusradd -u 100 -c bar foo
$ # 2. Add usrname foo with tpsysadm cltname and no UID
$ tpusradd -c tpsysadm foo
次の表は、アプリケーションへの様々なアクセス・リクエストの認証に使用されるユーザー・エントリ(上に書かれている数字で示されます)と、関連付けられるUID/GIDを示します。
N/Aは、ユーザー・ファイルに一致するエントリが存在しないため、リクエストが許可されないことを示します。
Usrname Cltname Password Entry Uid Gid
------- ------- -------------- --- ---
"foo" "bar" 2 100 0
"foo" "" 1 1 0
"foo" "tpsysadm" 3 0 8192
"guest" "tpsysadm" N/A N/A N/A
次に示す例は、上で作成したユーザー・ファイルを処理する
AUTHSVRのインスタンスの「SERVERS」セクション・エントリです。
AUTHSVR SRVGRP=G SRVID=1 RESTART=Y GRACE=0 MAXGEN=2 CLOPT=���-A���
『Oracle Tuxedoアプリケーション実行時の管理』
tpusrdelコマンドは、システムからプリンシパル(ユーザーまたはドメイン名)定義を削除します。指定したユーザーの定義を削除します。
usrnameに、削除する既存のユーザー名を指定します。
このコマンドを実行するには、以下の準備が必要です。
•
|
グラフィカル・ユーザー・インタフェースまたは tmloadcf(1)のいずれかを使用して、アプリケーションを構成します。
|
•
|
TUXCONFIGファイルを指すように TUXCONFIG環境変数を設定します。
|
•
|
SECURITYを USER_AUTH、 ACL、または MANDATORY_ACLに設定します。
|
アプリケーションがアクティブでない場合、tpusraddは構成の
MASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
tpusrdelコマンドは正しく完了すると、終了コード
0で終了します。
tpusrmod - システムのユーザー情報を変更
tpusrmod [-u
UID ] [-g
GID] [-c
client_name] [-l
new_login] [-p]
usrname
tpusrmodを実行すると、Oracle Tuxedoセキュリティ・データ・ファイルのプリンシパル(ユーザーまたはドメイン)のエントリが変更されます。この情報は、
AUTHSVR(5)サーバーによるOracle Tuxedoシステム認証に使用されます。
このコマンドを実行するには、以下の準備が必要です。
•
|
グラフィカル・ユーザー・インタフェースまたは tmloadcf(1)のいずれかを使用して、アプリケーションを構成します。
|
•
|
TUXCONFIGファイルを指すように TUXCONFIG環境変数を設定します。
|
•
|
SECURITYを USER_AUTH、 ACL、または MANDATORY_ACLに設定します。
|
アプリケーションがアクティブでない場合、tpusraddは構成の
MASTER上で実行する必要があります。アプリケーションがアクティブな場合は、このコマンドはどのアクティブなノードでも実行できます。
このコマンドで作成されたシステム・ファイル・エントリは1行の制限が512文字です。いくつもの(複数の)オプションに長い引数を指定するとこの制限を超えることがあります。
新しいユーザー識別番号を指定します。
UIDは、128Kより小さい10進数の正の整数でなければなりません。
UIDは、アプリケーションの既存の識別子のリスト内で一意でなければなりません。
既存のグループの整数識別子またはグループ名の文字列を指定します。このオプションによって、ユーザーが属するグループを再定義します。
ユーザーに対するクライアント名を、表示可能な文字の重複しない文字列で指定します。コロン(
:)または改行文字(
¥n)を使うことはできません。
ユーザーの新しいログイン名を、表示可能な文字列で指定します。コロン(
:)、シャープ(
#)または改行文字(
¥n)を使うことはできません。ユーザー名は、アプリケーションの既存の識別子のリスト内で一意でなければなりません。また、このオプションを指定すると、
-pオプションによってパスワードを再設定することになります。
tpusrmodは、指定したユーザーのパスワードを変更します。管理者は、そのユーザーのための新しいパスワードを入力するように要求されます。
変更する既存のユーザーの名前を、表示可能な文字列で指定します。
このコマンドは、Oracle Tuxedoサーバー環境がサポートされるプラットフォームで実行できます。
tpusrmodコマンドは正しく完了すると、終了コード
0で終了します。
『Oracle Tuxedoアプリケーション実行時の管理』
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コマンドには、以下のオプションがあります。
サービスの合計使用時間の最も長いものから順に出力レポートを生成します。指定がなければ、このレポートはサービスの合計呼出し回数によって配列されます。
namesで指定されたサービスに対するレポートだけを生成します。ここで、
namesは複数のサービス名をカンマで区切ったリストです。
サービス・リクエストへの報告を指定された月(
mm)と日(
dd)に限定します。デフォルト設定は、現在の日付です。
指定時刻(
time引数)以降に行われた呼出しのレポートを生成します。
timeの形式は
hr[
:min[
:sec]]です。
指定時刻(
time)以前に終了した呼出しのレポートを生成します。
timeの形式は、
-sフラグと同じです。
txrptによって生成されるレポートは、1日のみを対象とします。入力ファイルに複数の日からのレコードが含まれている場合、
-dオプションがレポート対象の日付を制御します。
サーバーが
txrptを介して解析統計情報を収集する場合、
ULOGDEBUG変数を"
y"には設定しないようにしてください。ファイル内のデバッグ・メッセージを
txrptが間違って解釈してしまいます。
txrpt -nSVC1 -d10/15 -s11:01 -e14:18 < stderr
START AFTER: Thu Oct 15 11:01:00 1992
END BEFORE: Thu Oct 15 14:18:00 1992
SERVICE SUMMARY REPORT
SVCNAME 11a-12n 13p-14p 14p-15p TOTALS
Num/Avg Num/Avg Num/Avg Num/Avg
------ -------- -------- -------- -------
SVC1 2/0.25 3/0.25 1/0.96 6/0.37
------- ------- ------- ------- -------
TOTALS 2/0.25 3/0.25 1/0.96 6/0.37
上記の例は、
SVC1が指定された時間内に全部で6回リクエストされたことを示しています。リクエストを処理する時間は、平均0.37秒でした。
ud、
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を受信するサービスが、レコードをデータベースに追加するサービスの場合、
udにより、Oracle Tuxedo ATMIシステムが認識しているデータベースにバルク・フィールド化データを入力する方法が提供されます。
入力パケットの行の先頭を示すフラグ(「入力形式」を参照)を使用することにより、
udをOracle Tuxedo ATMIサービスのテストに利用できます。
デフォルトでは、
FBFRをサービスに送信した後、
udは
FBFRが戻されることを想定します。送信および応答された
FBFRは
udの標準出力に出力されます。エラー・メッセージは標準エラーに出力されます。
ud32は、
FBFR32タイプのFML32バッファを使用します。
wudおよび
wud32はワークステーション・ライブラリを利用して構築されたバージョンの
udと
ud32です。ワークステーションだけをサポートしているサイトでは、
wudおよび
wud32コマンドだけが提供されています。
送信されたまたは返されたフィールド化バッファの表示を行いません。
すべてのリクエストの応答が遅くなります。
delayには最大の遅延時間(秒)を指定します(これを超えるとタイムアウトします)。タイムアウトが発生した場合は、エラー・メッセージが
stderrに出力されます。
udが前のリクエストの応答メッセージを遅延時間内に受け取ると、それらのメッセージは遅延RTNパケットと示されます。つまり、遅延時間内に複数の応答パケットを受信できます。
-dオプションは、DOSオペレーティング・システムの
wudでは使用できません。
注意:
|
このオプションは、 wudコマンドおよび wud32コマンドでは使用できません。
|
エラー回数が、error_limitで指定されている制限回数を上回ると、udは、リクエストに対する処理を停止します。制限が指定されない場合のデフォルト設定は25です。
udは、サーバーからの応答メッセージを期待しません。
入力バッファの送信と送信の間、スリープ状態になります。
sleeptimeは、スリープ時間を秒単位で指定します。
udは、非トランザクション・モードでブロッキング・リクエストを送信する必要があります。
timeoutには、ブロッキング・リクエストがタイムアウトするまでの秒数を指定します。-bオプションは、
-tオプションや
-dオプションと組み合せて使用することはできません。
udは、トランザクション・モードでリクエストを送信する必要があります。
timeoutには、トランザクションがタイムアウトするまでの秒数を指定します。
-d delayおよび
-r (応答なし)オプションは、
-tオプションと組み合せて使用できません。
新しいパケットを読み取る前にリクエスト・バッファの内容を修正する方法を指定します。
nオプションは、バッファを初期化しなおすことを表します(新しいバッファとして扱います)。
uオプションは、
Fupdate()を使用してバッファを応答バッファで更新することを指定します。
jオプションは、
Fojoin()を使用して応答バッファをリクエスト・バッファに結合することを指定します。(詳細は、
「Fupdate、Fupdate32(3fml)」および
「Fojoin、Fojoin32(3fml)」を参照してください。)
バッファを再初期化してから、各パケットを読み取ります(つまり、各バッファを新しいバッファとして扱います)。このオプションは
-unと同じです。互換性を維持するために存在しています。
usrnameは、アプリケーションに参加するときのユーザー名として使用します。
cltnameは、アプリケーションに参加するときのクライアント名として使用します。
デフォルトのバッファ・サイズが十分に大きくない場合、この
-Sオプションはその容量を拡大するのに使用できます。
buffersizeの値には、
MAXLONGまでの任意の数字を指定できます。
-d delayおよび
-r オプションは、相互に排他的です。
入力パケットは、次のようにフォーマットされた行で構成されます。
flagはオプションです。
flagを指定しなかった場合には、
fldnameで指定され、値
fldvalを持つフィールドの新しいオカレンスがフィールド化バッファに追加されます。
flagを指定する場合は、次のいずれかとします。
FBFR内の
fldnameのオカレンス0を
fldvalに変更します。
fldnameのオカレンス0を
FBFRから削除します。タブ文字は必須で、
fldvalは無視されます。
fldnameの値が変更されます。この場合、
fldvalはフィールド名を指定し、その値が
fldnameで指定されるフィールドに割り当てられます。
fldnameがリテラル値
SRVCNMであると、
fldvalは
FBFRを受け取るサービスの名前となります。
長いフィールド値は、継続行の先頭にタブを挿入することにより、次の行にまたがって入力できます。
改行文字だけで構成される行は入力の終わりを示し、そのパケットを
udに送ります。
入力パケットが文字
nと改行文字で構成される行で始まる場合、
FBFRは初期化しなおされます。
FBFRの再初期化は、コマンド行に
-unオプションを使用することですべてのパケットに指定することができます。
表示できない文字を入力パケットに入力するには、エスケープ規則を使用して、その後に必要な文字を2文字の16進表現で入力します。(詳細は、UNIXリファレンス・マニュアルの
ascii(5)の項を参照してください。)シェルからエスケープを保護するためにもう1つバックスラッシュが必要です。たとえば、空白は
\20として入力データに入力できます。
udでは、このフォーマットのすべての入力が認識されますが、最も役立つのは表示できない文字の場合です。
最初、
udはフィールド化バッファを標準入力から読み取り、サービスに送信します。このサービスの名前は、
fldnameが
SRVCNMと等しい行の
fldvalに指定されています。
-rオプションが選択されないかぎり、
udは応答フィールド化バッファを待機します。応答を取得した後で、
udは標準入力からもう1つのフィールド化バッファを読み取ります。そのとき、
udは戻されたバッファを現在のバッファとして保持します。これは、2つ目のフィールド化バッファを構成する標準入力の行が、戻されたバッファに追加されるということです。つまり、デフォルトの処理では、
udが現在のバッファ(一連の入力行によって追加された内容)を維持します。セットは空白行で区切られます。現在のバッファを破棄(つまり、
FBFR構造体の再初期化)するように、
udに指定することができます。これには、
-unオプションをコマンド行に指定するか、文字
nだけを含む行を入力セットの最初の行に含めます。応答バッファの内容をリクエスト・バッファにマージするように、
udに指定することもできます。これには、
-uuオプション(
Fupdateが使用される)または
-ujオプション(
Fojoinが使用される)を指定します。
udをセキュリティ付きアプリケーションで実行する場合は、アプリケーション・パスワードを指定しないとアプリケーションにアクセスできません。標準入力が端末である場合、
udは、応答のエコーをオフの状態でユーザーにパスワードの入力を求めます。ただし、
udは標準入力のバルク入力を受け入れるため、通常、標準入力は端末ではなくファイルです。この場合、パスワードは環境変数
APP_PWから取得されます。アプリケーション・パスワードが必要な場合に、この環境変数が指定されていないと、
udは異常終了します。
これらのコマンドは、Oracle Tuxedo ATMIサーバー環境がサポートされるプラットフォームで実行できます。
FLDTBLDIRおよび
FIELDTBLSを設定してエクスポートする必要があります。
FLDTBLDIRのディレクトリのリストには、
$TUXDIR/udataobjが含まれていなければなりません。
FIELDTBLSには、フィールド表の1つとして
Usysfldsが含まれていなければなりません。
標準入力が端末でない場合、保護アプリケーションではAPP_PWをアプリケーション・パスワードに設定しなければなりません。
TPIDATAは、標準入力が端末でない場合、認証サーバーで保護アプリケーションにアプリケーションを結合するのに必要なそのアプリケーション特定のデータに設定しなければなりません。
また、ワークステーションからアクセスする場合には、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に設定するなどします。
UNIXシステムのリファレンス・マニュアルのascii(5)
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
『FMLを使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
『Oracle Tuxedoアプリケーション実行時の管理』
viewc、
viewc32 - Oracle Tuxedo ATMI VIEWを生成するVIEWコンパイラ
viewc [-n] [-d viewdir] [-C] viewfile [viewfile . . . ] [-l]
viewc32 [-n] [-d viewdir] [-C] viewfile [viewfile . . . ][-s][-S][-l]
viewcはVIEWコンパイラ・プログラムです。ソースVIEWファイルを取り込み、以下のファイルを作成します。
•
|
実行時に解釈されて、 FMLバッファとC構造体との間で実際のマッピングを行うバイナリ・ファイル。
|
•
|
COBOLコピー・ファイル(必要な場合)。( viewcの実行時には、Cコンパイラが使用可能でなければなりません。)
|
viewc32は、32ビットのFMLで使用します。環境変数
FIELDTBLS32および
FLDTBLDIR32を使用します。
viewfileは、ソース・ビュー記述を収めているファイルです。複数の
viewfileを
viewcコマンド行に指定できます。ただし、同じ
VIEW名が複数の
viewfileに使用されていない場合にかぎります。
デフォルトでは、
viewfileのすべてのビューがコンパイルされ、複数のファイルが作成されます。ビュー・オブジェクト・ファイル(接尾辞
.V)とCヘッダー・ファイル(接尾辞
.h)です。代替ディレクトリが
-dオプションで指定されないかぎり、オブジェクト・ファイルの名前はカレント・ディレクトリの
viewfile.Vです。Cヘッダー・ファイルは、カレント・ディレクトリ内に作成されます。
-Cオプションを指定すると、
viewfileで定義している
VIEW 1つにつき1つのCOBOLコピー・ファイルが作成されます。これらのコピー・ファイルはカレント・ディレクトリに作成されます。
viewcによるコンパイル時には、コンパイラによって、
viewfileに指定されているフィールド識別子
とフィールド名が、フィールド表ファイルから得られる情報と照合され、後で使用するためにマッピング情報がオブジェクト・ファイルに格納されます。したがって、環境変数
FIELDTBLSおよび
FLDTBLDIRを設定およびエクスポートして、関連するフィールド表ファイルを指すようにすることが重要です。
FIELDTBLSと
FLDTBLDIRの詳細は、
『FMLを使用したOracle Tuxedo ATMIアプリケーションのプログラミング』と『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』を参照してください。
viewcコンパイラがフィールド名とそのフィールド識別子
の対応をとれなかった場合(環境変数が正しく設定されていなかったり、フィールド表ファイルにフィールド名が含まれていなかった場合)、警告メッセージ
「Field not found」が表示されます。
-nオプションを使用すれば、
FMLバッファにマッピングされていないC構造体に対応するVIEW記述ファイルを作成することができます。
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』では、このような独立したVIEW記述ファイルを作成および使用する方法について説明しています。
FMLバッファにマッピングされていないC構造体に対応するVIEW記述ファイルをコンパイルするときに使用します。このオプションを使用すると、VIEWコンパイラはFML情報を検索しません。
VIEWオブジェクト・ファイルをカレント・ディレクトリ以外で作成するために指定します。
COBOLコピー・ファイルを作成するよう指定します。
大文字/小文字が区別されるファイル名を使用して、viewc/viewc32にCOBOLコピー・ファイルを生成させます。常に
-Cオプションとともに使用されます。
注意:
|
Windowsプラットフォームでは大文字/小文字が区別されるため、このオプションはWindowsプラットフォームでは意味がありません。
|
VIEWファイルの解釈時にフィールドのソートを禁止します。
VIEWファイルのメモリー整列を行わないことを指定します。
viewcは通常、デフォルトのC言語コンパイル・コマンドを使用してクライアント実行可能コードを生成します。デフォルトのC言語コンパイル・コマンドは、サポートされているオペレーティング・システムごとに定義されており、UNIXシステムの場合は
cc(1)です。代替コンパイラを指定できるようにするため、
viewcは環境変数
CCが存在するかどうかを調べます。
CCが
viewcの環境に存在しない場合、またはこの環境変数が文字列
""である場合、
viewcはデフォルトのC言語コンパイラを使用します。環境内に
CCが存在する場合、実行されるコンパイラの名前がCCの値となります。
環境変数
CFLAGSは、コンパイラ・コマンド行の一部として引き渡される引数のセットを指定するときに使用します。
CFLAGSが
viewcの環境に存在しない場合、または文字列
""である場合、
buildclientはコンパイラ・コマンド行引数を追加しません。64ビット・プラットフォームで32ビットのメモリー・モードを使用する場合は、
long型のサイズとして4を設定します。
出力VIEWファイルは、マシンおよびコンパイラに依存するバイナリ・ファイルです。あるマシン上で特定のコンパイラを使用してビューを生成した場合、そのVIEWファイルを別のタイプのマシン上で使用することはできません。また、パディングやパッキングなど、生成される構造体オフセットが異なるコンパイラで使用することもできません。
使用するCコンパイレーション・システムを指定します。Microsoft Cコンパイラでは
mです。Microsoft Cコンパイラがこのオプションの省略値です。
-cオプションはWindowsでのみサポートされます。
パス1を実行し、作成されるバッチ・ファイルに
filename.batという名前を付けます。このファイルが作られた後、パス2を実行する前にそれを実行する必要があります。パス1とパス2を使用すると、コンパイルできるVIEWのサイズを拡大できます。
パス1の出力を使用して、処理を完了するためにパス2を実行するように指定します。
『Oracle Tuxedo ATMI FML関数リファレンス』の
「FML関数の紹介」
『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
viewcs、
viewcs32 — 顧客定義のVIEWファイルであるTuxedo .NETワークステーション・クライアント・アプリケーション用のC#ソース・ファイルと.dllライブラリ・ファイルを生成
viewcs [binarydllfile] binaryviewfile [binaryviewfile...]
viewcs32 [binarydllfile] binaryviewfile [binaryviewfile...]
viewcsは、カスタマ定義VIEWファイルのC#ソースと.dllライブラリ・ファイルを生成するために使用されるユーティリティです。
viewc出力ファイル(ファイル名の拡張子がDOS/Windowsでは
.VV、他のプラットフォームでは拡張子が
.VのバイナリVIEWファイル)を入力として、対応するC#ソースおよび.dllライブラリ・ファイル(カスタマ定義ビュー構造を表現するクラスを含む)を生成します。バイナリ
.dllファイルが提供されない場合、dllライブラリ・ファイルは生成されません。
viewcや
viewc32とは異なり、
viewcsおよび
viewcs32は環境変数に依存しません。必要とする唯一の入力は、コマンド行で指定するバイナリのVIEWファイルです。
viewdis、
viewdis32 - バイナリVIEWファイル対応のVIEW逆アセンブラ
viewdis viewobjfile . . . viewdis32 viewobjfile . . .
viewdisはVIEWコンパイラが生成したVIEWオブジェクト・ファイルを逆アセンブルし、VIEWファイル形式でVIEW情報を表示します。また、対応する構造体メンバーのオフセットも表示します。
1つまたは複数の
viewobjfiles (接尾辞は
.V)をコマンド行に指定できます。デフォルトの設定では、カレント・ディレクトリの
viewobjfileが逆アセンブルされます。これが見つからないと、エラー・メッセージが表示されます。
viewobjfileにある情報は、フィールド表ファイルの情報を使用してVIEWファイルにあるフィールド識別子
とフィールド名の整合により取得されたため、環境変数
FIELDTBLSおよび
FLDTBLDIRの設定およびエクスポートを行うことが重要になります。
viewdisの出力は元のVIEW記述と同じように見え、主にコンパイル後のオブジェクトVIEW記述が正しいかどうかを検証するときに使用します。
viewdis32は、32ビットのFMLで使用します。環境変数
FIELDTBLS32および
FLDTBLDIR32を使用します。
『FMLを使用したOracle Tuxedo ATMIアプリケーションのプログラミング』