|
|
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 を実行します。qaborttrans、qclose、qchangeprio、qchangequeue、qchangetime、qchangeexptime、qcommittrans、qchange、qcreate、qdeletemsg、qinfo、qlist、qprinttrans、および qset は、キュー・スペースがオープンしているときのみ実行できます。
次の表に、qmadmin コマンドを機能別に示します。
qmadmin コマンド
コマンドの形式は、完全な名前でも省略形でも (省略形を使用できる場合。この後の一覧では、完全な名前の後の丸かっこ内に省略形を示しています) 入力することができ、該当する引数はコマンドの後に付きます。角かっこ [ ] で囲まれている引数は省略可能です。中かっこ { } で囲まれている引数は相互に排他的な選択肢を示します。
qchange [queue_name [out-of-order [retries [delay [high [low [cmd]]]]]]]
[-d persist|nonpersist] [-n nhigh,nlow,ncmd]
[-e default_relative_expiration_time]
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]
qscan [{ [-t time1[-time2]] [-p priority1[-priority2]] [-m msgid]
[-i corrid][-d delivery_mode] [-e time1[-time2]] | none }]
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]
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 (qspc) [queue_space_name [ipckey [pages [queues [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]
例
キューの設定手順の例を次に示します。
$ QMCONFIG=/dev/rawfs qmadmin
qmadmin - Copyright (c) 1987 ATT; 1991 USL.All rights reserved.
QMCONFIG=/dev/rawfs
# キュー・スペースを配置できるデバイスのリストを作成します。2 つのデバイスを、
# それぞれ 8000 ブロックおよび 600 ブロックと指定します。
# 注記: 1 つ目のデバイスは実際にはデバイス・リストを持ちます。
#
# 1 つめのデバイスを fHraw f(JBスライスに作成します。
#
> 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 として生成します。デタッチ・プロセスには、標準入出力のための関連コンソールがありません。したがって、たとえば、標準コマンド・プロンプトのコマンド行構文を使って、dir や date などの組み込みコマンドを実行する qchange ... Queue capacity command を設定した後で、標準出力をファイルにパイプまたはリダイレクトすると、コマンド実行が完了した時点でそのファイルは空になります。
この問題を解決する例として、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 などのコマンド・ファイルから行う場合は、yourFile.cmd にコマンド date /t > x.out を追加してから、次のような手順を実行します。
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 アプリケーション実行時の管理』
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|