このスクリプトは、e-docsドキュメントの検索に必要なGoogle検索のURLを出力します。
このスクリプトは、e-docsドキュメントに必要なバナーを出力します。
このスクリプトは、e-docsドキュメントの検索に必要なGoogle検索のパラメータを出力します。
リファレンス・ガイド
Oracle Tuxedo Message Queueコマンド・リファレンス
表1 Oracle Tuxedo Message QueueのUBBコマンド
OTMQクライアント・モジュールの構成に使用します。
Oracle Tuxedoアプリケーション・サーバーで実行できるOTMQロード・モジュールの構成に使用します。
既存の/Q QspaceのOTMQ Qspaceへのアップグレード/移行に使用するユーティリティです。
現在のパスに
UBB/DUBB/CRQUE/ENV/NameEnv
を作成するために使用します。
buildqclient
名前
buildqclient
は、OTMQのクライアント・モジュールの構成に使用します。
形式
説明
buildqclientは、OTMQのクライアント・モジュールの構成に使用します。このコマンドは、-fおよび-lオプションで指定されるファイルと標準Oracle Tuxedo ATMIライブラリを組み合せて、ロード・モジュールを作成します。ロード・モジュールは、使用しているオペレーティング・システム用に定義されたデフォルトのC言語コンパイル・コマンドを使用し、buildqclientによってビルドされます。UNIXシステム用のデフォルトのC言語コンパイル・コマンドは、UNIXシステムのリファレンス・マニュアルで説明されているccコマンドです。
次のオプションを指定できます。
-v
buildqclientを冗長モードで動作させます。特に、コンパイル・コマンドをその標準出力に書き出します。
-w
ワークステーション・ライブラリを使用してクライアントを作成することを指定します。デフォルトの設定では、ネイティブ・モードおよびワークステーション・モード両方のライブラリがある場合には、ネイティブ・クライアントが作成されます。このオプションは、-rオプションとともには使用できません。
-r rmname
クライアントに関連するリソース・マネージャを指定します。rmnameは、
$TUXDIR/udataobj/RM
にあるリソース・マネージャの表にあるものでなければなりません。このファイル内の各行は、
rmname:rmstructure_name:library_names
のような形式です。
rmnameの値を使用することにより、
$TUXDIR/udataobj/RM
にあるエントリによってリソース・マネージャに関連するライブラリが自動的にインクルードされ、トランザクション・マネージャとリソース・マネージャ間のインタフェースを正しく設定するのに使用されます。他の値は、リソース・マネージャの表に追加されているものを指定できます。-rオプションが指定されない場合、デフォルトでは、クライアントはリソース・マネージャに関連付けられません。
-o name
出力ロード・モジュールのファイル名を指定します。このオプションが指定されない場合は、ロード・モジュールはa.outという名前になります。
-f firstfiles
buildqclientのコンパイルおよびリンク・フェーズの最初に、Oracle Tuxedo ATMIライブラリおよびOTMQライブラリよりも前に取り込む、1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。コンパイラ・オプションおよび引数を含むように指定する場合は、この後に説明するCFLAGS環境変数を使用します。
-l lastfiles
buildqclientのコンパイルおよびリンク・フェーズの最後に、Oracle Tuxedo ATMIライブラリおよびOTMQライブラリの後に取り込む、1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。
環境変数
TUXDIR
buildclientは、環境変数TUXDIRを使用して、クライアント・プロセスのコンパイル時に使用するOracle Tuxedo ATMIライブラリとインクルード・ファイルを検索します。
CC
buildqclientは通常、デフォルトのC言語コンパイル・コマンドを使用してクライアントの実行可能ファイルを生成します。デフォルトのC言語コンパイル・コマンドは、サポートされているオペレーティング・システムごとに定義されており、UNIXシステムの場合はcc(1)です。代替コンパイラを指定できるように、buildqclientは環境変数CCが存在するかどうかを調べます。buildqclientの環境にCCが存在しないか、またはCCが空文字列("")の場合、buildqclientでは、デフォルトのC言語コンパイラが使用されます。環境内にCCが存在する場合、実行されるコンパイラの名前がCCの値となります。
CFLAGS
環境変数CFLAGSは、コンパイラ・コマンド行の一部として引き渡される引数のセットを指定するときに使用します。この環境変数は、コマンド行オプション「-I${TUXDIR}/include」とともに、buildqclientによって自動的に引き渡されます。buildqclientの環境にCFLAGSが存在しないか、またはCFLAGSが空文字列("")の場合、buildqclientでコンパイラのコマンド行引数は追加されません。
LD_LIBRARY_PATH
(UNIXシステムの場合)
環境変数LD_LIBRARY_PATHには、Oracle Tuxedoシステムの共有オブジェクト以外の共有オブジェクトが存在するディレクトリを指定します。HP-UXシステムではSHLIB_PATH環境変数を、AIXシステムではLIBPATH環境変数を使用します。
LIB
(Windows NTシステム)
ライブラリを検索するディレクトリのリストを示します。複数のディレクトリを指定する場合はセミコロン(;)で区切ります。
buildqserver
名前
buildqserver
- Tuxedoアプリケーション・サーバーで実行できるOTMQロード・モジュールの構成に使用します。
形式
説明
buildqserverは、Tuxedoアプリケーション・サーバーで実行できるOTMQロード・モジュールの構成に使用します。このコマンドは、-fおよび-lオプションで指定されるファイルと、標準のサーバー・メイン・ルーチンおよび標準のOTMQライブラリを組み合せて、ロード・モジュールを作成します。ロード・モジュールは、buildqserverによって起動されるccコマンドでビルドされます。
次のオプションを指定できます。
-v
buildqserverを冗長モードで動作させます。特に、コンパイル・コマンドをその標準出力に書き出します。
-o outfile
出力されるロード・モジュールを収めるファイルの名前を指定します。指定されない場合、ロード・モジュールの名前はSERVERになります。
-f firstfiles
buildqserverのコンパイルおよびリンク・フェーズの最初に、Oracle Tuxedo ATMIライブラリおよびOTMQライブラリよりも前に取り込む、1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。コンパイラ・オプションおよび引数を含むように指定する場合は、この後に説明するCFLAGS環境変数を使用します。
-l lastfiles
buildqserverのコンパイルおよびリンク・フェーズの最後に、Oracle Tuxedo ATMIライブラリおよびOTMQライブラリの後に取り込む、1つまたは複数のユーザー・ファイルを指定します。複数のファイルを指定する場合は、各ファイル名を空白で区切り、リスト全体を引用符で囲まれなければなりません。このオプションは何回指定してもかまいません。
-r rmname
このサーバーのリソース・マネージャを指定します。rmnameは、$TUXDIR/udataobj/RMにあるリソース・マネージャの表にあるものでなければなりません。このファイルの各行は次のような形式になります。
rmname:rmstructure_name:library_names
。
rmnameの値を使用することにより、$TUXDIR/udataobj/RMにあるエントリを使用してリソース・マネージャに関連したライブラリが自動的にインクルードされ、トランザクション・マネージャとリソース・マネージャ間のインタフェースが正しく設定されます。他の値は、リソース・マネージャの表に追加されているものを指定できます。-rオプションが指定されない場合は、デフォルトでnullリソース・マネージャが使用されます。
-s { @filename | service[,service...][:func] | :func }
サーバーの起動時に公開するサービスの名前を指定します。サービス名および暗黙の関数名は127文字以下でなければなりません。明示的関数名(コロンの後に指定する名前)は、128文字まで使用できます。この文字数より長い名前が指定された場合は、警告メッセージが表示されて短縮されます。tmadminまたはTM_MIBによりファイルを取得した場合は、名前の最初の15文字のみが表示されますサービスに関連付けるすべての関数は、このオプションに指定する必要があります。ほとんどの場合、サービスは同じ名前を持つ関数によって実行されます(つまり、xサービスは関数xによって実行されます)。たとえば、「-s x,y,z」のように指定すると、サービスx、yおよびzと関連付けられたサーバーがビルドされ、それぞれが同名の関数によって処理されます。
その他のケースでは、異なる名前の関数でサービスが実行されることもあります。「-s x,y,z:abc」のように指定すると、サービスx、yおよびzと関連付けられたサーバーがビルドされ、それぞれが関数abcによって処理されます。カンマとカンマの間に空白を入れてはいけません。関数名の前にはコロンを付けます。別のケースでは、実行時までサービス名がわからない場合もあります。サービスを関連付けられる関数は、buildqserverに指定する必要があります。サービス名をマップできる関数を指定するには、関数名の前にコロンを付けます。たとえば、「-s :pqr」のように指定すると、サービスと関連付けられた関数pqrを持つサーバーがビルドされ、tpadvertiseによってサービス名とpqr関数のマッピングに使用されます。ファイル名は、-sオプションを使用し、先頭に文字「@」を付けて指定できます。このファイルの各行は、-sオプションの引数とみなされます。このファイルにコメントを入力できます。コメントは必ず文字「#」で始めます。このファイルを使用すると、サービスをマップできるすべての関数をサーバーに指定できます。-sオプションは何回使用してもかまいません。「.」で始まるサービスはシステムが使用するために予約されており、-sオプションを使用してそのようなサービスをサーバーに組み込むと、buildqserverが失敗します。
-t
マルチスレッド処理を指定します。サーバーをマルチスレッド操作で使用する場合は、必ずこのオプションを指定してください。構成ファイルのMAXDISPATCHTRHREADSに1より大きな値が設定されている場合に、このオプションを指定せずにサーバーを起動しようとすると、ユーザー・ログに警告メッセージが出力され、サーバーはシングル・スレッド操作に戻ります。
このオプションは、管理者がスレッド・セーフな方法でプログラミングされていないサーバーをマルチスレッド・サーバーとして起動するのを防止するために使用されます。
環境変数
TUXDIR
buildclientは、環境変数TUXDIRを使用して、クライアント・プロセスのコンパイル時に使用するOracle Tuxedo ATMIライブラリとインクルード・ファイルを検索します。
CC
buildqclientは通常、デフォルトのC言語コンパイル・コマンドを使用してクライアントの実行可能ファイルを生成します。デフォルトのC言語コンパイル・コマンドは、サポートされているオペレーティング・システムごとに定義されており、UNIXシステムの場合はcc(1)です。代替コンパイラを指定できるように、buildqclientは環境変数CCが存在するかどうかを調べます。buildqclientの環境にCCが存在しないか、またはCCが空文字列("")の場合、buildqclientでは、デフォルトのC言語コンパイラが使用されます。環境内にCCが存在する場合、実行されるコンパイラの名前がCCの値となります。
CFLAGS
環境変数CFLAGSは、コンパイラ・コマンド行の一部として引き渡される引数のセットを指定するときに使用します。この環境変数は、コマンド行オプション「-I${TUXDIR}/include」とともに、buildqclientによって自動的に引き渡されます。buildqclientの環境にCFLAGSが存在しないか、またはCFLAGSが空文字列("")の場合、buildqclientでコンパイラのコマンド行引数は追加されません。
LD_LIBRARY_PATH
(UNIXシステムの場合)
環境変数LD_LIBRARY_PATHには、Oracle Tuxedoシステムの共有オブジェクト以外の共有オブジェクトが存在するディレクトリを指定します。HP-UXシステムではSHLIB_PATH環境変数を、AIXシステムではLIBPATH環境変数を使用します。
LIB
(Windows NTシステム)
ライブラリを検索するディレクトリのリストを示します。複数のディレクトリを指定する場合はセミコロン(;)で区切ります。
ConvertQSPACE
名前
ConvertQSPACE
- キュー・マネージャ管理プログラム
形式
説明
OTMQへのアップグレードにより、より高速なエンキュー/デキュー、非同期通信、リカバリ・メッセージ記憶域、オンラインまたはオフライン・トレード(あるいはその両方)、pub/subモード、失敗したメッセージの自動処理など、多くの新機能が利用できます。
このユーティリティにより、既存の/Q QspaceをOTMQ Qspaceにアップグレードでき、データも円滑に移行できます。既存の/Qキューは、以前の動作と整合性のある無制限キューにマッピングされます。
QMCONFIG環境変数は、/Qデバイスとして構成する必要があります。
指定された/QおよびOTMQデバイスは、同時に別のプロセスからは使用できません。
変換は、/Qデバイスにとっては読取りのみです。このため、変換処理が予期せず中断されても、成功するまでやりなおしが可能です。
TMSサーバーが変更されているため、トランザクションは移行できません。
次のオプションを指定できます。
-d device
新規のOTMQデバイスの名前を指定します。すでに存在する場合、オープンされていなければ、それを再利用しようとします。
-s qspace
OTMQ Qspaceに変換する/Q Qspaceの名前を指定します。
-i ipckey
新規のOTMQ QspaceのIPCキーを指定します(元の/Q QspaceのIPCキーと同じものは指定できません)。
-h
dmqclconv
名前
dmqclconv
— 現在のパスにUBB/DUBB/CRQUE/ENV/NameEnv
を作成します。
形式
説明
OMQ構成ファイルをUBB/DUBB/CRQUE
ファイルに変換するOTMQ構成変換ツール・コマンド。
注意:
dmqclconvが出力できるのは、1つのUBB/DUBB/ENV/CRQUE/NameEnv
ファイルのみです。1つのOracle Tuxedoドメインに複数のグループがデプロイされている場合は、CRQUE
ファイルによってすべてのグループが作成されます。
-g
このinitファイルのローカル・グループ番号を指定します。OMQと同様に、すべてのinitファイルにローカル・グループ番号があります。initファイルには、XGROUPセクションは必要ありません。
-f
OMQ initファイルを指定します。
dmqclconv
では、1つ以上のinitファイルが入力パラメータとしてサポートされます。
-l
OTMQリンク・サービスをデプロイする環境を指定します。
制限
パーサーOMQ構成ファイルのグループの最大数は100です。
パーサーOMQ構成ファイルのファイルの最大数は100です。
グループ番号の最大長は15です。
OMQ構成の最大パスは256です。
パーサーOMQ構成ファイルのxgroupの最大数は100です。
OMQ構成ファイルのclsポートの最大数は100です。
busidの最大長は15です。
dmqclconvを使用するコマンドの最大長は1024*100です。
例
dmqclconv -g group1 -f dmq1.init -g group2 -f dmq2.init
dmqclconv -g group1 group2 group3 -f dmq1.init
tmqadmin
名前
tmqadmin
- キュー・マネージャ管理プログラム
形式
説明
tmqadminは、次の一覧で示す各種コマンドを使用することにより、メッセージ・キューの作成、検査および変更を行います。汎用デバイス・リスト(UDL)は、Oracle Tuxedo ATMIシステムが稼働するマシンに物理ストレージ・スペースをマップします。UDLのエントリは、キューとキュー・スペースのメッセージが格納される、ディスク空間を指定します。キュー・スペースのための汎用デバイス・リストが存在する(または存在することになる)デバイス(ファイル)名は、コマンド行引数として指定することも、環境変数QMCONFIGを介して指定することもできます。この両方で指定された場合には、コマンド・オプションが使用されます。
tmqadminはシステムの提供するコマンドであり、通常の初期化プロセスを経ないため、UBBCONFIGファイルからULOGPFXの値を参照しません。そのため、tmqadminコマンドによって生成されるすべてのログ・エントリは、現在の作業ディレクトリに書き込まれます。これに対処するには、ULOGPFX環境変数をユーザー・ログのあるディレクトリのパス名に設定して、エクスポートします。
tmqadminでは、プロンプトとして「より大きい」の記号(>)が使用されます。引数はタブまたは空白(あるいは両方)で区切って入力します。空白を含む引数は二重引用符で囲むこともできます。二重引用符で囲んだ引数に二重引用符が含まれる場合は、含まれる二重引用符の前にバックスラッシュを付ける必要があります。必要な情報がコマンド行に指定されない場合は、コマンドによって情報の入力を求められます。必須の引数が入力されないと、警告メッセージが表示され、プロンプトが再び表示されます。オプションのパラメータに関する情報に対してはプロンプトは表示されません。
ユーザーは、コマンドの入力を求められた際に、qまたは<CTRL-d>と入力することでプログラムを終了できます。[Break]キーを押すと、コマンドからの出力を終了でき、新しいコマンドを入力するように求められます。コマンドの入力を求められた際に[Return]キーを押すと、[Break]キーを押した後を除き、直前のコマンドが繰り返し実行されます。
[Return]を押した後でコマンドを取り消す方法はありません。[Break]を押してもコマンドの出力(ある場合)が終了するだけです。したがって、[Return]を押す前にコマンドを正しく入力したことを確認してください。
tmqadminコマンドからの出力は、使用しているページ別表示コマンドによってページごとに表示されます(後述のpaginateサブコマンドを参照)。
tmqadminとのセッションを開始したときには、開いているキュー・スペースはありません。キュー・スペースを作成するにはqspacecreateを実行し、キュー・スペースを開くにはqopenを実行します。qaborttrans、qclear、qclose、qchangeprio、qchangequeue、qchangetime、qchangeexptime、qcommittrans、qchange、qcreate、qdeletemsg、qinfo、qlist、qprinttransおよびqsetコマンドは、キュー・スペースがオープンされている場合にのみ実行できます。
次のようなコマンドがあります。
一般コマンド
シェルにエスケープして、shellcommandを実行します。
onに設定すると、入力コマンド行をエコーします。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。初期設定はoffです。
help (h) [{command | all}]
ヘルプ・メッセージを表示します。commandを指定すると、そのコマンドについて、省略形、引数および説明が表示されます。allを指定すると、すべてのコマンドに関する説明が表示されます。
引数がコマンド行に指定されていない場合、すべてのコマンドの構文が表示されます。
paginate (page) [{off | on}]
出力をページ単位で表示します。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。標準入力または標準出力が非端末デバイスでないかぎり、初期設定はonです。標準入力と標準出力の両方が端末デバイスの場合にのみonに設定できます。
デフォルトのページ別表示コマンドは、ネイティブのオペレーティング・システム環境に固有のページャになります。たとえば、UNIXオペレーティング・システムでは、pgがデフォルトのコマンドです。シェル環境変数のPAGERを使用すると、デフォルトのページ単位表示出力に使用するコマンドを上書きできます。
冗長モードで出力を生成します。オプションを指定しない場合は、現在の設定が切り替えられて新しい設定が出力されます。初期設定はoffです。
キュー・スペース・コマンド
chdl [dlindex [newdevice]]
汎用デバイス・リストのエントリ名を変更します。第1引数は、汎用デバイス・リストの中の変更するデバイスのインデックスです(デバイス・インデックスはlidlで戻されます)。第1引数をコマンド行で指定しなかった場合は、プログラムによって入力が要求されます。
第2引数は新しいデバイス名です。デバイス名がコマンド行に指定されていない場合、現在のデバイス名が表示され、新しいデバイス名の入力を求めるプロンプトが表示されます。デバイス名の長さは64文字以内に制限されています。デバイス名を変更すると、前のデバイス名を介してファイルやデータにアクセスすることはできなくなるので、このコマンドはよく注意して使用しなければなりません。汎用デバイス・リスト(UDL)とボリューム一覧(VTOC)の詳細は、
『Oracle Tuxedoアプリケーション実行時の管理』 を参照してください。
注意:
このコマンドは、OTMQキュー・スペースがOracle Databaseに格納されている場合はサポートされません。
crdl [device [offset [size]]]
汎用デバイス・リストにエントリを作成します。注意: デバイス・リスト内の最初のエントリが、QMCONFIGによって参照されるデバイスと一致し、0オフセットを含んでいる必要があります。コマンド行に引数が入力されていない場合は、プログラムから入力するように要求されます。
引数は、デバイス名、割当て開始空間のブロック番号および割当て物理ページ(ディスク・セクター)の数です。特定のファイルに1つ以上のエクステントを割り当てることができます。たとえば、/app/queues/myspace 0 500の後に、/app/queues/myspace 1000 500と割り当てると、500から999までのブロックを使用せず、合計1000個のブロックが割り当てられます。デバイス・リストおよび目次用に、最初のデバイス・エントリのうちの数エントリが使用されます。デバイス・リストには、最大25エントリまで作成できます。
OTMQでは、このコマンドは大きなサイズをサポートしています。このコマンドの最大値は2147483647で、単位はブロック・サイズです。
注意:
このコマンドは、OTMQキュー・スペースがOracle Databaseに格納されている場合はサポートされません。
汎用デバイス・リストにあるエントリを破棄します。dlindex引数は、デバイス・リストから削除するデバイスの、汎用デバイス・リストでのインデックスです。コマンド行に入力されていない場合は、プログラムから入力するように要求されます。エントリ0は、すべてのVTOCファイルと他のデバイス・リスト・エントリが破棄されないかぎり削除できません。(エントリ0に含まれるデバイスはデバイス・リストと目次を保持するため、このエントリを破棄すると、これら2つの表も破棄されるためです。)VTOCファイルを削除するには、関連するエンティティを削除するしかありません(たとえば、デバイスに存在するキュー・スペースの破棄)。-yオプションを指定しないかぎり、このコマンドは確認のためのプロンプトを表示します。
注意:
このコマンドは、OTMQキュー・スペースがOracle Databaseに格納されている場合はサポートされません。
ipcrm[-f] [-y] [queue_space_name]
指定されたキュー・スペースに使用されるIPCデータ構造体を削除します。コマンド行にキュー・スペース名が入力されていない場合は、プログラムから入力するように要求されます。指定されたキュー・スペースがtmqadminでオープンされている場合はクローズされます。ipcrmはキュー・スペースで使用されているすべてのIPCリソースを把握しており、これはIPCリソースを削除する唯一の方法です。
tmqadminでは、IPCリソースを削除する前に、別のプロセスがそのキュー・スペースにアタッチしていないことが確認されます。-fオプションを指定すると、他のプロセスがアタッチしている場合でもIPCリソースを強制的に削除できます。-fオプションが指定された場合に-yオプションの指定がなければ、このコマンドは、実行の前に確認のためのプロンプトを表示します。コマンドが正常に完了すると、指定されたキュー・スペースのすべての一時的メッセージが完全に失われます。
キュー・スペースで使用されるIPCデータ構造体(ある場合)を表示します(キュー・スペースがプロセスによって開かれていないと、IPCデータ構造体が使用されない場合があります)。コマンド行にキュー・スペース名が入力されていない場合は、プログラムから入力するように要求されます。
汎用デバイス・リストを表示します。デバイスごとに、索引、名前、先頭ブロックおよびデバイスのブロック数が一覧表示されます。冗長モードでは、未使用領域を示すマップが表示されます(未使用領域の先頭アドレスおよびサイズ)。dlindexを指定すると、デバイス・リストのそのエントリについての情報のみが表示されます。
注意:
このコマンドは、OTMQキュー・スペースがOracle Databaseに格納されている場合はサポートされません。
VTOC表のすべてのエントリについての情報が表示されます。各エントリについて表示される情報は、VTOC表の名前、VTOC表のあるデバイス、デバイスの先頭からのVTOC表のオフセットおよびこの表に割り当てられているページ数があります。VTOCには、最大100のエントリがあります。
注意:
このコマンドは、OTMQキュー・スペースがOracle Databaseに格納されている場合はサポートされません。
qaddext [queue_space_name [pages]]
キュー・スペースにエクステントを追加します。キュー・スペースをアクティブ化しないでください(キュー・スペースにプロセスをアタッチできません)。キュー・スペース名と、キュー・スペースに割り当てる追加の物理ページ数がコマンド行に指定されていない場合、プログラムによって入力が求められます。指定したキュー・スペースがtmqadminで開かれている場合は、閉じられます。物理ページ数は、最も近い4の倍数に切り捨てられます(説明と例は、「
qspacecreate
」を参照)。スペースは、QMCONFIGデバイスに関連付けられたUDLに定義されたエクステントから割り当てられます。新しいキュー・スペース・エクステントそれぞれが、VTOCの追加エントリを使用します(最大100エントリが使用可能)。キュー・マネージャによって、キュー・スペースがすぐに識別して関連付けることができるように、エクステントの名前が付けられます。コマンドが正常に完了すると、指定されたキュー・スペースのすべての一時的メッセージが完全に失われます。
現在開いているキュー・スペースを閉じます。コマンドが正常に完了すると、指定されたキュー・スペースのすべての一時的メッセージが完全に失われます。
qopen [queue_space_name]
またはqopen [queue_space_name.cluster_group_name]
指定したキュー・スペースの内部構造体を開き、初期化します。コマンド行でキュー・スペースを指定しなかった場合は、プログラムがその入力を要求します。キュー・スペースがすでにtmqadminで開かれている場合は、閉じられます。
queue_space_name
がクラスタ・キュー・スペースである場合は、
qopen queue_space_name.cluster_group_name
を設定して、特定のグループ名を指定し、このクラスタで指定されたキュー・スペース・グループを開きます。
qopen queue_space_name
のみを指定すると、
qopen
によって、このクラスタのプライマリ・グループが開きます。
OTMQキュー・スペースがOracle Databaseに格納されている場合、このコマンドは最初にOracle Databaseに接続し、次に、指定されたキュー・スペースを開きます。
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] [-C cursors] [-H handles] [-O owners] [-Q temp_queues] [-f filter_memory] [-T first_temp_queue_No.] [-N queue_alias_file ] [-n nonpersistent_msg_memory[b,B]] [-o overflow_memory] [queue_space_name [ipckey [trans [ procs [ messages [errorq [inityn [blocking]]]]]]]
キュー・スペースのパラメータを変更します。キュー・スペースをアクティブ化しないでください(つまりプロセスをアタッチできません)。必要な情報がコマンド行に入力されていない場合は、プログラムから入力するように要求されます。有効な値は、このページのqspacecreateの項で説明しています。指定したキュー・スペースがtmqadminで開かれている場合は、閉じられます。新しいエクステントを追加するには、qaddextを使用する必要があります。キューの数は変更できません。
qspacecreate (qspc) [-A actions] [-n nonpersistent_msg_memory[b,B]] [-o overflow_memory][-C max cusor][-O max owner][-f maximum filter memory size][-H max handle] [-Q qNum] [-T first temp queue] [-L max linkdriver table][-R max linkdirver route table][-N alias file][queue_space_name [ipckey [pages [queues [trans [procs [messages [errorq [inityn [blocking [SAF_and_DQF_queue [PCJ_journaling [Dead_Letter_Journal]]]]]]]]]]]]] [-F] [-D] [-c group1,group2,...,groupn]
キューに入れられたメッセージ用のキュー・スペースを作成します。OTMQキュー・スペースがOracle Databaseに格納されている場合、このコマンドによって、OTMQキュー・スペースを格納するデータベース表が作成されます。次の情報がコマンド行に指定されない場合は、プログラムによって入力が求められます。キュー・スペース名、共有メモリー・セグメントとセマフォのipckey、キュー・スペースに割り当てる物理ページ数、キューの数、同実行トランザクションの数、キュー・スペースに同時にアタッチされるプロセスの数、一度にキューに入れることができるメッセージの数、キュー・スペースのエラー・キューの名前、キュー・スペースの新エクステントでページを初期化するかどうか、キュー・スペースの初期化とウォーム・スタートのディスク入出力を実行するためのブロッキング要素、SAFおよびDQFキューを作成するかどうか(デフォルトでは作成)、PCJジャーナル処理を有効にするかどうか(デフォルトでは有効)、使用不能のレター・ジャーナルを有効にするかどうか(デフォルトでは有効)です。
リクエストされた物理ページ数は4の倍数に最も近い値に切り下げられます。たとえば、リクエストされたページ数が50の場合、48ページのメモリーが割り当てられ、リクエストされたページ数が52の場合、52ページのメモリーが割り当てられます。エラー・キューには、指定されている最大回数の再試行をすでに実行したメッセージが保存されます(これらのメッセージは、元のキューからエラー・キューに移動されます)。管理者は、このキューが排出されるようにする必要があります。
割り当てられる物理ページは、キュー・スペースのオーバーヘッドを保存できるだけの数(1ページに対し、キューごとに1ページ加算)である必要があります。初期化オプションが「y」または「Y」に指定されている場合、キュー・スペースの格納に使用されるスペースが初期化され、このコマンドの実行に多少の時間がかかる可能性があります。冗長化モードでは、キュー・スペースの初期化が5%完了するたびに、ピリオド(.)が1つ標準出力に表示されます。
初期化オプションがオンになっていないにもかかわらず基本的なデバイスが文字特殊デバイスではない場合、まだそのエクステントに対して指定したサイズに到達していないと、ファイルが初期化されます(つまり、指定されたスペースを割り当てるためにファイルが増加します)。キュー・スペースの作成時やウォーム・スタート(キュー・スペースの再起動)時にブロックの読取りおよび書込みを行う場合、入出力操作のサイズは、ブロッキング要素によって指定されるディスク・ページ・サイズの倍数として計算されます。
SAF (Store And Forward)およびDQF (Destination Queue File)はそれぞれ、ローカル・システムおよびリモート・システムのメッセージ・リカバリ・ジャーナルです。デフォルトでSAFおよびDQFキューが作成されている場合、SAFおよびDQFを使用した配信失敗のリカバリ機能が有効になっています。
PCJ (Post Confirmation Journal)には、正常に確認済のリカバリ可能メッセージが格納されます。PCJはデフォルトで永続アクティブ・キューとして作成されます。
DLJ (Dead Letter Journal)により、自動リカバリでは格納できなかったメッセージのためのディスク記憶域が提供されます。DLJはデフォルトで永続アクティブ・キューとして作成されます。
キューイング・サービス・コンポーネントが同時に処理できる追加アクション数を指定します。
ブロッキング操作の発生時に追加操作を利用できる場合、ブロッキング操作は条件を満たす状態になるまで保留されるように設定されます。ブロッキング操作が保留されると、他の操作リクエストを処理できます。ブロッキング操作が完了すると、その操作に関連する操作は続く操作でも実行できるようになります。ブロッキング操作がリクエストされた時点ですぐに条件を満たす状態にならず、利用可能な操作もない場合には、操作は失敗します。
システムでは、キュー・スペースにアタッチ可能なプロセスの数と同じ数だけ操作が予約されているため、それぞれのキュー・マネージャ・プロセスは少なくとも1つブロッキング操作を所有できます。システムによって予約されているブロッキング操作の数を超える場合、管理者は予約数より多くの追加ブロッキング操作に対応できるようにシステムを設定することができます。
-A actionsオプションが指定されていない場合、デフォルトはゼロになります。-Aオプションが指定されていない場合でも、プログラムがそれを要求することはありません。
-n nonpersistent_msg_memory
キュー・スペース内のすべてのキューの一時的メッセージのために、共有メモリーに確保する領域のサイズを指定します。サイズは、バイト(b)またはブロック(B)で指定し、ブロック・サイズはディスクのブロック・サイズと同じです。[bB]接尾辞はオプションで、指定されない場合、デフォルトはブロックになります。[bB]の最大値は2147483647で、-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オプションが設定されない場合でも、プログラムがそれを要求することはありません。この追加メモリー・スペースは、設定された数よりも多くのオブジェクトを生み出す可能性がありますが、特定の時点で特定のオブジェクト用に追加メモリーが利用可能であるという保障はありません。
現在、アクション、ハンドル、カーソル、オーナー、一時キュー、タイマーおよびフィルタのみがオーバーフロー・メモリーを使用します。
フィルタ・メモリー・サイズの最大値を指定します。指定されない場合、デフォルト値の32768が使用されます。
一時キューの最大値を指定します。指定されない場合、デフォルト値の100が使用されます。
最初の一時キューを指定します。指定されない場合、デフォルト値の200が使用されます。
リンク・ドライバ表の最大値を指定します。指定されない場合、デフォルト値の200が使用されます。
リンク・ドライバ・ルート表の最大値を指定します。指定されない場合、デフォルト値の200が使用されます。
標準テンプレート・ファイルからキュー・スペースを作成します。標準テンプレート・ファイルには3つのタイプがあります。いずれか1つを選択して、キュー・スペースを作成できます。
qs_low_capacity_template
を使用するには値
L
を、
qs_general_capacity_template
を使用するには値
G
を、
qs_high_capacity_template
を使用するには値
H
を設定します。
独自のテンプレート・ファイルを作成します。このテンプレート・ファイルは
TUXDIR/udataobj/OTMQ/template/
に配置されます。このテンプレート・ファイルを指定するか、またはこのテンプレート・ファイルに絶対パスを付与する必要があります。
-c group1,group2,...,groupn
キュー・スペースがクラスタ化されていることを示し、グループ名も指定します。
group1
がプライマリ・グループとして作成されます。
group2, ..., groupn
が物理グループとして作成されます。
設定する
ipckey
は、プライマリ・グループの共有メモリー・セグメントおよびセマフォ用のみです。物理グループの
ipckey
は自動的に計算されます。すべての
ipckey
は許容差1の等差数列を形成し、その最初の項はプライマリ・グループに対して指定した
ipckey
となります。たとえば、group1の
ipckey
値を
a
に設定した場合、group2の
ipckey
値は
a+1
になり、group3の
ipckey
値は
a+2
になります。
qspacedestroy (qspds) [-f] [-y] [queue_space_name]
指定されたキュー・スペースを破棄します。コマンド行で指定していないと、入力するよう求められます。指定したキュー・スペースが
tmqadmin
で開かれている場合は、閉じられます。デフォルトでは、このキュー・スペースにプロセスがアタッチされている場合、またはキュー・スペースのいずれかのキューにリクエストが存在する場合にはエラーが戻されます。リクエストが入っているキューの破棄については、
qdestroy
コマンドを参照してください。
-f
オプションを指定すると、キューにメッセージがあったり、キュー・スペースにプロセスがアタッチされている場合でも、すべてのキューを強制的に削除できます。このコマンドは、
-y
オプションを指定していない場合に確認のためのプロンプトを表示します。コマンドが正常に完了すると、指定されたキュー・スペースの一時的メッセージはすべて失われます。
qspacedestroy
を使用して1つのクラスタを破棄すると、そのクラスタのすべてのキュー・スペースが破棄されます。
OTMQキュー・スペースがOracle Databaseに格納されている場合、このコマンドによって、OTMQキュー・スペースが格納されているデータベース表が削除されます。
qspacelist [queue_space_name]
キュー・スペースの作成パラメータを一覧表示します。コマンド行に指定されていない場合は、プログラムから入力するように要求されます。キュー・スペース名が入力されないと、現在開いているキュー・スペースのパラメータが表示されます。(開いているキュー・スペースがなく、値が入力されないと、エラーが発生します。)キュー・スペースの値(キュー・スペースを
qspacecreate
で作成した際の値、または
qspacechange
で最後に変更した際の値)を表示するだけでなく、このコマンドでは、すべてのキュー・スペース・エクステントのサイズが表示されます。システム予約メモリーの容量と構成済の共有メモリーの合計容量も表示されます。共有メモリー・リソース用に割り当てられるメモリー量が、バイト単位(b)で要求したときの量と一致しない場合もあります(説明と例は、
qspacecreate
の
-n nonpersistent_msg_memory
オプションを参照してください)。
キュー・スペース・クラスタ・コマンド
qsgroupadd (qsga) queue_space_name group_name
物理キュー・スペース・グループを作成し、クラスタに追加します。キュー・スペース名およびグループ名を指定する必要があります。ここで指定するグループ名は、
UBBCONFIG
の
GROUPS
セクションに指定されているグループ名と同じである必要があります。
qclusterlist (qscl) queue_space_name
キュー・スペース・クラスタ内のグループをリストします。
qsgroupdestroy (qsgds) -f -y queue_space_name group_name
group_name
によって指定されているキュー・スペース・グループを削除します。コマンド行で指定していないと、入力するよう求められます。指定したキュー・スペースが
tmqadmin
で開かれている場合は、閉じられます。デフォルトでは、このキュー・スペースにプロセスがアタッチされている場合、またはキュー・スペースのいずれかのキューにリクエストが存在する場合にはエラーが戻されます。リクエストが入っているキューの破棄については、
qdestroy
コマンドを参照してください。
-f
オプションを指定すると、キューにメッセージがあったり、キュー・スペースにプロセスがアタッチされている場合でも、すべてのキューを強制的に削除できます。このコマンドは、
-y
オプションを指定していない場合に確認のためのプロンプトを表示します。コマンドが正常に完了すると、指定されたキュー・スペース・グループの一時的メッセージはすべて失われます。
キュー・コマンド
qchange [-d default_delivery_policy] [-n mhigh,mlow,mcmd][-e default_relative_expiration_time][-t default_queue_property] [-o owner] [-a PERM_ACTIVE] [-c confirm_style] [-f][queue_name [qorder [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
がいつ実行されるかが指定されます。nlow制限に到達したときにコマンドを再実行するには、その前に
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文字列を指定すると、明示的な有効期限なしでエンキューされたメッセージは、期限が明示的に割り当てられないかぎり期限切れになりません。
-t "type"
オプションの有効な値は、「
PQ
」、「
SQ
」および「
MRQ
」です。デフォルト値は「無制限キュー
」です。
-o "owner"
オプションは、セカンダリ・キューに使用されます。そして、このキューが関連付けられているプライマリ・キューを定義します。有効な値は、プライマリ・キューの名前です。
-a "active"
オプションの有効な値は、「
Y
」または「
N
」です。デフォルト値は「N」です。これは、キューが永続的にアクティブかどうかを定義します。はい「Y」の場合、そのキューは、割当て制限を超えないかぎり、常にメッセージを受信して格納できます。いいえ「N」の場合、そのキューは、アタッチされるまでメッセージを受信して格納することはできず、送信者に無効なキューだと報告されます。この機能は、
MRQ
および無制限キュー(
/Q
からの継承)には影響しません。
確認スタイルのキュー・プロパティを設定し、
-c "confirm style"
オプションの有効な値は
EO
(順不同の確認)および
II
(暗黙的な確認)です。
いくつかのキュー名は内部での使用のために予約されており、
-f
パラメータが指定されないかぎり、
qcreate: 74-76,90-100,150-199,4000-6000
では使用されません。
qcreateの
-f
オプションまたはMIBでこれらの内部キュー名を作成した場合は、ULOG内に警告が記録されます。
-e
オプションによって指定されるデフォルトの有効期限時間は、リカバリ可能メッセージ(
SAF/DQF/CONF
)には影響しません。そのかわりに、
SAF/DQF
キューのデフォルトの有効期限時間(デフォルトはnone)が適用されます。
-q [nhigh[m/b/a/n],nlow,ncmd]
-q
オプションを指定する場合、nhigh、nlowおよびncmdの値すべてを指定する必要があり、そうしないとコマンドが失敗します。
ncmd
の値は空文字列として指定できます。
キューにあるアタッチしたクライアントの情報をクリアし、そのキューをアタッチされていない状態にリセットします。キューの指定には、qsetコマンドを使用します。
このコマンドは、「-y」オプションを指定していない場合に、確認のためのプロンプトを表示します。
qcreate (qcr) [-d default_delivery_policy] [-n mhigh,mlow,mcmd][-e default_relative_expiration_time][-t default_queue_property] [-o owner] [-a PERM_ACTIVE] [-c confirm_style] [-f][queue_name [qorder [out-of-order [retries [delay [ high [ low [ cmd]]]]]]]] [-F] [-D]
現在開いているキュー・スペースにキューを作成します。引数はコマンド行で指定します。指定しないと、プログラムにより入力が求められます。これらは、キュー名、キューの順序(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メッセージごとにキューから取り出されます。
qcreate
では、次のオプションがサポートされます。
キューのデフォルト配信ポリシーを指定します。-dオプションの有効値は、persistとnonpersistです。デフォルトの配信ポリシーがpersistの場合、明示的に配信モードを指定せずにエンキューされたメッセージは、永続(ディスク・ベース)配信モードを使用して配信されます。ポリシーがnonpersistの場合、明示的に配信モードを指定せずにエンキューされたメッセージは、非永続(メモリー)配信モードを使用して配信されます。-dオプションが指定されない場合、システムから情報の入力を要求されることはなく、キューのデフォルト配信ポリシーはpersistです。
デフォルト配信ポリシーが変更されても、すでにキューに存在していたメッセージのサービス配信レベルは変化しません。メモリー領域の不足やフラグメント化のために一時的メッセージをキューに登録できない場合、メッセージ用の永続ストレージが十分にあってもキューへの登録操作は失敗します。ディスクの不足やフラグメント化のために永続的メッセージをキューに登録できない場合、メッセージ用の非永続ストレージが十分にあってもキューへの登録操作は失敗します。
キュー・スペースで非永続メッセージに予約されているメモリー容量が0の場合、非永続メッセージに予約されている領域はありません。(非永続メッセージのメモリー領域の詳細は、「
qspacecreate
」および「
qspacechange
」を参照してください。)この場合、非永続メッセージをキューに登録しようとしても失敗します。これには、ターゲット・キューのデフォルトの配信ポリシーがnonpersistで、配信サービス・レベルが指定されていないメッセージが含まれます。
非永続記憶域のしきい値に到達した際に、コマンドの自動実行に使用するしきい値を指定します。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文字列を指定すると、明示的な有効期限なしでエンキューされたメッセージは、期限が明示的に割り当てられないかぎり期限切れになりません。
-t "type"
オプションの有効な値は、
PQ
(プライマリ・キュー)、
SQ
(セカンダリ・キュー)および
MRQ
(
MRQ
)です。デフォルト値は「無制限キュー
」です。
セカンダリ・キューに使用されます。そして、このキューが関連付けられているプライマリ・キューを定義します。有効な値は、プライマリ・キューの名前です。
-a
"active"オプションの有効な値は、
Y
または
N
です。
デフォルト値は「
N
」です。これは、キューが永続的にアクティブかどうかを定義します。はい「Y」の場合、そのキューは、割当て制限を超えないかぎり、常にメッセージを受信して格納できます。いいえ「N」の場合、そのキューは、アタッチされるまでメッセージを受信して格納することはできず、送信者に無効なキューだと報告されます。この機能は、
MRQ
および無制限キュー(/Qからの継承)には影響しません。
確認スタイルのキュー・プロパティを設定し、
-c "confirm style"
オプションの有効な値は
EO
(順不同の確認)および
II
(暗黙的な確認)です。
いくつかのキュー名は内部での使用のために予約されており、
-f
パラメータが指定されないかぎり、
qcreate: 74-76,90-100,150-199,4000-6000
では使用されません。
qcreate -f
またはMIBでこれらの内部キュー名を作成した場合は、ULOG内に警告が記録されます。
-eオプションによって指定されるデフォルトの有効期限時間は、リカバリ可能メッセージ(
SAF/DQF/CONF
)には影響しません。そのかわりに、
SAF/DQF
キュー(デフォルトは
none
)のデフォルトの有効期限時間が適用されます。
-q [nhigh[m/b/a/n],nlow,ncmd]
-qオプションを指定する場合、nhigh、nlowおよびncmdの値すべてを指定する必要があり、そうしないと、コマンドが失敗します。ncmdの値は空文字列として指定できます。
デフォルトのテンプレート・ファイル
q.ini
を使用してキューを作成します。
独自のテンプレート・ファイルを定義して、キューを作成します。このテンプレート・ファイルの絶対パスを割り当てるか、または
$TUXDIR/udataobj/OTMQ/template/
でこのテンプレート・ファイルを指定します。
qdestroy (qds) [{ -p | -f }] [-y] [queue_name]
指定されたキューを破棄します。デフォルトでエラーが返されるのは、リクエストがキューに存在する場合、またはプロセスがキュー・スペースにアタッチされている場合です。
-p
オプションを指定すると、キュー・スペースにアタッチされているプロセスがない場合には、キューからメッセージを「パージ」してキューを破棄することができます。
-f
オプションを指定すると、キュー・スペースにメッセージまたはプロセスがアタッチされている場合でも、キューを「強制的に」削除でき、メッセージが現在のトランザクションに関係している場合、このコマンドは失敗し、エラーがuserlogに書き込まれます。このコマンドは、
-y
オプションの指定がなければ、確認のためのプロンプトを表示します。
関連付けられているキューまたはすべてのキューについて情報を一覧表示します。このコマンドは、指定されたキューのメッセージ数、または引数を指定していない場合はすべてのキューのメッセージ数、キューに関連付けられている永続的メッセージと一時的メッセージの両方が使用している領域の量、永続的および一時的に送られるメッセージの数、指定されたキューのメッセージの総数、および永続的メッセージと一時的メッセージが使用している領域の量を表示します。冗長モードでは、このコマンドは、各キューのキュー作成パラメータ、キューのデフォルトの期限(設定されている場合)、順序付け基準およびキューのデフォルトの配信ポリシーも表示します。
メッセージ・コマンド
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の説明を参照してください)。
削除するメッセージを制限する選択基準は、qscanコマンドを使用して設定します。選択基準が設定されない場合、キューのすべてのメッセージが削除されます。削除の前に確認が求められます。qlistコマンドを実行して、どのようなメッセージが削除されるかを確認することをお薦めします(入力ミスによるエラーが減少します)。このコマンドは、-yオプションを指定していない場合に確認のためのプロンプトを表示します。
キューのメッセージを一覧表示します。キューの指定には、qsetコマンドを使用します。表示するメッセージを制限する選択基準は、qscanコマンドを使って設定します。設定基準が何も設定されていない場合は、キューにあるすべてのメッセージが表示されます。
選択した各メッセージについて、メッセージ識別子が出力されるほか、メッセージの優先度、これまでに試みた再試行の回数、メッセージの長さ、配信のサービス品質、応答に対するサービス品質および期限切れ時間(設定されている場合)が出力されます。メッセージに可用時間が関連付けられている場合、またはトランザクションのロールバックのためにメッセージに再試行時間がスケジューリングされている場合は、その可用時間が出力されます。相関識別子が存在し、verboseモードがオンの場合は、相関識別子が表示されます。
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に使用するキュー名を設定します。引数なしでこのコマンドを実行すると、現在のキュー名が表示されます。
トランザクション・コマンド
qaborttrans (qabort) [-y] [tranindex]
指定したトランザクション・インデックスtranindexに関連付けられている、プリコミットされているトランザクションをヒューリスティックに中断します。トランザクション索引をコマンド行で指定しなかった場合は、プログラムはその入力を要求します。トランザクションが決定されることがわかっていて、その決定がコミットすることであった場合は、qaborttransは失敗します。
索引は、事前のqprinttransコマンドの実行から取得されます。-yオプションが指定されていなければ、確認がリクエストされます。このコマンドの使用には、十分な注意が必要です。
qcommittrans (qcommit) [-y] [tranindex]
指定したトランザクション・インデックスtranindexに関連付けられているプリコミットされているトランザクションをヒューリスティックにコミットします。トランザクション索引をコマンド行で指定しなかった場合は、プログラムはその入力を要求します。トランザクションが決定されることがわかっていて、その決定が中断することであった場合は、qcommittransは失敗します。索引は、事前のqprinttransコマンドの実行から取得されます。-yオプションが指定されていなければ、確認がリクエストされます。このコマンドの使用には、十分な注意が必要です。
現在未処理のトランザクションのトランザクション表情報を表示します。トランザクション識別子、インデックス、トランザクション・ステータスが表示され、インデックスは、qaborttransまたはqcommittransでトランザクションの中断またはコミットを行う際に使用されるものです。