bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo コマンド・リファレンス

 Previous Next Contents View as PDF  

qmadmin(1)

名前

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

形式

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

機能説明

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

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

qmadmin は、大なり記号 > をプロンプトとして使用します。各引数は、空白 (タブまたはスペース、あるいはその両方) で区切って入力されます。空白を含む引数は、二重引用符で囲むことができます。二重引用符で囲まれた引数に二重引用符を含める場合は、引数内の二重引用符をバックスラッシュでエスケープしなければなりません。コマンド行でコマンド情報を指定しなかった場合には、情報の入力を促すプロンプトが表示されます。必須の引数を入力しないと、警告メッセージが表示され、プロンプトが再表示されます。オプション・パラメータに関する情報の入力を求めるプロンプトは表示されません。

コマンド入力用のプロンプトが表示されているときに、q または <CTRL-d> を入力すると、ユーザがプログラムを終了することができます。コマンドからの出力は、BREAK を押すことによって終了させることができ、これによりプログラムは次のコマンドの入力を要求するプロンプトを表示します。コマンド入力用のプロンプトが表示されているときにリターン・キーを押すと、直前に実行したコマンドを繰り返します (ただし、BREAK を行った後以外)。

一度リターン・キーを押してしまったコマンドを完全に取り消す方法はありません。BREAK を押しても、それはコマンドからの出力があればその出力を終了させるだけです。したがって、必ず正確にコマンドをタイプ入力してから、リターン・キーを押すようにしてください。

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

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

次の表に、qmadmin コマンドを機能別に示します。

コマンド・タイプ

コマンド

目的

一般


echo

入力コマンド行をエコーします。


help

ヘルプ・メッセージを表示します。


paginate

ページ別に出力します。


quit

セッションを終了します。


verbose

冗長モードで出力を行います。


! shellcommand

シェルにエスケープして、shellcommand を実行します。


!!

直前のシェル・コマンドを繰り返します。


#

コメント行を指定します。


<CR>

最後のコマンドを繰り返します。

キュー・スペース


chdl

汎用デバイス・リストのエントリ名を変更します。


crdl

汎用デバイス・リストにエントリを作成します。


dsdl

汎用デバイス・リストにあるエントリを破棄します。


ipcrm

キュー・スペースに使用される IPC データ構造体を削除します。


ipcs

キュー・スペースに使用される IPC データ構造体を一覧表示します。


lidl

汎用デバイス・リストを表示します。


livtoc

VTOC テーブルのすべてのエントリについて情報を表示します。


qaddext

キュー・スペースの範囲を広げます。


qclose

現在オープンしているキュー・スペースをクローズします。


qopen

キュー・スペースの構造体をオープンして初期化します。


qsize

キュー・スペースに必要な共用メモリのサイズを計算します。


qspacechange

キュー・スペースのパラメータを変更します。


qspacecreate

キューに入れられたメッセージ用のキュー・スペースを作成します。


qspacedestroy

指定されたキュー・スペースを破棄します。


qspacelist

キュー・スペースの作成パラメータを一覧表示します。

キュー


qchange

現在オープンされているキュー・スペースのキューを修正します。


qcreate

現在オープンされているキュー・スペースにキューを作成します。


qdestroy

名前付きのキューを破棄します。


qinfo

関連付けられているキューまたはすべてのキューについて情報を一覧表示します。

メッセージ


qchangeexp

キューのメッセージの期限を変更します。


qchangeprio

キューのメッセージの優先順位を変更します。


qchangequeue

同じキュー・スペース内の別のキューにメッセージを移動します。


qchangetime

キューのメッセージの実行時間を変更します。


qdeletemsg

キューからメッセージを削除します。


qlist

キューのメッセージを一覧表示します。


qscan

ほかのコマンドで使用する選択基準を設定します。


qset

ほかのコマンドで使用するキュー名を設定します。

トランザクション


qaborttrans

プリコミット・トランザクションをアボートします。


qcommittrans

プリコミット・トランザクションをコミットします。


qprinttrans

未処理のトランザクションのトランザクション・テーブル情報を表示します。

qmadmin コマンド

コマンドの形式は、完全な名前でも省略形でも (省略形を使用できる場合。この後の一覧では、完全な名前の後の丸かっこ内に省略形を示しています) 入力することができ、該当する引数はコマンドの後に付きます。角かっこ [ ] で囲まれている引数は省略可能です。中かっこ { } で囲まれている引数は相互に排他的な選択肢を示します。

chdl [dlindex [newdevice]]

汎用デバイス・リストのエントリ名を変更します。第 1 引数は汎用デバイス・リストの変更するデバイスのインデックスです (デバイス・インデックスは lidl で返されます)。第 1 引数をコマンド行で指定しなかった場合は、プログラムによって入力が要求されます。

第 2 引数は新しいデバイス名です。デバイス名がコマンド行に指定されていない場合、現在のデバイス名が表示され、新しいデバイス名の入力を求めるプロンプトが表示されます。デバイス名の長さは 64 文字以内に制限されています。デバイス名を変更すると、前のデバイス名を介してファイルやデータにアクセスすることはできなくなるので、このコマンドはよく注意して使用しなければなりません。

汎用デバイス・リスト (UDL) とボリューム一覧 (VTOC) の詳細については、『BEA Tuxedo アプリケーション実行時の管理』を参照してください。

crdl [device [offset [size]]]

汎用デバイス・リストにエントリを作成します。注意:デバイス・リストの先頭のエントリは、QMCONFIG が指すデバイスに対応していなければならず、またオフセット 0 を持たなければなりません。コマンド行で引数を指定しなかった場合には、プログラムはその引数の入力を要求します。

引数としては、デバイス名、空間の割り当てを開始できるブロック番号、および割り当てられる物理ページ数 (ディスク・セクタ) です。

指定したファイルに対して、複数の範囲で空間を割り当てることができます。たとえば、/app/queues/myspace 0 500/app/queues/myspace 1000 500 を割り当てることで、合計 1000 ブロックの割り当てを行い、500 から 999 までのブロックを未使用にすることができます。

先頭のデバイス・エントリで割り当てられるブロックのいくつかは、デバイス・リストおよび内容テーブルによって使用されます。最大 25 のエントリをデバイス・リストに作成できます。

dsdl [-y] [dlindex]

汎用デバイス・リストにあるエントリを破棄します。dlindex 引数は、汎用デバイス・リストから削除されるデバイスのデバイス・リストにおけるインデックスです。これがコマンド行に指定されていない場合、その入力を求めるプロンプトが表示されます。ただし、エントリ 0 は、VTOC ファイルとその他のデバイス・リスト・エントリをすべて最初に除去した後でなければ除去できません (エントリ 0 には、デバイス・リストと目次が記録されていて、これを削除すると、これら 2 つのテーブルも破壊されてしまうためです)。VTOC ファイルは、関連するエントリを削除することによってのみ削除できます (たとえば、デバイスに存在するキュー・スペースを破壊することによって)。プログラムは、-y を指定していない限り、確認のためのプロンプトを表示します。

echo (e) [{off | on}]

on に設定すると、入力コマンド行をエコーします。オプションが指定されていない場合は、設定可能な状態に現在の設定が切り替えられて、新しい設定が表示されます。初期設定は off です。

help (h) [{command | all}]

ヘルプ・メッセージを表示します。command を指定すると、そのコマンドについて、省略形、引数、および説明が表示されます。all を指定すると、すべてのコマンドに関する説明が表示されます。

引数がコマンド行に指定されていない場合、すべてのコマンドの構文が表示されます。

ipcrm [-f] [-y] [queue_space_name]

指定されたキュー・スペースに使用される IPC データ構造体を削除します。キュー・スペースの名前がコマンド行に指定されていない場合、その入力を求めるプロンプトが表示されます。指定したキュー・スペースが qmadmin でオープンされている場合は、クローズされます。ipcrm は、キュー・スペースが使用するすべての IPC リソースを認識しており、IPC リソースを削除する手段としては唯一の手段です。qmadmin では、IPC リソースが削除される前に、キュー・スペースにほかのプロセスが一切アタッチされていないことを保証します。-f オプションを指定すると、ほかのプロセスがアタッチされている IPC リソースでも強制的に削除することができます。-f オプションを指定している場合は、-y オプションが指定されていない限り、このコマンドは実行前に確認のためのプロンプトを表示します。コマンドが正常に完了すると、指定されたキュー・スペースのすべての一時的メッセージが完全に失われます。

ipcs [queue_space_name]

キュー・スペースに使用される IPC データ構造体があれば、それらの構造体を一覧表示します。キュー・スペースをオープンしているプロセスがなければ、構造体は一切使用されていません。キュー・スペースの名前がコマンド行に指定されていない場合、その入力を求めるプロンプトが表示されます。

lidl [dlindex]

汎用デバイス・リストを表示します。各デバイスごとに、インデックス、名前、先頭ブロック、およびデバイスのブロック数が一覧表示されます。冗長モードでは、未使用領域を示すマップが表示されます (未使用領域の先頭アドレスおよびサイズ)。dlindex を指定すると、デバイス・リストのそのエントリについての情報のみが表示されます。

livtoc

VTOC テーブルのすべてのエントリについて情報を表示します。各エントリについて表示される情報は、VTOC テーブルの名前、VTOC テーブルのあるデバイス、デバイスの先頭からの VTOC テーブルのオフセット、およびこのテーブルに割り当てられているページ数があります。VTOC には、最大 100 のエントリがあります。

paginate (page) [{off|on}]

出力をページ別表示します。オプションが指定されていない場合は、設定可能な状態に現在の設定が切り替えられて、新しい設定が表示されます。標準入力または標準出力のどちらかが非端末デバイスでない限り、初期設定は on です。ページ別表示機能は、標準入力と標準出力のどちらも端末デバイスである場合のみ、on になります。

デフォルトのページ別表示コマンドは、ネイティブのオペレーティング・システム環境に固有のページャになります。たとえば、コマンド pg は、UNIX System オペレーティング環境におけるデフォルトのコマンドです。シェル環境変数 PAGER を使用すると、ページ別表示出力に使用されるデフォルトのコマンドを無効化することができます。

qaborttrans (qabort) [-y] [tranindex]

指定したトランザクション・インデックス tranindex に関連付けられている、プリコミットされているトランザクションをヒューリスティックにアボートします。トランザクション・インデックスをコマンド行で指定しなかった場合は、プログラムはその入力を要求します。トランザクションが決定されることがわかっていて、その決定がコミットすることであった場合は、qaborttrans は失敗します。インデックスは、事前の qprinttrans コマンドの実行から取得されます。-y オプションが指定されていなければ、確認が要求されます。このコマンドの使用には、十分な注意が必要です。

qaddext [queue_space_name [pages]]

キュー・スペースにエクステントを追加します。キュー・スペースは、アクティブであってはなりません (キュー・スペースにはどんなプロセスもアタッチされていてはなりません)。キュー・スペース名、およびキュー・スペースに割り当てる追加物理ページ数を、コマンド行で指定しなかった場合は、プログラムは、その入力を要求します。指定したキュー・スペースが qmadmin でオープンされている場合は、クローズされます。物理ページ数は 4 の倍数に最も近い値に切り下げられます。この説明と例については、qspacecreate を参照してください。スペースは、UDLQMCONFIG デバイスに関連付けられて定義されているエクステントから割り当てられます。新しいキュー・スペースエクステントは、VTOC においてそれぞれ追加エントリを使用します (最大 100 のエントリが使用可能です)。キュー・マネージャは、このエクステントに名前を指定して、このエクステントの迅速な識別とキュー・スペースへの関連付けができるようにします。コマンドが正常に完了すると、指定されたキュー・スペースのすべての一時的メッセージが完全に失われます。

qchange [queue_name [out-of-order [retries [delay [high [low [cmd]]]]]]]
[-d persist|nonpersist] [-n nhigh,nlow,ncmd]
[-e default_relative_expiration_time]

現在オープンしているキュー・スペースで、キューを修正します。引数はコマンド行で指定します。指定しないと、プログラムにより入力が求められます。引数には、キューの名前、順序を無視したキュー登録を許可するかどうか (許可しない、キューの先頭に登録、指定した msgid の前に登録)、再試行の回数、各再試行の間の遅延時間 (秒)、しきい値コマンドを実行するための上限値と下限値、および永続的メッセージに対するしきい値コマンドそのものを指定できます。

out-of-order の値は、nonetop、または msgid です。topmsgid の両方を、カンマで区切って指定することができます。

しきい値を使用すると、永続的メッセージについてしきい値に達したときに、コマンドが自動的に実行されます。上限は、コマンドを実行する時期を指定します。上限に達した場合は、コマンドを再度実行する前に下限に戻しておく必要があります。たとえば、上限と下限がそれぞれ 100 メッセージ、50 メッセージの場合、キュー内のメッセージが 100 になるとコマンドが実行されます。コマンドはキュー中のメッセージが 50 に減り、再度 100 になるまで実行されません。キューの容量の指定は、キューが使用するバイト数またはブロック数 (接尾辞 "b" または "B" を後に付けた数字)、キューが使用するキュー・スペースに対する割合 ("%" を後に付けた数字)、またはキューの全メッセージ数 ("m" を後に付けた数字) を使用して行えます。上下のしきい値のタイプは、同じでなければなりません。下限しきい値にタイプを指定するかどうかは省略可能ですが、指定する場合は、上限しきい値のタイプと一致させなければなりません。メッセージ (m) 接尾辞は、永続的メッセージと一時的メッセージの両方に適用されます。その他のしきい値の接尾辞は、永続的メッセージにのみ適用されます。-n オプションを使用して、一時的メッセージのしきい値を指定します。コマンド行で指定する場合、空白文字を含むしきい値コマンドは二重引用符で囲みます。再試行回数 (retry) は、メッセージをキューから取り出してトランザクションをロールバックし、再びキューにメッセージを戻す、という処理を実行できる最大回数を示します。再試行までの遅延時間も指定できます。再試行回数に達すると、メッセージはキュー領域に定義されるエラー・キューに移動されます。エラー・キューが定義されていない場合、メッセージは削除されます。キューに対するキュー順序の値は変更できません。優先順位の低いメッセージは、他に優先順位の高いメッセージがある場合でも、10 のメッセージがたまるごとにキューから取り出されます。

-d オプションは、キューのデフォルトの配信方針を指定します。-d オプションに有効な値は、persistnonpersist です。デフォルトの配信方針が persist の場合、明示的に配信モードが指定されずにキューに登録されているメッセージは、永続的 (ディスク・ベース) 配信方式で配信されます。配信方針が nonpersist の場合は、明示的に配信モードが指定されずにキューに登録されているメッセージは、一時的 (メモリ内) 配信方式で配信されます。-d オプションが指定されない場合、情報の入力を求めるプロンプトは表示されず、デフォルトの配信方針は変更されません。デフォルトの配信方針が変更されても、既にキューに入っているメッセージについては、サービスの配信基準は変更されません。現在キュー・スペース内にあるメッセージに対する応答キューを変更する場合、キューのデフォルトの配信方針の変更によって、サービスの応答基準が変更されることはありません。

メモリ領域の不足やフラグメント化のために一時的メッセージをキューに登録できない場合、メッセージ用の永続ストレージが十分にあってもキューへの登録操作は失敗します。ディスクの不足やフラグメント化のために永続的メッセージをキューに登録できない場合、メッセージ用の非永続ストレージが十分にあってもキューへの登録操作は失敗します。

キュー・スペースの中の一時的メッセージ用に確保するメモリ量をゼロ (0) にすると、一時的メッセージ用の領域は確保されません。一時的メッセージ用のメモリ領域の指定の詳細については、qspacecreateqspacechange を参照してください。この場合、一時的メッセージをキューに登録しようとしても失敗します。これは、サービスの配信基準が指定されていないメッセージを、デフォルトの配信方針が nonpersist に設定されたキューに登録するときにも当てはまります。

-n オプションは、コマンドを自動実行する際のしきい値を指定します。非永続ストレージ領域の値がしきい値に達すると、コマンドが自動的に実行されます。nhigh は、コマンド ncmd を実行するタイミングを指定します。nhigh が上限に達したときは、コマンドを再度実行する前に nlow を下限に戻しておく必要があります。-n オプションを指定する場合は、nhighnlow、および ncmd を共に指定する必要があります。これらを指定していないと、コマンドは失敗します。ncmd の値は、空文字列として指定することもできます。-n オプションを指定していなくても、情報の入力を求めるプロンプトは表示されません。

メモリ容量 (キュー内の非永続的データの量) のしきい値は、バイト (b)、ブロック (B)、またはパーセンテージ (数字の後に % を付ける) のいずれかのタイプで指定できます。nhighnlow のしきい値は、同じタイプにする必要があります。たとえば、nhigh が 100% に設定されている場合、nlow もパーセンテージで指定しなければなりません。nlow のしきい値のタイプは省略可能です。-n オプションが指定されていない場合、一時的メッセージ用のデフォルトのしきい値は変更されません。ncmd に空白を使用する場合は、空白を二重引用符で囲む必要があります。

しきい値 [ . . . [high[low[cmd]]] . . . ] の接尾辞 m は、永続的メッセージと一時的メッセージを含むキュー内にあるすべてのメッセージに適用されるため、nhighnlow は使用できません。接尾辞 -m が指定されていないしきい値 [ . . . [high[low[cmd]] . . . ] は、永続的 (ディスク・ベース) メッセージにのみ適用されます。

-e default_relative_expiration_time オプションは、キューに登録されるメッセージのうち、期限が明示的に指定されていないメッセージに対して期限を設定します。期限は、相対時間にすることも none にすることもできます。期限に達したとき、メッセージがキューから取り出されていない場合や管理時に削除されていない場合には、キューからメッセージが削除され、メッセージに関連付けられているすべてのリソースが解放されて、統計情報が更新されます。有効期限がメッセージの使用可能時間より前の場合、いずれかの時間を変更して使用可能時間が有効期限より前になるようにしない限り、キューからメッセージを取り出すことはできません。また、これらのメッセージがキューからの取り出しの対象になったことがなくても、有効期限が切れるとキューから削除されます。トランザクション中にメッセージの期限が切れてもトランザクションは失敗しません。トランザクション内でキューへの登録、またはキューからの取り出し中に有効期限が切れたメッセージは、トランザクションが終了した時点でキューから削除されます。メッセージの期限が切れても通知されません。

-e オプションが指定されない場合、キューのデフォルトの有効期限は変更されません。キューの期限を qchange を使用して変更する場合、既にキューに入っているメッセージは変更の対象外になります。-e オプションが指定されていなくても、この入力を求めるプロンプトは表示されません。

相対時間の default_relative_expiration_time の形式は +seconds です。seconds は、操作をキュー・マネージャが正常に処理してからの有効期限に達するまでの経過秒数です。ゼロ (0) を設定すると、すぐに期限に達します。default_relative_expiration_time の値には、文字列 none を設定することもできます。文字列 none を指定した場合、キューへの登録時に明示的に期限が指定されていないメッセージは、明示的に期限を割り当てない限り、期限切れになりません。

qchangeexp (qce) -y [newtime]

キューにあるメッセージの有効期限を変更します。期限に達したとき、メッセージがキューから取り出されていない場合や管理時に削除されていない場合には、キューからメッセージが削除され、メッセージに関連付けられているすべてのリソースが解放されて、統計情報が更新されます。有効期限の時間がメッセージの使用可能時間より前の場合、使用可能時間が有効期限の切れる時間より前になるようにいずれかの時間を変更しない限り、メッセージをキューから取り出すことはできません。また、これらのメッセージがキューからの取り出しの対象になったことがなくても、有効期限が切れるとキューから削除されます。トランザクション中にメッセージの期限が切れてもトランザクションは失敗しません。トランザクション内でキューへの登録、またはキューからの取り出し中に有効期限が切れたメッセージは、トランザクションが終了した時点でキューから削除されます。メッセージの期限が切れても通知されません。

有効期限を設定するキューは、qset コマンドを使って選択します。更新するメッセージを制限する選択基準は、qscan コマンドを使って設定します。選択基準が何も設定されていない場合、キューにあるすべてのメッセージが変更されます。デフォルトでは、期限を設定する前に確認が要求されます。-y オプションを指定すると確認は行われません。newtime の値には、現在時刻からの相対時間、絶対時間、または none を指定できます。newtime の値がコマンド行に指定されていない場合、その入力を求めるプロンプトが表示されます。

キューに登録されるメッセージのうち、メッセージ期限をサポートしていないバージョンの BEA Tuxedo ATMI システムによって登録されたものについては、値の変更を行うキュー・マネージャがメッセージ期限をサポートしていても、期限を設定できるように変更することはできません。このような BEA Tuxedo ATMI システムのバージョンによってキューに登録されたメッセージが qchangeexp の対象に含まれている場合、選択されたメッセージのうちのいくつかがこの制限により変更されなかったことを知らせるエラー・メッセージが表示されます。

相対時間による期限は、キュー・マネージャのプロセスで要求を受け取った時点からの相対時間です。相対時間の newtime の形式は +seconds です。seconds は、操作をキュー・マネージャが正常に処理してから有効期限に達するまでの経過秒数です。seconds がゼロ (0) に設定されている場合、メッセージはすぐに期限切れになります。絶対時間による期限は、キュー・マネージャ・プロセスが存在するマシンの時間によって決まります。絶対時間の newtime の形式は YY[MM[DD[HH[MM[SS]]]]] です。これについては、qscan の項で説明します。newtime の値には、文字列 none を設定することもできます。この場合、対象となるメッセージが期限切れになることはありません。

qchangeprio (qcp) [-y] [newpriority]

キューのメッセージの優先順位を変更できます。対象となるキューは、qset コマンドを使用して設定され、更新されるメッセージを制限する選択基準は、qscan コマンドを使用して設定されます。

選択基準が何も設定されていない場合、キューにあるすべてのメッセージが変更されます。-y オプションを指定していない限り、変更が行われる前に確認を求められます。qlist コマンドを実行して、どのメッセージが変更されるのかを調べることをお勧めします (入力ミスを少なくするためです)。newpriority の値は、メッセージが処理のために転送される際に使用される、新しい優先順位を指定します。優先順位の範囲は、1 以上 100 以下の値でなければなりません。コマンド行で指定していないと、入力するよう求められます。

qchangequeue (qcq) [-y] [newqueue]

同じキュー・スペース内の別のキューにメッセージを移動できます。メッセージの移動元のキューは、qset コマンドを使用して設定され、移動するメッセージを制限する選択基準は、qscan コマンドを使用して設定されます。選択基準が何も設定されていない場合、キューにあるすべてのメッセージが移動されます。-y オプションを指定していない限り、変更が行われる前に確認を求められます。qlist コマンドを実行して、どのメッセージが移動されるのかを調べることをお勧めします (入力ミスを少なくするためです)。newqueue の値は、メッセージの移動先となる新しいキュー名を指定します。newqueue がコマンド行に指定されていない場合、その入力を求めるプロンプトが表示されます。メッセージのサービス配信基準が、newqueue のデフォルトの配信方針と一致するように変更されることはありません。

期限付きのメッセージが移動された場合、移動元では相対時間による期限が指定されていたとしても、移動先のキューでの絶対時間による期限になります。

qchangetime (qct) [-y] [newtime]

キューにあるメッセージの使用可能時間を変更できます。キューの指定には、qset コマンドを使用します。更新するメッセージを制限する選択基準は、qscan コマンドを使用して設定します。

選択基準が何も設定されていない場合、キューにあるすべてのメッセージが変更されます。-y オプションを指定していない限り、変更が行われる前に確認を求められます。qlist コマンドを実行して、どのメッセージが変更されるのかを調べることをお勧めします (入力ミスを少なくするためです)。newtime の値は、現在時刻からの相対時間にすることも、絶対時間にすることもできます。コマンド行で指定していないと、入力するよう求められます。相対時間の onetime の形式は、+seconds です。seconds は現在からメッセージが実行されるまでの秒数です (0 の場合は即時実行を意味します)。絶対時間の newtime の形式は YY[MM[DD[HH[MM[SS]]]]] です。これについては、qscan の項で説明します。

qclose

現在オープンしているキュー・スペースをクローズします。コマンドが正常に完了すると、指定されたキュー・スペースのすべての一時的メッセージが完全に失われます。

qcommittrans (qcommit) [-y] [tranindex]

指定したトランザクション・インデックス tranindex に関連付けられているプリコミットされているトランザクションをヒューリスティックにコミットします。トランザクション・インデックスをコマンド行で指定しなかった場合は、プログラムはその入力を要求します。トランザクションが決定されることがわかっていて、その決定がアボートすることであった場合は、qcommittrans は失敗します。インデックスは、事前の qprinttrans コマンドの実行から取得されます。-y オプションが指定されていなければ、確認が要求されます。このコマンドの使用には、十分な注意が必要です。

qcreate (qcr) [queue_name [qorder [out-of-order [retries [delay
[high [low [cmd]]]]]]]] [-d persist|nonpersist] [-n nhigh,nlow,ncmd]
[-e default_relative_expiration_time]

現在オープンされているキュー・スペースにキューを作成します。引数はコマンド行で指定します。指定しないと、プログラムにより入力が求められます。引数には、キューの名前、キューの順序 (FIFO か LIFO、期限、優先順位、時間)、順序を無視したキュー登録を許可するかどうか (許可しない、キューの先頭に登録、指定した msgid の前に登録)、再試行の回数、各再試行の間の遅延時間 (秒)、しきい値コマンドを実行するための上限値と下限値、および永続的メッセージに対するしきい値コマンドそのものを指定できます。

キューの順序 (qorder) の値は、fifolifopriorityexpiration、および time です。キューの順序を指定する際には、最も重要なソート値を最初に、次に重要なソート値をその後に、というようにして指定します。fifolifo は、最も重要度の低い (または唯一の) ソート値としてのみ指定できます。fifolifo も指定しない場合のデフォルトの設定は fifo になり、これは、ほかのソート基準の指定範囲内で適用されます。expiration が指定されている場合、期限が指定されていないメッセージは、期限付きメッセージがすべてキューから取り出された後に取り出されます。複数のソート値を、カンマで区切って指定することができます。out-of-order の値は、nonetop、または msgid です。topmsgid の両方を、カンマで区切って指定することができます。

しきい値を使用すると、永続的メッセージについてしきい値に達したときに、コマンドを自動的に実行できます。上限は、コマンドを実行する時期を指定します。上限に達した場合は、コマンドを再度実行する前に下限に戻しておく必要があります。たとえば、この制限値が 100 メッセージと 50 メッセージである場合は、キューのメッセージ数が 100 になったときにコマンドが実行されます。そして、そのキューが排出されてメッセージ数が 50 を下回り、メッセージが再度増えて 100 に達するまではコマンドは再実行されません。

キューの容量の指定は、キューが使用するバイト数またはブロック数 (接尾辞 "b" または "B" を後に付けた数字)、キューが使用するキュー・スペースに対する割合 ("%" を後に付けた数字)、またはキューの全メッセージ数 ("m" を後に付けた数字) を使用して行えます。上下のしきい値のタイプは、同じでなければなりません。メッセージ (m) 接尾辞は、永続的メッセージと一時的メッセージの両方に適用されます。その他のしきい値の接尾辞は、永続的メッセージにのみ適用されます。-n オプションを使用して、一時的メッセージのしきい値を指定します。下限しきい値にタイプを指定するかどうかは省略可能ですが、指定する場合は、上限しきい値のタイプと一致させなければなりません。コマンド行で指定する場合、空白文字を含むしきい値コマンドは二重引用符で囲みます。

再試行回数 (retry) は、メッセージをキューから取り出してトランザクションをロールバックし、再びキューにメッセージを戻す、という処理を実行できる最大回数を示します。再試行までの遅延時間も指定できます。再試行回数に達すると、メッセージはキュー領域に定義されるエラー・キューに移動されます。エラー・キューが定義されていない場合、メッセージは削除されます。優先順位の低いメッセージは、他に優先順位の高いメッセージがある場合でも、10 のメッセージがたまるごとにキューから取り出されます。

-d オプションは、キューのデフォルトの配信方針を指定します。-d オプションに有効な値は、persistnonpersist です。デフォルトの配信方針が persist の場合、明示的に配信モードが指定されずにキューに登録されているメッセージは、永続的 (ディスク・ベース) 配信方式で配信されます。配信方針が nonpersist の場合は、明示的に配信モードが指定されずにキューに登録されているメッセージは、一時的 (メモリ内) 配信方式で配信されます。-d オプションが指定されない場合には、情報の入力を求めるプロンプトは表示されず、デフォルトの配信方針は persist です。デフォルトの配信方針が変更されても、既にキューに入っているメッセージについては、サービスの配信基準は変更されません。

メモリ領域の不足やフラグメント化のために一時的メッセージをキューに登録できない場合、メッセージ用の永続ストレージが十分にあってもキューへの登録操作は失敗します。ディスクの不足やフラグメント化のために永続的メッセージをキューに登録できない場合、メッセージ用の非永続ストレージが十分にあってもキューへの登録操作は失敗します。

キュー・スペースの中の一時的メッセージ用に確保するメモリ量をゼロ (0) にすると、一時的メッセージ用の領域は確保されません。一時的メッセージ用のメモリ領域の指定の詳細については、qspacecreateqspacechange を参照してください。この場合、一時的メッセージをキューに登録しようとしても失敗します。これは、サービスの配信基準が指定されていないメッセージを、デフォルトの配信方針が nonpersist に設定されたキューに登録するときにも当てはまります。

-n オプションは、コマンドを自動実行する際のしきい値を指定します。非永続ストレージ領域の値がしきい値に達すると、コマンドが自動的に実行されます。nhigh は、コマンド ncmd を実行するタイミングを指定します。nhigh が上限に達したときは、コマンドを再度実行する前に nlow を下限に戻しておく必要があります。-n オプションを指定する場合は、nhighnlow、および ncmd を共に指定する必要があります。これらを指定していないと、コマンドは失敗します。ncmd の値は、空文字列として指定することもできます。-n オプションを指定していなくても、情報の入力を求めるプロンプトは表示されません。

メモリ容量 (キュー内の非永続的データの量) のしきい値は、バイト (b)、ブロック (B)、またはパーセンテージ (数字の後に % を付ける) のいずれかのタイプで指定できます。nhighnlow のしきい値は、同じタイプにする必要があります。たとえば、nhigh が 100% に設定されている場合、nlow もパーセンテージで指定しなければなりません。nlow のしきい値のタイプは省略可能です。-n オプションが指定されていない場合、nhigh には 100%nlow には 0% がそれぞれデフォルト値として使用され、ncmd“ ” に設定されます。ncmd に空白を使用する場合は、空白を二重引用符で囲む必要があります。

しきい値 [ . . . [high[low[cmd]]] . . . ] の接尾辞 m は、永続的メッセージと一時的メッセージを含むキュー内にあるすべてのメッセージに適用されるため、nhighnlow は使用できません。接尾辞 -m が指定されていないしきい値 [ . . . [high[low[cmd]] . . . ] は、永続的 (ディスク・ベース) メッセージにのみ適用されます。

-e default_relative_expiration_time オプションは、キューに登録されるメッセージのうち、期限が明示的に指定されていないメッセージに対して期限を設定します。期限は、相対時間にすることも none にすることもできます。期限に達したとき、メッセージがキューから取り出されていない場合や管理時に削除されていない場合には、キューからメッセージが削除され、メッセージに関連付けられているすべてのリソースが解放されて、統計情報が更新されます。有効期限がメッセージの使用可能時間より前の場合、いずれかの時間を変更して使用可能時間が有効期限より前になるようにしない限り、キューからメッセージを取り出すことはできません。また、これらのメッセージがキューからの取り出しの対象になったことがなくても、有効期限が切れるとキューから削除されます。トランザクション中にメッセージの期限が切れてもトランザクションは失敗しません。トランザクション内でキューへの登録、またはキューからの取り出し中に有効期限が切れたメッセージは、トランザクションが終了した時点でキューから削除されます。メッセージの期限が切れても通知されません。

-e オプションが指定されない場合、キューのデフォルトの期限は none に設定されます。キューの期限を qchange を使用して変更する場合、既にキューに入っているメッセージは変更の対象外になります。-e オプションが指定されていなくても、この入力を求めるプロンプトは表示されません。

相対時間の default_relative_expiration_time の形式は +seconds です。seconds は、操作をキュー・マネージャが正常に処理してからの有効期限に達するまでの経過秒数です。ゼロ (0) を設定すると、すぐに期限に達します。default_relative_expiration_time の値には、文字列 none を設定することもできます。文字列 none を指定した場合、キューへの登録時に明示的に期限が指定されていないメッセージは、明示的に期限を割り当てない限り、期限切れになりません。

qdeletemsg (qdltm) [-y]

キューからメッセージを削除できます。キューの指定には、qset コマンドを使用します。削除するメッセージを制限する選択基準は、qscan コマンドを使って設定します。選択基準が何も設定されていない場合、キューにあるすべてのメッセージが削除されます。削除が行われる前に、確認が要求されます。qlist コマンドを実行して、どのメッセージが削除されるのかを調べることをお勧めします (入力ミスを少なくするためです)。-y オプションが指定されていない限り、このコマンドは確認のためのプロンプトを表示します。

qdestroy (qds) [{ -p | -f }] [-y] [queue_name]

指定されたキューを破棄します。デフォルトでは、キューに要求が存在していたり、キュー・スペースにプロセスがアタッチされていたりすると、エラーが返されます。-p オプションを指定すると、キュー・スペースにアタッチされているプロセスがなければ、キューからあらゆるメッセージを「パージ」して破棄することができます。-f オプションを指定すると、メッセージまたはプロセスがキュー・スペースにアタッチされている場合でも、「強制的に」キューを削除できます。このとき、メッセージがその時点でトランザクションに関連していた場合は、このコマンドは異常終了し、userlog にエラーが書き込まれます。このコマンドは、-y オプションを指定していない場合に確認のためのプロンプトを表示します。

qinfo [queue_name]

関連付けられているキューまたはすべてのキューについて情報を一覧表示します。このコマンドは、指定されたキューのメッセージ数、または引数を指定していない場合はすべてのキューのメッセージ数、キューに関連付けられている永続的メッセージと一時的メッセージの両方が使用している領域の量、永続的および一時的に送られるメッセージの数、指定されたキューのメッセージの総数、および永続的メッセージと一時的メッセージが使用している領域の量を表示します。冗長モードでは、このコマンドは、各キューのキュー作成パラメータ、キューのデフォルトの期限 (設定されている場合)、順序付け基準、およびキューのデフォルトの配信方針も表示します。

qlist (ql)

キューのメッセージを一覧表示します。キューの指定には、qset コマンドを使用します。表示するメッセージを制限する選択基準は、qscan コマンドを使って設定します。設定基準が何も設定されていない場合は、キューにあるすべてのメッセージが表示されます。

選択した各メッセージについて、メッセージ識別子が出力されるほか、メッセージの優先順位、これまでに試みた再試行の回数、メッセージの長さ、サービスのデリバリ基準、応答に対するサービスの基準、および期限 (設定されている場合) が出力されます。メッセージに可用時間が関連付けられている場合、またはトランザクションのロールバックのためにメッセージに再試行時間がスケジューリングされている場合は、その可用時間が出力されます。相関識別子が存在し、verbose モードがオンの場合は、相関識別子が表示されます。

qopen [queue_space_name]

指定したキュー・スペースの内部構造体をオープンし、初期化します。コマンド行でキュー・スペースを指定しなかった場合は、プログラムがその入力を要求します。キュー・スペースが既に qmadmin でオープンされている場合は、クローズされます。

qprinttrans (qpt)

現在未終了のトランザクションのトランザクション・テーブル情報を表示します。トランザクション識別子、インデックス、トランザクション・ステータスが表示されます。インデックスは、qaborttransqcommittrans でトランザクションのアボートまたはコミットを行う際に使用されるものです。

qscan [{ [-t time1[-time2]] [-p priority1[-priority2]] [-m msgid]
[-i corrid][-d delivery_mode] [-e time1[-time2]] | none }]

コマンド qchangeprio qchangequeueqchangetimeqdeletemsg、および qlist に使用する選択基準を設定します。引数 none は、選択基準がないことを示します。この場合は、すべてのメッセージが対象になります。引数なしでこのコマンドを実行すると、現在の選択基準値が表示されます。コマンド行オプションで値の範囲を指定する場合 (-t-e-p など)、値の範囲に空白を入れることはできません。-t オプションは、時間の値または時間の範囲を示すために使用できます。time1time2 の形式はYY[MM[DD[HH[MM[SS]]]]] です。それぞれ、年、月、日、分、秒を指定します。この日時の値から省略した単位は、デフォルト値として、可能な範囲内の最小値が使用されます。たとえば、&d“02&d”すると &dlq;7“000000&drq; ”ます。年の値を 00 〜 37 とすると 2000 〜 2037 と見なされ、70 〜 99 とすると 1970 〜 1999 と見なされ 38 〜 69 とすると無効になります。-p オプションは、優先順位の値、または優先順位の範囲を示すために使用できます。優先順位の値は、1 以上 100 以下の範囲になります。-m オプションは、メッセージ識別子の値を示すために使用できます。メッセージ識別子の値は、キューにメッセージが登録されるときにシステムがメッセージに割り当てた値です。メッセージ識別子は、1 つのキュー内で一意の値を持ち、この値の長さは 32 文字以内です。32 文字未満の値は、右側に NULL (0x0) が埋められます。バックスラッシュおよび表示不可能な文字 (スペース、改行、タブなどの空白文字) を入力するときは、バックスラッシュの後にその文字を表す 2 桁の 16 進値を付けた値を入力しなければなりません。たとえば、スペースは ¥20 なので &dlq“o¥20world” と入力します。-i オプションは、メッセージに関連付けられている相関識別子の値を示すために使用できます。この識別子の値は、アプリケーションによって割り当てられ、キューに登録されたメッセージと一緒に格納され、応答メッセージまたはエラー・メッセージの返信と一緒に格納するために渡されて、アプリケーションが特定の要求に対する応答を識別できるようにします。この値の長さは 32 文字以内です。32 文字未満の値は、右側に NULL (0x0) が埋められます。バックスラッシュおよび表示不可能な文字 (スペース、改行、タブなどの空白文字も含む) を入力するときは、バックスラッシュの後にその文字を表す 2 桁の 16 進値を付けた値を入力しなければなりません (たとえば、スペースは ¥20 なので、"my¥20ID¥20value" のようにします)。

-d delivery_mode オプションの有効な値は、persistnonpersist です。このオプションは、qscan で選択されるメッセージの配信モードを指定します。これにより、オペレータは配信方式に基づいた操作ができます。

-e オプションは、期限または期限の範囲を示すために使用できます。time1time2 の形式は、-t オプションの time1time2 の形式と同じです。

qset [queue_name]

コマンド qchangeprioqchangequeueqchangetimeqdeletemsg、および qlist に使用するキュー名を設定します。引数なしでこのコマンドを実行すると、現在のキュー名が表示されます。

qsize [pages [queues [transactions [processes [messages]]]]]
[-A actions] [-H handles] [-C cursors] [ -O owners] [-Q tmp_queues]
[-f filter_memory] [-n nonpersistent_msg_memory[b,B]]
[-o overflow_memory]

pagesqueues、(同時) transactionsprocesses、および (キュー内) messages で指定したサイズを使用して、キュー・スペースに必要な共有メモリのサイズを計算します。コマンド行で値を指定しなかった場合は、プログラムはそれらの入力を要求します。必要となるシステム・セマフォの数も出力されます。上記以外のオプションで有効な値については、qspacecreate で説明しています。

qspacechange (qspch) [queue_space_name [ipckey [trans [procs
[messages [errorq [inityn [blocking]]]]]]]] [-A actions] [-H handles]
[-C cursors] [ -O owners] [-Q tmp_queues] [-f filter_memory]
[-n nonpersistent_msg_memory[b,B]] [-o overflow_memory]

キュー・スペースのためのパラメータを変更します。キュー・スペースはアクティブであってはなりません。つまり、キュー・スペースにはどんなプロセスもアタッチされていてはなりません。必要な情報がコマンド行に指定されていない場合、その入力を求めるプロンプトが表示されます。有効な値については、このページの qspacecreate で説明しています。指定したキュー・スペースが qmadmin でオープンされている場合はクローズされます。新しいエクステントを追加する場合には、qaddext を使用します。キューの数は変更できません。

qspacecreate (qspc) [queue_space_name [ipckey [pages [queues [trans
[procs [messages [errorq [inityn [blocking]]]]]]]]]] [-A actions]
[-n nonpersistent_msg_memory[b,B]] [-o overflow_memory]

キュー・メッセージ用のキュー・スペースを作成します。情報がコマンド行に指定されていない場合、その入力を求めるプロンプトが表示されます。その情報には、キュー・スペース名、共用メモリ・セグメントとセマフォの ipckey、このキュー・スペースに割り当てる物理ページ数、キューの数、同時実行可能なトランザクションの数、このキュー・スペースに同時にアタッチできるプロセスの数、一度にキューに登録できるメッセージの数、このキュー・スペースのエラー・キュー名、このキュー・スペースの新しいエクステントでページを初期化するかどうか、およびキュー・スペースの初期化やウォーム・スタート・ディスクの入出力を行なうためのブロッキング要因があります。

物理ページ数は切り下げられ、4 の倍数に最も近い値のページ数になります。たとえば、必要なページ数が 50 の場合は 48 ページ分のメモリが割り当てが行なわれ、必要なページ数が 52の場合は 52 ページ分のメモリ割り当てが行なわれます。エラー・キューは、最大再試行回数に達したメッセージを保持するために使用されます。メッセージは、初めに登録されていたキューからエラー・キューに移動されます。このキューが確実に排出されることについての責任は、管理者にあります。

割り当てられた物理ページ数は、キュー・スペースのオーバーヘッドを保持できるだけの十分な大きさでなければなりません (各キューにつき 1 ページのほかもう 1 ページ)。初期化のオプションとして ‘y’ または &sl‘srq; が指定された場合は、キュー・スペースを保持するために使用する領域が初期化され、このコマンドの実行にしばらく時間がかかります。冗長モードでは、キュー・スペースの初期化が 5% 完了するごとに、標準出力にピリオド (.) が出力されます。初期化のオプションをオンにしていないが対象デバイスが文字型特殊デバイスでない場合には、エクステントとして指定したサイズに達していなければ、ファイルは初期化されます。つまり、指定された領域を割り当てることができるようにファイルが拡大されます。

キュー・スペースの作成中およびウォーム・スタート (キュー・スペースの再起動) の際にブロックを読み書きする場合、入出力操作のサイズは、ブロッキング化係数によって指定されたディスク・ページ・サイズの倍数で行なわれます。

-A actions オプションは、キューイング・サービス・コンポーネントで同時処理できる追加操作の数を指定します。ブロッキング操作の発生時に追加操作を利用できる場合、ブロッキング操作は条件を満たす状態になるまで保留されるように設定されます。ブロッキング操作が保留されると、ほかの操作要求を処理できます。ブロッキング操作が完了すると、その操作に関連する操作は続く操作でも実行できるようになります。ブロッキング操作が要求された時点ですぐに条件を満たす状態にならず、利用可能な操作もない場合には、操作は失敗します。システムでは、キュー・スペースにアタッチ可能なプロセスの数と同じ数だけ操作が予約されているため、それぞれのキュー・マネージャ・プロセスは少なくとも 1 つブロッキング操作を所有できます。システムによって予約されているブロッキング操作の数を超える場合、管理者は予約数より多くの追加ブロッキング操作に対応できるようにシステムを設定することができます。-A actions オプションが指定されていない場合、デフォルト値はゼロに設定されます。-A オプションが指定されていなくても、その入力を求めるプロンプトは表示されません。

-n nonpersistent_msg_memory オプションは、キュー・スペースのすべてのキューに対して、一時的メッセージ用に共用メモリに確保する領域のサイズを指定します。サイズはバイト単位 (b) またはブロック単位 (B) で指定できます。ブロック・サイズはディスク・ブロック・サイズと同じです。[bB] 接尾辞はオプションであり、指定されていない場合、デフォルト値はブロックに設定されます。-n オプションが指定されていない場合、メモリ・サイズのデフォルト値はゼロ (0) に設定されます。-n オプションが指定されていなくても、その入力を求めるプロンプトは表示されません。

nonpersistent_msg_memory にバイト単位 (b) で値が指定されている場合、この値はページあたりのバイト数 (ページ・サイズはディスク・ページ・サイズと同じ) で割って最も近い整数に切り下げられ、その数だけのページが割り当てられます。たとえば、ページ・サイズを 1024 バイト (1KB) として考えると、要求された値が 2000b の場合は 1 ページ分 (1024 バイト) のメモリ割り当てが行われ、要求された値が 2048b の場合は 2 ページ分 (2048 バイト) のメモリ割り当てが行われます。ページあたりのバイト数より少ない値を要求すると、0 ページ分 (0 バイト) が割り当てられます。

nonpersistent_msg_memory にブロック単位 (B) で値が指定されている場合、1 メモリ・ブロックが 1 メモリ・ページと同じであるとすると、ページ数と同じ数だけの割り当てが行われます。たとえば、要求された値が 50B の場合、50 ページ分のメモリ割り当てが行われます。

キュー・スペースの nonpersistent_msg_memory がゼロ (0) の場合、一時的メッセージ用の空間は確保されません。この場合、一時的メッセージをキューに登録しようとしても失敗します。永続ストレージと非永続ストレージとの互換性はありません。メモリ領域の不足やフラグメント化のために一時的メッセージをキューに登録できない場合、メッセージ用の永続ストレージが十分にあってもキューへの登録操作は失敗します。ディスクの不足やフラグメント化のために永続的メッセージをキューに登録できない場合、メッセージ用の非永続ストレージが十分にあってもキューへの登録操作は失敗します。

-o overflow_memory オプションは、割り当て済みの共用メモリ・リソースの一部またはすべてが不足する負荷のピーク状況に対応するために、共用メモリに確保するメモリ領域のサイズを指定します。メモリ・サイズはバイト単位で指定します。追加したオブジェクトは、この追加メモリから先着順で割り当てられます。追加メモリで作成されたオブジェクトを閉じるか破棄すると、次に共用メモリ・リソース不足が発生するときに備えてメモリは解放されます。-o overflow_memory オプションが指定されていない場合、デフォルト値は 0 に設定されます。-o オプションが指定されていなくても、その入力を求めるプロンプトは表示されません。この追加メモリ領域では、設定数より多くのオブジェクトを生成できますが、特定のオブジェクトに対していつでも使用できるとは限りません。現在このメモリ領域を使用できるのは、アクション、ハンドル、カーソル、オーナ、一時キュー、タイマー、およびフィルタだけです。

qspacedestroy (qspds) [-f] [-y] [queue_space_name]

指定のキュー・スペースを破棄します。コマンド行で指定していないと、入力するよう求められます。指定したキュー・スペースが qmadmin でオープンされている場合は、クローズされます。デフォルトでは、このキュー・スペースにプロセスがアタッチされている場合、またはキュー・スペースのいずれかのキューに要求が存在する場合にはエラーが返されます。要求が入っているキューの破棄については、qdestroy コマンドを参照してください。-f オプションを指定すると、キューにメッセージがあったり、キュー・スペースにプロセスがアタッチされている場合でも、すべてのキューを「強制的に」削除することができます。このコマンドは、-y オプションを指定していない場合に確認のためのプロンプトを表示します。コマンドが正常に完了すると、指定されたキュー・スペースの一時的メッセージはすべて失われます。

(qspl) [queue_space_name]

キュー・スペースの作成パラメータを一覧表示します。コマンド行でキュー・スペースを指定しなかった場合は、入力を求めるプロンプトが表示されます。キュー・スペース名を入力しなければ、現在オープンされているキュー・スペースのパラメータが表示されます。キュー・スペースがオープンされていなく、値の入力も行なわない場合はエラーが発生します。そのキュー・スペースについての値 (qspacecreate でキュー・スペースを作成する際の設定されたもの、または qspacechange で最後に変更されたもの) を表示するほかに、キュー・スペースのエクステントすべてについてサイズが表示されます。また、システムによって予約されているメモリ量や、設定されている共用メモリの総量も表示されます。共用メモリ・リソース用に割り当てられるメモリ量が、バイト単位 (b) で要求したときの量と一致しない場合もあります。説明と例については、qspacecreate の -n nonpersistent_msg_memory オプションを参照してください。

quit (q)

セッションを終了します。

verbose (v) [{off | on}]

冗長モードで出力を行います。オプションが指定されていない場合は、設定可能な状態に現在の設定が切り替えられて、新しい設定が表示されます。初期設定は off です。

! shellcommand

シェルにエスケープし、shellcommand を実行します。

!!

直前のシェル・コマンドを再実行します。

# [text]

# で始まる行はコメント行で、無視されます。

<CR>

最後のコマンドを繰り返します。

キューの設定手順の例を次に示します。

$ QMCONFIG=/dev/rawfs qmadmin 
qmadmin - Copyright (c) 1987 ATT; 1991 USL.All rights reserved.
QMCONFIG=/dev/rawfs
# キュー・スペースを配置できるデバイスのリストを作成します。
# 2 つのデバイスを、それぞれ 80,000 ブロック
# および 600 ブロックと指定します。
# 注記 :1 つ目のデバイスは実際にデバイス・リストを持ちます。
#
# 1 つ目のデバイスを raw スライスに作成します。
#
> crdl /dev/rawfs 0 80000
Created device /dev/rawfs, offset 0, size 80000 on /dev/rawfs
#
# もう 1 つのデバイスを UNIX ファイルに作成します。
#
> crdl /home/queues/FS 0 600
Created device /home/queues/FS, offset 0, size 600 on /dev/rawfs
#
# デバイス・リストを表示する場合
#
> 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
#
# キュー・スペースを作成します。
#
> 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
....................
#
# キュー・スペースをオープンします。
#
> qopen myqueuespace
#
# キュー・スペースのデフォルト設定をキューに適用します。  
> 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
#
# このプログラムを終了します。
#
> q

セキュリティ

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

移植性

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

Windows 標準 I/O

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

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

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

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

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

関連項目

『BEA Tuxedo アプリケーション実行時の管理』

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy