|
≫ |
|
|
|
キューを作成し起動するためには,
その前にキュー・マネージャとキュー・データベースを設定しておかなければなりません。
この章では,
OpenVMS バッチ・キューおよびプリント・キュー登録システムで,
キュー・マネージャとキュー・データベースを設定し管理する方法について説明します。
この章の内容
この章では,次の作業について説明します。
さらに,次の項目について説明します。
この章では,多くの場所で DCL コマンドを参照しています。
DCL コマンドについての詳細は,『OpenVMS DCL ディクショナリ』を参照してください。
システムでプリンタまたはバッチ処理を使用するには,キュー を使用する必要があります。
キュー・マネージャ はキューの動作を制御します。キュー・データベース はマスタ・ファイルをはじめ,キュー・ファイルやジャーナル・ファイルを格納します。
これらのファイルにはキューとジョブに関する情報が格納されます。
キュー操作を行うためには,必ずキュー・マネージャを起動して,キュー・データベースを作成しておく必要があります。
これらの実際の操作については,この後の 13.5 項 「キュー・マネージャの起動とキュー・データベースの作成」
で説明します。
OpenVMS Cluster 環境においてキューを管理するときのキュー・マネージャの働きを 図 13-1 「OpenVMS のバッチとプリント・キュー・システム」 に示します。
バッチ・ジョブまたはプリント・ジョブがキューに登録されると,
キュー・マネージャは次の操作を行います。
-
ジョブのタイプ,ファイル名,キューの名前,特殊オプションなどが指定された,ユーザからのキュー要求を受け取る。
-
受け取った情報をキュー・データベースに記録し,
ジョブをプリントまたは実行するときに読み出す。
-
対応するキューにジョブを登録して,順番を待つ。
-
プリント・ジョブは,シンビオント と呼ぶ独立プロセスに送信されて書式整形され,印刷のためにプリンタに送信される。
-
バッチ・ジョブの場合は,ジョブ・コントローラ がバッチ・ジョブ・プロセスを生成する。
1 つ以上のキュー・マネージャ・プロセスが,ノードのすべてのプロセスまたは OpenVMS クラスタ環境内のすべてのプロセスのキュー登録を制御します。
OpenVMS Cluster の 1 つのノードからジョブを登録して,別のノードのキューでそのジョブを実行することも可能です。
各ノードのユーザ・プロセス,シンビオント,ジョブ・コントローラは,直接キュー・マネージャと通信します。
また,ジョブ・コントローラはキュー・マネージャと協力して,次のキュー管理作業を行います。
-
バッチ,シンビオント,キュー・マネージャ・プロセスの作成と監視
-
-
OpenVMS Cluster 環境におけるキュー・マネージャのフェールオーバ処理
キュー・マネージャのフェールオーバ
省略時の設定では,キュー・マネージャが動作中のノードがクラスタを離れた場合,キュー・マネージャは別のノードにフェールオーバしようとします。
OpenVMS Cluster 環境では,クラスタのノードにキューを要求させる順番を指定したり,キュー・マネージャを実行可能なノードを制限したりすることができます。
詳細は13.6 項 「キュー・マネージャ・フェールオーバのカスタマイズ」 を参照してください。
複数のキュー・マネージャ
CPU,ディスク容量,メモリの制約を回避するには,
複数のキュー・マネージャを使用して,
バッチ処理とプリント処理の作業負荷をノード間で分散したり,
データベース・ファイルをディスク間で分散します。
たとえば,バッチ・キューやプリント・キューのためにキューを別々に作成し,それぞれのキューのマネージャを別々のノードで実行できます。
バッチ・キュー・マネージャを 1 つのノードで実行し,プリント・キュー・マネージャを別のノードで実行します。
また,キュー・ファイルとジャーナル・ファイルを別々のディスクで管理することもできます。
キュー・マネージャを追加作成する方法と複数のキュー・マネージャを使用する理由,およびその場合の制限事項については,13.8 項 「複数のキュー・マネージャの使用」 を参照してください。
キュー・データベースは,キュー・システムが動作しつづけるために必要な,ジョブ,キュー,キュー・マネージャなどの情報を保持します。
省略時のキュー・マネージャ SYS$QUEUE_MANAGER
に対するキュー・データベースを構成するファイルは次のとおりです。
複数のキュー・マネージャを持つシステムでは,
各追加キュー・マネージャの新しいキュー・ファイルとジャーナル・ファイルは,
キュー・データベースに含まれています。
追加キュー・ファイルは,
キュー・マネージャ名.QMAN$QUEUES の形式で命名されます。
追加ジャーナル・ファイルは,
キュー・マネージャ名.QMAN$JOURNAL の形式で命名されます。
図 13-2 「キュー・データベース」 は,PRINT_MANAGER と BATCH_MANAGER という 2 つのキュー・マネージャを登録したマスタ・ファイルを格納したキュー・データベースを示しています。
各キュー・マネージャにはそれぞれ,キュー・ファイルとジャーナル・ファイルがあります。
省略時の設定では,
データベース・ファイルはすべて SYS$COMMON:[SYSEXE] に格納されています。
ただし必要であれば,別の場所に移すことも可能です。
次の節で,データベース・ファイルを移動する理由と方法を説明します。
キュー・データベース・ファイルが,
省略時の格納場所 SYS$COMMON:[SYSEXE] に存在しない場合には,
キュー・データベースの格納場所を指定する必要があります。
省略時のファイル格納場所を変える理由には,次のようなものがあります。
-
複数のシステム・ディスクを使用する OpenVMS Cluster 環境では,
省略時の格納場所は正常に機能しない。
これは,省略時の場所が各システム・ディスクで異なるからである。
ファイルはすべてのクラスタ・メンバ・ノードで共有されるディスクに格納しなければならない。
このような構成では,マスタ・ファイル QMAN$MASTER.DAT を格納しているディスクは,システム起動時に
キュー・データベースを使用しているすべてのノードで利用できるようにする必要がある。
-
システム・ディスクの容量を節約したり,性能を向上させる。
通常は,キュー・ファイルとジャーナル・ファイルを移動するだけで十分である。
キュー・データベース・ファイルの移動方法
キュー・データベース・ファイルを移動する方法には 2 種類あります。
-
キュー・データベース・ファイルの最初の作成時には,
代替の格納場所に作成する。
-
論理名 QMAN$MASTER を SYLOGICALS.COM に定義し,
マスタ・ファイルを作成する場所を指定する。
-
START/QUEUE/MANAGER コマンドに ディレクトリ指定パラメータを指定して,キュー・マネージャ起動する。
その後,キュー・ファイルとジャーナル・ファイルを作成する場所を指定する。
詳細は 13.5 項 「キュー・マネージャの起動とキュー・データベースの作成」 を参照。
-
すでにキュー・データベース・ファイルを作成している場合には,
次の操作を実行する。
-
キュー・マネージャを停止する。
-
キュー・データベース・ファイルを新しい格納場所にコピーする。
-
ファイルが新しい場所にコピーされ,元の場所のファイルが削除されたことを確認する。
-
マスタ・ファイルを移動する場合には,論理名 QMAN$MASTER
をすべてのノードで定義して,マスタ・ファイルの格納場所を指定する。
また,この論理名定義をすべてのノードの SYLOGICALS.COM に追加する。
-
START/QUEUE/MANAGER コマンドに ディレクトリ指定パラメータを指定して,キュー・マネージャを起動する。
その後,キュー・ファイルとジャーナル・ファイルを作成する場所を指定する。
マスタ・ファイルの格納場所の指定方法については,
13.3.1 項 「キュー・マスタ・ファイルの格納場所の指定」 を参照してください。
キュー・ファイルとジャーナル・ファイルの格納場所の指定方法については,
13.3.2 項 「キュー・ファイルとジャーナル・ファイル」 を参照してください。
13.3.1 キュー・マスタ・ファイルの格納場所の指定 | |
マスタ・ファイルの格納場所を指定するためには,
キュー・マネージャの起動とキュー・データベースの作成の前に,次の操作を実行してください。
-
次の形式でコマンドを入力する。
DEFINE/SYSTEM/EXECUTIVE_MODE QMAN$MASTER 等価名
等価名パラメータには,
マスタ・ファイルを作成し格納するデバイスとディレクトリを指定する。
OpenVMS Cluster 環境では,このコマンドを OpenVMS Cluster 内のすべてのノードで入力する。
-
ステップ 1 で入力したコマンドを,OpenVMS Cluster 環境のすべてのノードの SYS$MANAGER:SYLOGICALS.COM スタートアップ・コマンド・プロシージャに追加する。
-
指定した格納場所がノードのシステム・ディスクでない場合には,
そのディスクをマウントするコマンドをコマンド・プロシージャ
SYS$MANAGER:SYLOGICALS.COM に追加する。
通常 SYLOGICALS.COM では論理名の定義を行うが,この場合,
このプロシージャのなかでマスタ・ファイルが格納されているディスクをマウントすることに注意。
これは,ジョブ・コントローラがキュー・マネージャを起動する前に,
マスタ・ファイルが利用できるようにしておくためである。
SYLOGICALS.COM でシステム単位の論理名を定義する方法については,
5.2.5 項 「システム単位の論理名を定義するための SYLOGICALS.COM の変更」を参照。
13.3.2 キュー・ファイルとジャーナル・ファイル | |
START/QUEUE/MANAGER コマンドに ディレクトリ指定パラメータを指定して,
キュー・ファイルとジャーナル・ファイルの格納場所を指定します。
次に例を示します。
$ START/QUEUE/MANAGER DUA2:[SYSQUE]
|
このコマンドは,キューとジャーナル・ファイルが DUA2:[SYSQUE] ディレクトリに格納されるように指定します。
START/QUEUE/MANAGER コマンドを一度入力すると,入力したディレクトリ位置はキュー・データベースに保存されます。
キュー・マネージャを再起動する場合,ディレクトリ位置を再指定する必要はありません。
1 つ以上のキュー・マネージャに関する情報を表示するには,
SHOW QUEUE/MANAGERS コマンドを入力します。
例
-
次の例では,PRINT_MANAGER と SYS$QUEUE_MANAGER という 2 つのキュー・マネージャに関して,省略時の (/BRIEF) 情報を表示する。
$ SHOW QUEUE/MANAGERS
Queue manager PRINT_MANAGER, running, on NODEA::
Queue manager SYS$QUEUE_MANAGER, running, on NODED::
|
-
システムまたはクラスタのキュー・マネージャに関する詳細情報を表示するには,/FULL 修飾子を使用する。
次の例では,マスタ・ファイルは 1 か所にあるが,2 つのキュー・マネージャに属しているキュー・ファイルとジャーナル・ファイルは異なる場所にある。
$ SHOW QUEUE/MANAGERS/FULL
Master file: SYS$SPECIFIC:[SYSEXE]QMAN$MASTER.DAT;
Queue manager PRINT_MANAGER, running, on NODEA::
/ON=(NODEA,NODEB,*)
Database location: DUA2:[SYSQUE]
Queue manager BATCH_MANAGER, running, on NODED::
/ON=(NODEC,NODED,NODEE,*)
Database location: SYS$SYSROOT:[SYSEXE]
|
図 13-3 「キュー・データベース・ファイルの格納位置」 は,2 番目の例で示したキュー・データベース・ファイルの場所を示しています。
キューを作成するためには,
次の形式でコマンドを使用してキュー・データベースを作成しておく必要があります。
START/QUEUE/MANAGER/NEW_VERSION[/ON=(ノード名,...)] [ディレクトリ指定]
通常,ユーザがこの作業を実行するのは 1 度だけです。
これは,ユーザがこのコマンドを実行すると,
システムはこのコマンドと指定した修飾子とパラメータとともに,
このコマンドをキュー・データベースに格納するからです。
ユーザが STOP/QUEUE/MANAGER/CLUSTER コマンドを入力しない限り,
ジョブ・コントローラは再起動時に自動的にキュー・マネージャを起動します。
このため,スタートアップ・コマンド・プロシージャに START/QUEUE/MANAGER
コマンドを記述する必要はありません。
作業方法
-
システム・アドレス・パラメータ SCSNODE および SCSSYSTEMID の値が,
DECnet for OpenVMS ノード名およびノードID と一致することを確認する。
システムでキューを正常に実行させるためには,
これらの値は正しく定義されていなければならない。
-
SYSMAN ユーティリティ の PARAMETERS SHOW コマンドが,
システム・アドレス・パラメータ SCSNODE および SCSSYSTEMID の値を決める。
-
NCP の SHOW EXECUTOR SUMMARY コマンドを実行すると,
DECnet for OpenVMS ノード名およびノードID が表示される。
詳細は 13.11.5.1 項 「問題の調査」 の 2 番目の例を参照。
-
省略時の位置 SYS$COMMON:[SYSEXE] にキュー・データベース・ファイルを作成する場合は,ステップ 3 へ進む。
省略時の位置以外の位置にキュー・データベース・ファイルを作成する場合は,
13.3.1 項 「キュー・マスタ・ファイルの格納場所の指定」または 13.3.2 項 「キュー・ファイルとジャーナル・ファイル」,あるいは両方を参照。
-
キュー・マネージャを起動してキュー・データベース・ファイルを作成するには,
START/QUEUE/MANAGER コマンドを実行する。
このコマンドを実行するとキュー・マネージャ・プロセスが起動する。
オプションで,キュー・ファイルとジャーナル・ファイルを作成できる。
キュー・マネージャが起動しない場合は,
13.11.1 項 「一般的な問題の回避: 問題解決チェックリスト」 の問題解決チェックリストを参照。
例次の例は以下を指定しています。
-
マスタ・ファイルはディレクトリ DUA4:[MASTER] にある。
-
キュー・ファイルとジャーナル・ファイルの場所はディレクトリ DUA2:[SYSQUE] である (しかし,マスタ・ファイルの場所は DUA4:[MASTER] から移動しない)。
$ DEFINE/SYSTEM/EXECUTIVE_MODE QMAN$MASTER DUA4:[MASTER]
$ MOUNT/SYSTEM/NOASSIST DUA4:
$ !
$ ! Add the two previous commands to SYLOGICALS.COM
$ !
$ START/QUEUE/MANAGER/NEW_VERSION DUA2:[SYSQUE]
|
1 つ以上のキュー・マネージャを追加作成する方法については,
13.8 項 「複数のキュー・マネージャの使用」 を参照してください。
省略時の設定では,
OpenVMS Cluster 環境のすべてのノードでキュー・マネージャが実行可能であり,実行に決まった順番はありません。
START/QUEUE/MANAGER コマンドの /ON 修飾子を使うと,
キュー・マネージャの実行可能な OpenVMS Cluster ノードを,
実行したい順に列挙したリストを指定できます。
少なくとも 1 つのノードが常にキュー・マネージャを実行できるようにするために,ノード・ディスクの最後にアスタリスク (*) を指定することをお勧めします。
キュー・マネージャを停止し,再起動するには,DCL コマンドを入力する必要があります。
13.7.1 キュー・マネージャの停止 | |
スタンドアロン・ノードまたは OpenVMS Cluster ノードでキュー・マネージャをシャットダウンするには,次のコマンドを入力します。
$ STOP/QUEUE/MANAGER/CLUSTER
|
キュー・マネージャは,次の作業を実行します。
-
再起動不可能なすべての現在のジョブの処理を強制終了し,
再起動可能なすべての現在のジョブをキューに再度登録する。
-
-
-
キュー・マネージャに関連するすべてのキュー・データベース・ファイルをクローズする。
STOP/QUEUE/MANAGER/CLUSTER コマンドが入力されると,
キュー・マネージャ・プロセスが停止状態になるため,
START/QUEUE/MANAGER コマンドを入力することによってキュー・マネージャを再度起動しないかぎり,キュー・システムに対する要求は拒否されます (キュー・マネージャが 1 つでも実行されているとキュー・システムも実行されています)。
OpenVMS Cluster 遷移によって,
キュー・マネージャの状態が変化することはありません。
また,START/QUEUE/MANAGER コマンドが入力されないかぎり,新たに使用可能になったノードがキュー・マネージャの起動を試みることはありません。
クラスタ全体で動作するキュー・マネージャを停止させるためには,
/CLUSTER 修飾子が必要です。
以前の/CLUSTER 修飾子なしの STOP/QUEUE/MANAGER コマンドは,DCL の STOP/QUEUES/ON_NODE コマンドと同じ働きをします。
キュー・マネージャを停止させることなく,特定の 1 つのノードのすべてのキューを停止したい場合は,STOP/QUEUES/ON_NODE コマンドを使用してください。
13.7.2 キュー・マネージャの再起動 | |
システムをリブートすると,キュー・マネージャは自動的に再起動されます。
しかし,次のいずれかの理由で START/QUEUE/MANAGER コマンドを入力しなければならないことがあります。
-
STOP/QUEUE/MANAGER/CLUSTER コマンドを入力した場合は,
START/QUEUE/MANAGER コマンドを入力して,
キュー・マネージャを再起動する。
-
OpenVMS Cluster 環境において,キュー・マネージャを実行するノードを追加する場合は,
START/QUEUE/MANAGER コマンドに /ON 修飾子を指定する。
詳細は13.6 項 「キュー・マネージャ・フェールオーバのカスタマイズ」 を参照。
-
OpenVMS Cluster 環境において,もっとも望ましいノード上でキュー・マネージャ・プロセスが実行されているかどうか確認する場合は,
START/QUEUE/MANAGER コマンドを入力する。
もっとも望ましいノード上で実行されていない場合,キュー・マネージャは,
サービスを中断することなく,そのノードに移動される。
省略時のノード・リスト (*) を使用している場合,キュー・マネージャは移動されない。
作業方法
キュー・マネージャを再起動する場合は,次の形式で START/QUEUE/MANAGER コマンドを使用します。
START/QUEUE/MANAGER[/ON=(ノード名,...)] [ ディレクトリ指定 ]
キュー・マネージャを再起動する場合,
現在使用している /ON=(ノード名,...) 修飾子または ディレクトリ指定パラメータの値を変更するのでないかぎり,
それらの項目を指定する必要はありません。
キュー・マネージャを起動するコマンドは,指定した修飾子およびパラメータと一緒にキュー・データベースに格納されます。
それらの指定がない場合,キュー・マネージャは,キュー・データベースに格納されているノード・リストと位置情報を使って起動されます。
キュー・マネージャが起動しない場合の対処方法については,
13.11.1 項 「一般的な問題の回避: 問題解決チェックリスト」 で説明しています。
複数のキュー・マネージャを使用すると,バッチ処理とプリント処理の作業負荷を複数のノードやディスク・ボリューム間で分散できます。
複数のキュー・マネージャの概要と,
キュー・マネージャを追加作成するにはどのような処理が必要であるかを理解しておかなければなりません。
13.8.1 複数のキュー・マネージャについて | |
この節では,複数のキュー・マネージャの操作に関連する項目について説明します。
複数のキュー・マネージャを使用する場合の制限事項
複数のキュー・マネージャには次の制限事項があります。
-
1 つのキュー・マネージャで実行されているキューは,
別のキュー・マネージャで実行中のキューを参照できない。
たとえば,キュー・マネージャ A で実行中の汎用キューは,
キュー・マネージャ B で実行中の実行キューにジョブを渡すことができない。
-
1 つのキュー・マネージャのキューから別のキュー・マネージャのキューにジョブを移動することはできない。
-
OpenVMS Cluster 環境では,最大 5 つのキュー・マネージャを使用できる。
複数のキュー・マネージャの名前
キュー・マネージャのプロセス名は,キュー・マネージャ名の最初の 12 文字です。
省略時のキュー・マネージャ名は SYS$QUEUE_MANAGER です。
省略時のキュー・マネージャのプロセス名は QUEUE_MANAGE です。
PRINT_MANAGER という名前の追加キュー・マネージャを作成すると,
プロセス名は PRINT_MANAGE になります。
キュー・マネージャに関する問題が発生したときに,その問題に適切に対処できるように,すべてのキュー・マネージャのプロセス名を把握しておかなければなりません。
13.11 項 「キュー・マネージャに関する問題の解決」 を参照してください。
複数のキュー・マネージャによるキュー・データベース・ファイルの使用
複数のキュー・マネージャは,1 つのマスタ・ファイルを共有します。
しかし,複数のキュー・マネージャを使用するキュー・データベースには,
各キュー・マネージャに対して 1 つのキュー・ファイルと 1 つのジャーナル・ファイルが格納されます。
13.2 項 「キュー・データベースについて」 を参照してください。
複数のキュー・マネージャを管理するためのコマンド
省略時の設定では,次のコマンドは省略時のキュー・マネージャ SYS$QUEUE_MANAGER,または省略時のキュー・マネージャで実行中のキューに影響します。
-
-
ENABLE AUTOSTART/QUEUES と DISABLE AUTOSTART/QUEUES
-
-
STOP/QUEUE/MANAGER/CLUSTER
-
/NAME_OF_MANAGER 修飾子を使用すると,これらのコマンドに対して異なるキュー・マネージャを指定できます。
13.8.2 追加キュー・マネージャの作成 | |
1 つ以上のキュー・マネージャを作成するには,次の操作を実行してください。
例次のコマンドは,BATCH_MANAGER という名前の新しいキュー・マネージャを作成し,起動します。
$ START/QUEUE/MANAGER/ADD/NAME_OF_MANAGER=BATCH_MANAGER/ON=(A,B,*) DUA2:[QUEUES]
|
13.8.2.1 複数のキュー・マネージャの作成と移動
INITIALIZE/QUEUE コマンドでキューを 作成するときには,/NAME_OF_MANAGER 修飾子を付けて,キューが実行されるキュー・マネージャの名前を指定します。
/NAME_OF_MANAGER 修飾子を指定しないと,キューは省略時のキュー・マネージャ SYS$QUEUE_MANAGER 上で作成されます。
既存のキューを元のキュー・マネージャから別のキュー・マネージャに移動するには,DELETE/QUEUE コマンドでキューを削除し,INITIALIZE/QUEUE コマンドで再作成します。
キュー・マネージャを保守するために DCL コマンドを入力するときは,
必ず /NAME_OF_MANAGER 修飾子でコマンドを適用するキュー・マネージャを指定します。
/NAME_OF_MANAGER 修飾子を指定しない場合,コマンドは省略時のキュー・マネージャ SYS$QUEUE_MANAGER で実行されます。
例
例で各コマンドが行っている操作は次のとおりです。
-
最初のコマンドは,PRINT_MANAGER というキュー・マネージャを作成して起動し,
マスタ・ファイル,キュー・ファイル,およびジャーナル・ファイルを作成する。
-
2 番目のコマンドは,
BATCH_MANAGER という追加キュー・マネージャを作成して起動する。
また,このキュー・マネージャに対して,
キュー・ファイルとジャーナル・ファイルも自動的に作成される。
-
省略時のキュー・マネージャ SYS$QUEUE_MANAGER は定義されない。
-
SHOW QUEUE/MANAGERS コマンドは,システムで実行中のキュー・マネージャに関する情報を表示する。
13.4 項 「キュー・マネージャに関する情報の表示」 を参照。
$ START/QUEUE/MANAGER/NEW_VERSION/NAME_OF_MANAGER=PRINT_MANAGER -
_$ /ON=(JADE,RUBY,*)
$ START/QUEUE/MANAGER/ADD/NAME_OF_MANAGER=BATCH_MANAGER -
_$ /ON=(OPAL,PEARL,*)
$ SHOW QUEUE/MANAGER/FULL
Master file: SYS$SPECIFIC:[SYSEXE]QMAN$MASTER.DAT;
Queue manager PRINT_MANAGER, running, on JADE::
/ON=(JADE,RUBY,*)
Database location: SYS$COMMON:[SYSEXE]
Queue manager BATCH_MANAGER, running, on OPAL::
/ON=(OPAL,PEARL,*)
Database location: SYS$SYSROOT:[SYSEXE]
|
キュー構成に変更を行う場合は,
必ずキュー・データベース・ファイルのコピーを作成しておきます。
このコピーを保存しておくと,
キュー・データベース・ファイルにアクセスできなくなったときに,
保存したキュー・データベースを復元することができます。
その結果,フォームや属性を再定義して,
各キューを再度初期化する必要がなくなります。
13.9.1 キュー・データベース・ファイルの保存 | |
次に,キュー・システムが動作しているときに
キュー・データベースのレコードごとのコピーを保存する手順を説明します。
保存されるのはキュー,フォーム,および特性の定義だけであり,
ジョブ情報は保存されません。
なお,時刻指定してあるジョブや保留中のジョブが,
ジャーナル・ファイルの復元後に再実行される場合があるので,
ジャーナル・ファイルは保存しないようにしてください。
作業方法
-
次の形式で OpenVMS の CONVERT ユーティリティ・コマンドを入力して,
マスタ・ファイルを保存する。
CONVERT/SHARE QMAN$MASTER.DAT マスタ・ファイル名
マスタ・ファイル名には,QMAN$MASTER.DAT のコピー先のファイル名を指定する。
CONVERT ユーティリティについては,『OpenVMS Record Management Utilities Reference Manual』を参照。
-
次の形式で CONVERT コマンドを入力して,キュー・ファイルを保存する。
CONVERT/SHARE SYS$QUEUE_MANAGER.QMAN$QUEUES -
キュー・ファイル名
キュー・ファイル名には,SYS$QUEUE_MANAGER.QMAN$QUEUES
のコピー先のファイル名を指定する。
-
次の形式で BACKUP ユーティリティ・コマンドを使用して,
CONVERT で作成したファイルを保存する。
BACKUP/LOG マスタ・ファイル名 , キュー・ファイル名
デバイス: セーブ・セット名 /LABEL= ラベル
BACKUP ユーティリティについては,『OpenVMS システム管理 ユーティリティ・リファレンス・マニュアル』を参照。
例
次の例は,キュー・データベースを保存する方法を示す簡単なプロシージャです。
$ SET DEFAULT SYS$COMMON:[SYSEXE]
$ CONVERT/SHARE QMAN$MASTER.DAT MASTERFILE_9SEP.KEEP;
$ CONVERT/SHARE SYS$QUEUE_MANAGER.QMAN$QUEUES QFILE_9SEP.KEEP;
$ INITIALIZE MUA0: QDB
$ MOUNT/FOREIGN MUA0:
%MOUNT-I-MOUNTED, QDB mounted on _LILITH$MUA0:
$ BACKUP/LOG MASTERFILE_9SEP.KEEP,QFILE_9SEP.KEEP MUA0:QDB_9SEP.SAV/LABEL=QDB
%BACKUP-S-COPIED, copied SYS$COMMON:[SYSEXE]MASTERFILE_9SEP.KEEP;
%BACKUP-S-COPIED, copied SYS$COMMON:[SYSEXE]QFILE_9SEP.KEEP;
$ DISMOUNT MUA0:
|
13.9.2 キュー・データベース・ファイルの復元 | |
キュー・データベース・ファイルを復元すると,すべてのキュー,フォーム,
属性,キュー・マネージャ情報が復元されます。
しかし,キューに登録されているジョブに関する情報は復元されません。
作業方法
-
キュー・マネージャが動作している場合は,DCL の STOP/QUEUE/MANAGER/CLUSTER コマンドを入力して停止させる。
-
3 つのキュー・データベース・ファイルをすべて削除する。
残っているファイルがあっても,すべて削除すること。
-
MOUNT コマンドを使用して,キュー・データベースのバックアップを格納したディスクまたはテープをマウントする。
-
BACKUP ユーティリティを使用して,13.9 項 「キュー・データベースの保存と復元」 のステップ 3 で作成したセーブ・セットからキュー・ファイルとマスタ・ファイルを復元する。
マスタ・ファイルかキュー・ファイルを省略時以外の場所に格納している場合は,
その場所に復元する。
格納場所を変更した場合は,キュー・マネージャを起動するときに新しい格納場所を指定すること。
-
START/QUEUE/MANAGER コマンドを使ってキュー・マネージャを起動する。
/NEW_VERSION 修飾子は使用しないこと。
新しい空のジャーナル・ファイルが自動的に作成される。
例
次の例は,キュー・データベースをテープから復元する方法を示すプロシージャです。
$ STOP/QUEUE/MANAGER/CLUSTER
$ SET DEFAULT SYS$COMMON:[SYSEXE]
$ DELETE SYS$QUEUE_MANAGER.QMAN$JOURNAL;,SYS$QUEUE_MANAGER.QMAN$QUEUES;, -
_$ QMAN$MASTER.DAT;
$ MOUNT/FOREIGN MUA0:
%MOUNT-I-MOUNTED, QDB mounted on _LILITH$MUA0:
$ BACKUP/LOG MUA0:QDB_9SEP.SAV/SELECT=[SYSEXE]MASTERFILE_9SEP.KEEP; -
_$ QMAN$MASTER.DAT;
%BACKUP-S-CREATED, created SYS$COMMON:[SYSEXE]QMAN$MASTER.DAT;1
$ SET MAGTAPE/REWIND MUA0:
$ BACKUP/LOG MUA0:QDB_9SEP.SAV/SELECT=[SYSEXE]QFILE_9SEP.KEEP; -
_$ SYS$QUEUE_MANAGER.QMAN$QUEUES
%BACKUP-S-CREATED, created SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$QUEUES;1
$ DISMOUNT MUA0:
$ START/QUEUE/MANAGER
|
次のシステム資源は,キュー登録システムの性能に最も影響を与えます。
-
CPU -- CPU 速度および可用性は,キュー・マネージャを実行するノードで重要な要素である。
キュー・マネージャに時間的な余裕があり,
CPU 速度が高速であるほど,キュー・マネージャはより速く処理を行える。
-
ディスク -- ディスクの速度や,データベース・ディスクに対するキュー登録以外の動作 (ページングや,データベースに対する大量のアクセスなど) も性能に影響を与える可能性がある。
次の操作を行うと,キュー登録システムの性能を最大化できます。
次の参照箇所を読んで,キュー・マネージャに関する問題を解決してください。
13.11.1 一般的な問題の回避: 問題解決チェックリスト | |
キュー登録システムに関する一般的な問題を避けるために,
次の条件を必ず満たしてください。
13.11.2 キュー・マネージャが起動しない場合 | |
START/QUEUE/MANAGER コマンドを入力しても,キュー・マネージャが起動しない場合,システムは次のメッセージを表示します。
%JBC-E-QMANNOTSTARTED, queue manager could not be started
|
次のようなコマンドを使用して,オペレータ・ログ・ファイル SYS$MANAGER:OPERATOR.LOG (またはオペレータ・コンソール) 上に,
キュー・マネージャまたはジョブ・コントローラから問題に関してメッセージが出力されていないか検索してください。
$ SEARCH SYS$MANAGER:OPERATOR.LOG/WINDOW=5 QUEUE_MANAGE,-
_$ JOB_CONTROL,BATCH_MANAGE
|
メッセージが見つかったら,それを利用してさらに問題を調査し,
13.11.1 項 「一般的な問題の回避: 問題解決チェックリスト」 の条件を満たしていることを確認してください。
この問題が発生するのは,システムがキュー・マスタ・ファイルを見つけることができないからです。
多くの場合,論理名の定義が正しくないか,
またはディスクが使用可能な状態でないと考えられます。
たとえば,次のメッセージは,マスタ・キュー・ファイルが適切な場所に格納されていないことを示します。
%%%%%%%%%%% OPCOM 13-MAR-2000 15:53:52.84 %%%%%%%%%%%
Message from user SYSTEM on ABDCEF
%JBC-E-OPENERR, error opening SYS$COMMON:[SYSEXE]QMAN$MASTER.DAT
%%%%%%%%%%% OPCOM 13-MAR-2000 15:53:53.04 %%%%%%%%%%%
Message from user SYSTEM on ABDCEF
-SYSTEM-W-NOSUCHFILE, no such file
|
複数のキュー・マネージャが存在するシステムでも,追加キュー・マネージャによって表示されるメッセージを,検索文字列にプロセス名を含めて調べてください。
ユーザのシステムで実行されているキュー・マネージャに関する情報を表示するために,13.4 項 「キュー・マネージャに関する情報の表示」 の説明に従って SHOW QUEUE MANAGERS コマンドを使用してください。
メッセージに表示されたすべての問題を解決してください。
例
$ START/QUEUE/MANAGER DUA55:[SYSQUE] 1
%JBC-E-QMANNOTSTARTED, queue manager could not be started 2
$SEARCH SYS$MANAGER:OPERATOR.LOG /WINDOW=5 QUEUE_MANAGE,JOB_CONTROL 3
%%%%%%%%%%% OPCOM 14-APR-2000 18:55:18.23 %%%%%%%%%%%
Message from user SYSTEM on CATNIP
%QMAN-E-OPENERR, error opening DUA55:[SYSQUE]SYS$QUEUE_MANAGER.QMAN$QUEUES;
%%%%%%%%%%% OPCOM 14-APR-2000 18:55:18.29 %%%%%%%%%%%
Message from user SYSTEM on CATNIP
-RMS-F-DEV, error in device name or inappropriate device type for operation
%%%%%%%%%%% OPCOM 14-APR-2000 18:55:18.31 %%%%%%%%%%%
Message from user SYSTEM on CATNIP
-SYSTEM-W-NOSUCHDEV, no such device available 4
$ START/QUEUE/MANAGER DUA5:[SYSQUE] 5
|
|
1 | キュー・マネージャを起動するコマンド。
キュー・ファイルとジャーナル・ファイルの格納場所として DUA55:[SYSQUE] が指定されている。
|
2 | キュー・マネージャを起動できなかったことを示すエラー・メッセージ。
|
3 | このコマンドは,オペレータ・ログ・ファイルに関連するメッセージがあるか調べる。
SEARCH コマンドには,BATCH_MANAGE などの 2 番目のキュー・マネージャ名が指定されていない。
|
4 | このメッセージは,デバイス DUA55: が存在しないために,
キュー・ファイルをオープンできなかったことを示す。
|
5 | このコマンドは,キュー・ファイルとジャーナル・ファイルの場所として DUA5:[SYSQUE] を正しく指定しているため,キュー・マネージャを正しく起動できる。
|
複数のキュー・マネージャとそのプロセス名についての詳細は,
13.8.1 項 「複数のキュー・マネージャについて」 を参照してください。
13.11.3 キュー登録システムが停止する場合またはキュー・マネージャがあるノードで実行されない場合 | |
クラスタ内のあるノードでキュー・マネージャが実行されない場合,
またはキュー登録システムが停止する場合には,
この項の説明をお読みください。
特に,次のいずれかの項目にあてはまる場合は,この項を参考にしてください。
-
キュー・マネージャが実行されていたノードをクラスタから分離する。
-
-
START/QUEUE/MANAGER コマンドの /ON 修飾子 で指定したノード・リストを変更する。
-
キュー・データベースの移動後にキュー・マネージャを起動する。
キュー・マネージャの起動時またはフェールオーバ時のオペレータ・ログをチェックしてください。
キュー・マネージャ (QUEUE_MANAGE プロセス名) からのオペレータ・メッセージがないかログを検索してください。
複数のキュー・マネージャが存在するシステムの場合も,
追加キュー・マネージャから表示されるメッセージがないか,
検索文字列にプロセス名を含めて調べてください。
システムで実行されているキュー・マネージャに関する情報を表示するためには,13.4 項 「キュー・マネージャに関する情報の表示」 の説明に従って SHOW QUEUE MANAGERS コマンドを使用してください。
複数のキュー・マネージャとそれらのプロセス名についての詳細は,
13.8.1 項 「複数のキュー・マネージャについて」 を参照してください。
次のメッセージは,キュー・データベースが指定した格納場所に存在しないことを示しています。
%%%%%%%%%%% OPCOM 4-FEB-2000 15:06:25.21 %%%%%%%%%%%
Message from user SYSTEM on MANGLR
%QMAN-E-OPENERR, error opening CLU$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$QUEUES;
%%%%%%%%%%% OPCOM 4-FEB-2000 15:06:27.29 %%%%%%%%%%%
Message from user SYSTEM on MANGLR
-RMS-E-FNF, file not found
%%%%%%%%%%% OPCOM 4-FEB-2000 15:06:27.45 %%%%%%%%%%%
Message from user SYSTEM on MANGLR
-SYSTEM-W-NOSUCHFILE, no such file
|
次のメッセージはキュー・データベース・ディスクがマウントされていないことを示しています。
%%%%%%%%%%% OPCOM 4-FEB-2000 15:36:49.15 %%%%%%%%%%%
Message from user SYSTEM on MANGLR
%QMAN-E-OPENERR, error opening DISK888:[QUEUE_DATABASE]SYS$QUEUE_MANAGER.QMAN$QUEUES;
%%%%%%%%%%% OPCOM 4-FEB-2000 15:36:51.69 %%%%%%%%%%%
Message from user SYSTEM on MANGLR
-RMS-F-DEV, error in device name or inappropriate device type for operation
%%%%%%%%%%% OPCOM 4-FEB-2000 15:36:52.20 %%%%%%%%%%%
Message from user SYSTEM on MANGLR
-SYSTEM-W-NOSUCHDEV, no such device available
|
キュー登録システムは,次の環境下では正常に動作しません。
-
キュー・ファイルとジャーナル・ファイルの格納場所を指定する START/QUEUE/MANAGER コマンドで指定した ディレクトリ指定パラメータの値が,
すべてのノードで正確に同じでなく,かつキュー・マネージャが関係するノードの 1 つで起動される場合。
これは通常,OpenVMS Cluster 環境でシステム・ディスクを追加するときやキュー登録データベースを移動するときに起こる。
-
キュー・データベース・ディスクが,キュー・マネージャを実行する予定のノードにマウントされていない場合。
キュー・マネージャに重大なエラーが発生し,
キュー・マネージャが同一ノードで 2 分間に 2 回連続して強制的にクラッシュやフェールオーバを行った場合には,
通常,キュー登録システムは完全に停止します。
ただし,元のノードの起動に失敗した後で,キュー・マネージャをデータベースにアクセスできる別のノードに移動した場合は,
キュー登録システムの実行を続けることができます。
次の操作を実行してください。
-
キュー・マネージャが停止している場合には,
START/QUEUE/MANAGER コマンドに次の項目を加えて実行します。
-
-
キュー・ファイルとジャーナル・ファイルの格納場所を指定する適切な ディレクトリ指定パラメータ。
/ ON 修飾子で指定するノード・リスト内のすべてのノードは,
このディレクトリにアクセスできなければならない。
-
ノード・リストに指定されたすべてのノードで,
マスタ・ファイルが格納されているディスクをマウントする MOUNT コマンドを,
プロシージャ SYLOGICALS.COM に追加する。
ただし,キュー・データベース・ファイルが格納されているディスクからブートされるノードは省く。
システム・ディスクの場合は,
ディスクをノードに明示的にマウントする必要はない。
13.11.4 キュー・マネージャが使用できない場合 | |
キュー・マネージャが起動しない場合や,実行を停止した場合には,
キュー・マネージャは使用できなくなります。
問題を調査するには,SHOW CLUSTER コマンドを入力して,リストに指定されているノードが使用可能な状態であるかどうか確認します。
十分なフェールオーバ・ノード・リストがキュー・マネージャに対して指定されていないため,キュー・マネージャを実行できるノードがフェールオーバ・リストにありません。
キュー・マネージャがいずれかのノードで実行できるよう,
/ON 修飾子にシステム構成にあったノード・リストを指定して,
START/QUEUE/MANAGER コマンドを入力してみてください。
どのノードを指定すればよいのか明確でない場合は,
OpenVMS Cluster の残りのノードがキュー・マネージャを実行できるよう,
リストの最後にアスタリスク (*) ワイルドカード文字を指定することをお勧めします。
アスタリスクを指定しておくと,ノード・リストに十分な数のノードが指定されていなくても,キュー・マネージャが使用不能になることがなくなります。
13.11.5 ある OpenVMS Cluster ノードでキュー登録システムが実行されない場合 | |
ある OpenVMS Cluster ノードでキュー登録システムが実行されない場合には,この項の内容をもとに対処してください。
次の操作を実行してください。
-
次のメッセージがないか,
問題が発生したときのオペレータ・ログを検索する。
これらのメッセージは,関連するノードがブートされた後,
30 秒ごとに表示される。
%%%%%%%%%%% OPCOM 4-FEB-2000 15:36:49.15 %%%%%%%%%%%
Message from user SYSTEM on ZNFNDL
%QMAN-E-COMMERROR, unexpected error #5 in communicating with node CSID 000000
%%%%%%%%%%% OPCOM 4-FEB-2000 15:36:49.15 %%%%%%%%%%%
Message from user SYSTEM on ZNFNDL
-SYSTEM-F-WRONGACP, wrong ACP for device_
|
-
システム・アドレス・パラメータの SCSNODE と SCSSYSTEMID に対するノードの値を,
DECnet のノード名およびノード ID に対する値と比較する。
次に例を示す。
$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> PARAMETERS SHOW SCSSYSTEMID
Parameter Name Current Default Min. Max. Unit Dynamic
-------------- ------- ------- ------- ------- ---- -------
SCSSYSTEMID 19941 0 -1 -1 Pure-numbe
SYSMAN> PARAMETERS SHOW SCSNODE
Parameter Name Current Default Min. Max. Unit Dynamic
-------------- ------- ------- ------- ------- ---- -------
SCSNODE "RANDY " " " " " "ZZZZ" Ascii
SYSMAN> EXIT
$ RUN SYS$SYSTEM:NCP
NCP> SHOW EXECUTOR SUMMARY
Node Volatile Summary as of 5-FEB-2000 15:50:36
Executor node = 19.45 (DREAMR)
State = on
Identification = DECnet for OpenVMS VAX V7.2
NCP> EXIT
$ WRITE SYS$OUTPUT 19*1024+45
19501
|
DECnet のノード名とノード ID が,
システム・アドレス・パラメータの SCSNODE と SCSSYSTEMID に一致しない場合には,オペレーティング・システムの内部機構であるプロセス間通信 (IPC: interprocess communication) は正常に動作しません。
また,影響を受けたノードは,キュー登録システムには使用できません。
次の操作を実行してください。
-
値が一致するように,
システム・アドレス・パラメータのSCSNODE および SCSSYSTEMID,
または DECnet のノード名およびノードIDを変更する。
これらのシステム・パラメータについての詳細は,
『OpenVMS システム管理 ユーティリティ・リファレンス・マニュアル』を参照。
DECnet のノード名とノード ID の詳細は,
『DECnet for OpenVMS Guide to Networking』
[21]
を参照。
-
システムをリブートする。
13.11.6 複数の OpenVMS Cluster ノードでキュー登録動作が一定でない場合 | |
次の現象が発生した場合には,この項の内容をもとにして対処してください。
-
プリント・ジョブを登録した後,同じノードでは SHOW ENTRY コマンドでジョブを表示できるが,OpenVMS Cluster 環境の別のノードでは表示できない。
-
キューを定義または変更した後,同じノードでは SHOW QUEUE コマンドで変更箇所を表示できるが,別のノードでは表示できない。
-
あるノードではジョブのプリントまたは登録を実行できるが,
別のノードでは実行できない。
JOBQUEDIS エラーを受け取る。
次の操作を実行してください。
-
SHOW LOGICAL コマンドを使用して,クラスタ 内の各ノードの環境内で QMAN$MASTER 論理名を変換する。
与えられたノードに変換値が存在しない場合には,
SYS$COMMON:[SYSEXE] の省略時の値を変換する。
1 つまたは複数のノードで SHOW LOGICAL 変換値に別の物理ディスク名が表示された場合には,問題を特定したことになる。
-
関連ノードの 1 つがブートされたときのオペレータ・ログ・ファイルをチェックする。
次のような,JOB_CONTROL プロセスからの OPCOM メッセージを検索する。
%%%%%%%%%%% OPCOM 4-FEB-2000 14:41:20.88 %%%%%%%%%%%
Message from user SYSTEM on MANGLR
%JBC-E-OPENERR, error opening BOGUS:[QUEUE_DIR]QMAN$MASTER.DAT;
%%%%%%%%%%% OPCOM 4-FEB-2000 14:41:21.12 %%%%%%%%%%%
Message from user SYSTEM on MANGLR
-RMS-E-FNF, file not found
|
この問題は,クラスタ内の別々のノード上の QMAN$MASTER 論理名を別々に定義したために発生します。
その結果,複数のキュー登録環境ができてしまいます。
この問題は,通常,OpenVMS Cluster 環境でシステム・ディスクを追加するときやキュー登録データベースを移動するときに起こります。
次の操作を実行してください。
-
キュー・マネージャとキュー・データベースが 1 つか存在しない場合には,ステップ 2 に進む。
複数のキュー・マネージャとキュー・データベースが存在する場合には,
次の操作を実行する。
-
QMAN$MASTER 論理名が正しく定義されていないノードの 1 つで,
次の形式でコマンドを入力する。
STOP/QUEUE/MANAGER/CLUSTER -
/NAME_OF_MANAGER=キュー・マネージャ名
ただし,キュー・マネージャ名には停止するキュー・マネージャの名前を指定する。
-
無効なキュー・データベースの 3 つのファイルをすべて削除する (複数のキュー・マネージャがあるシステムでは,無効なファイルは 4 つ以上ある)。
-
論理名 QMAN$MASTER を,関連するシステムで割り当て直し,
この論理名が定義されているスタートアップ・プロシージャ(通常は SYLOGICALS.COM) 内の定義を訂正する。
-
関連しないノードで STOP/QUEUE/MANAGER/CLUSTER コマンドを入力して,
有効なキュー・マネージャを停止する。
-
START/QUEUE/MANAGER をいずれかのノードで入力して,
キュー登録システムが正常に動作することを確認する。
キューに問題が生じ,それを弊社のサポート担当者に連絡する必要がある場合には,
次の表に示す内容をご連絡ください。
この情報は,ユーザのシステムの問題を診断するのに役立ちますので,
できるだけ多くの情報を連絡するようにしてください。
|