# Compaq OpenVMS
システム管理者マニュアル

前へ | 次へ | 目次 | 索引

# 第 13 章
キュー・マネージャとキュー・データベースの管理

キューを作成し起動するためには，その前にキュー・マネージャとキュー・データベースを設定しておかなければなりません。本章では， OpenVMS バッチ・キューおよびプリント・キュー登録システムで，キュー・マネージャとキュー・データベースを設定し管理する方法について説明します。

本章の内容

本章では，次の作業について説明します。

作業 | 参照箇所
--- | ---
キュー・データベース・ファイルの位置指定 | 第 13.3 節
キュー・マネージャの情報表示 | 第 13.4 節
キュー・マネージャの起動とキュー・データベースの作成 | 第 13.5 節
キュー・マネージャ・フェイルオーバのカスタマイズ | 第 13.6 節
キュー・マネージャの停止 | 第 13.7 節
複数の(追加の)キュー・マネージャの作成 | 第 13.8 節
キュー・データベースの保存と復旧 | 第 13.9 節
キュー・システム性能の最大化 | 第 13.10 節
キュー・マネージャ問題の解決 | 第 13.11 節
キュー登録システム問題のコンパックへの連絡 | 第 13.12 節

さらに，次の項目について説明します。

項目 | 参照箇所
--- | ---
キュー・マネージャ | 第 13.1 節
キュー・データベース | 第 13.2 節
複数の(追加の)キュー・マネージャ | 第 13.8.1 項

本章では，多くの場所で DCL コマンドを参照しています。 DCL コマンドについての詳細は，『Compaq OpenVMS DCL ディクショナリ』を参照してください。

# 13.1 キュー・マネージャについて

システムでプリンタまたはバッチ処理を使用するには，キュー を使用する必要があります。キュー・マネージャ はキューの動作を制御します。キュー・データベース はマスタ・ファイルをはじめ，キュー・ファイルやジャーナル・ファイルを格納します。これらのファイルにはキューとジョブに関する情報が格納されます。

キュー操作を行うためには，必ずキュー・マネージャを起動して，キュー・データベースを作成しておく必要があります。これらの実際の操作については，この後の 第 13.5 節 で説明します。

OpenVMS Cluster 環境においてキューを管理するときのキュー・マネージャの働きを 図 13-1 に示します。

図 13-1 OpenVMS のバッチとプリント・キュー・システム

バッチ・ジョブまたはプリント・ジョブがキューに登録されると，キュー・マネージャは次の操作を行います。

1. ジョブのタイプ，ファイル名，キューの名前，特殊オプションなどが指定された，ユーザからのキュー要求を受け取る。

2. 受け取った情報をキュー・データベースに記録し，ジョブをプリントまたは実行するときに読み出す。

3. 対応するキューにジョブを登録して，順番を待つ。

   1. プリント・ジョブは，シンビオント と呼ぶ独立プロセスに送信されて書式整形され，印刷のためにプリンタに送信される。

   2. バッチ・ジョブの場合は，ジョブ・コントローラ がバッチ・ジョブ・プロセスを生成する。

1 つ以上のキュー・マネージャ・プロセスが，ノードのすべてのプロセスまたは OpenVMS クラスタ環境内のすべてのプロセスのキュー登録を制御します。 OpenVMS Cluster の 1 つのノードからジョブを登録して，別のノードのキューでそのジョブを実行することも可能です。各ノードのユーザ・プロセス，シンビオント，ジョブ・コントローラは，直接キュー・マネージャと通信します。

また，ジョブ・コントローラはキュー・マネージャと協力して，次のキュー管理作業を行います。

- バッチ，シンビオント，キュー・マネージャ・プロセスの作成と監視

- 再ブート時のキュー・マネージャ・プロセスの再起動

- OpenVMS Cluster 環境におけるキュー・マネージャのフェイルオーバ処理

キュー・マネージャのフェイルオーバ

省略時の設定では，キュー・マネージャが動作中のノードがクラスタを離れた場合，キュー・マネージャは別のノードにフェイルオーバしようとします。

OpenVMS Cluster 環境では，クラスタのノードにキューを要求させる順番を指定したり，キュー・マネージャを実行可能なノードを制限したりすることができます。詳細は 第 13.6 節 を参照してください。

複数のキュー・マネージャ

CPU，ディスク容量，メモリの制約を回避するには，複数のキュー・マネージャを使用して，バッチ処理とプリント処理の作業負荷をノード間で分散したり，データベース・ファイルをディスク間で分散します。

たとえば，バッチ・キューやプリント・キューのためにキューを別々に作成し，それぞれのキューのマネージャを別々のノードで実行できます。バッチ・キュー・マネージャを 1 つのノードで実行し，プリント・キュー・マネージャを別のノードで実行します。また，キュー・ファイルとジャーナル・ファイルを独立したディスクで管理することもできます。

キュー・マネージャを追加作成する方法と複数のキュー・マネージャを使用する理由，およびその場合の制限事項については， 第 13.8 節 を参照してください。

# 13.2 キュー・データベースについて

キュー・データベースは，キュー・システムが動作しつづけるために必要な，ジョブ，キュー，キュー・マネージャなどの情報を保持します。 1 つの省略時のキュー・マネージャ SYS$QUEUE_MANAGER に対するキュー・データベースを構成するファイルは次のとおりです。

ファイル | 説明
--- | ---
マスタ・ファイル (QMAN$MASTER.DAT) | 内容: キュー・ファイルとジャーナル・ファイルの格納場所情報 フォームと特性の定義情報 キュー名のリスト キュー・マネージャを実行可能なノードのリスト キュー・マネージャのリストと，キュー・マネージャを実行できるノードのリスト。
キュー・ファイル (SYS$QUEUE_MANAGER.QMAN$QUEUES) | 作成，起動，変更されたキューの定義を含む。
ジャーナル・ファイル (SYS$QUEUE_MANAGER.QMAN$JOURNAL) | 次の場合，キュー・マネージャが最後の既知状態に戻ることを可能にする情報を含む。 スタンドアロン型のマシンが予期せぬ停止をした場合。 キュー・マネージャを実行している OpenVMS Cluster ノードが OpenVMS Cluster 環境を離れた場合。 このファイルには，ジョブの定義も含まれる。

複数のキュー・マネージャを持つシステムでは，各追加キュー・マネージャの新しいキュー・ファイルとジャーナル・ファイルは，キュー・データベースに含まれています。追加キュー・ファイルは， キュー・マネージャ名.QMAN$QUEUES の形式で命名されます。追加ジャーナル・ファイルは， キュー・マネージャ名.QMAN$JOURNAL の形式で命名されます。

図 13-2 は，PRINT_MANAGER と BATCH_MANAGER という 2 つのキュー・マネージャを登録したマスタ・ファイルを格納したキュー・データベースを示しています。各キュー・マネージャにはそれぞれ，キュー・ファイルとジャーナル・ファイルがあります。

図 13-2 キュー・データベース

省略時の設定では，データベース・ファイルはすべて SYS$COMMON:[SYSEXE] に格納されています。ただし必要であれば，別の場所に移すことも可能です。次の節で，データベース・ファイルを移動する理由と方法を説明します。

# 13.3 キュー・データベースの格納場所の指定

キュー・データベース・ファイルが，省略時の格納場所 SYS$COMMON:[SYSEXE] に存在しない場合には，キュー・データベースの格納場所を指定する必要があります。省略時のファイル格納場所を変える理由には，次のようなものがあります。

- 複数のシステム・ディスクを使用する OpenVMS Cluster 環境では，省略時の格納場所は正常に機能しない。これは，省略時の場所が各システム・ディスクで異なるからである。ファイルはすべてのクラスタ・メンバ・ノードで共有されるディスクに格納しなければならない。
  このような構成では，マスタ・ファイル QMAN$MASTER.DAT を格納しているディスクは，システム起動時に キュー・データベースを使用しているすべてのノードで利用できるようにする必要がある。

- システム・ディスクの容量を節約したり，性能を向上させる。通常は，キュー・ファイルとジャーナル・ファイルを移動するだけで十分である。

キュー・データベース・ファイルの移動方法

キュー・データベース・ファイルを移動する方法には 2 種類あります。

- キュー・データベース・ファイルの最初の作成時には，代替の格納場所に作成する。

  1. 論理名 QMAN$MASTER を SYLOGICALS.COM に定義し，マスタ・ファイルを作成する場所を指定する。

  2. START/QUEUE/MANAGER コマンドに ディレクトリ指定パラメータを指定して，キュー・マネージャ起動する。その後，キュー・ファイルとジャーナル・ファイルを作成する場所を指定する。

  詳細は 第 13.5 節 を参照。

- すでにキュー・データベース・ファイルを作成している場合には，次の操作を実行する。

  1. キュー・マネージャを停止する。

  2. キュー・データベース・ファイルを新しい格納場所にコピーする。

  3. ファイルが新しい場所にコピーされ，元の場所のファイルが削除されたことを確認する。

  4. マスタ・ファイルを移動する場合には，論理名 QMAN$MASTER をすべてのノードで定義して，マスタ・ファイルの格納場所を指定する。また，この論理名定義をすべてのノードの SYLOGICALS.COM に追加する。

  5. START/QUEUE/MANAGER コマンドに ディレクトリ指定パラメータを指定して，キュー・マネージャを起動する。その後，キュー・ファイルとジャーナル・ファイルを作成する場所を指定する。

マスタ・ファイルの格納場所の指定方法については， 第 13.3.1 項 を参照してください。キュー・ファイルとジャーナル・ファイルの格納場所の指定方法については， 第 13.3.2 項 を参照してください。

## 13.3.1 キュー・マスタ・ファイルの格納場所の指定

マスタ・ファイルの格納場所を指定するためには，キュー・マネージャの起動とキュー・データベースの作成の前に，次の操作を実行してください。

1. 次の形式でコマンドを入力する。

       DEFINE/SYSTEM/EXECUTIVE_MODE QMAN$MASTER   等価名

   等価名パラメータには，マスタ・ファイルを作成し格納する装置とディレクトリを指定する。
   OpenVMS Cluster 環境では，このコマンドを OpenVMS Cluster 内のすべてのノードで入力する。

   注意 OpenVMS Cluster 環境では，マスタ・ファイル用に指定したディレクトリは，クラスタのすべてのノードで利用できる必要があります。ディレクトリ指定が隠し論理名になっている場合には， OpenVMS Cluster のすべてのノードで同じ名前で定義してある必要があります。さらに，ディスクは， システム・スタートアップの初期に OpenVMS Cluster メンバ・ノードにマウントされている必要があります。

2. ステップ 1 で入力したコマンドを，OpenVMS Cluster 環境のすべてのノードの SYS$MANAGER:SYLOGICALS.COM スタートアップ・コマンド・プロシージャに追加する。

3. 指定した格納場所がノードのシステム・ディスクでない場合には，そのディスクをマウントするコマンドをコマンド・プロシージャ
   SYS$MANAGER:SYLOGICALS.COM に追加する。通常 SYLOGICALS.COM では論理名の定義を行うが，この場合，このプロシージャのなかでマスタ・ファイルが格納されているディスクをマウントすることに注意。これは，ジョブ・コントローラがキュー・マネージャを起動する前に，マスタ・ファイルが利用できるようにしておくためである。
   SYLOGICALS.COM でシステム単位の論理名を定義する方法については， 第 5.2.5 項 を参照。

## 13.3.2 キュー・ファイルとジャーナル・ファイル

START/QUEUE/MANAGER コマンドに ディレクトリ指定パラメータを指定して，キュー・ファイルとジャーナル・ファイルの格納場所を指定します。次に例を示します。

    $ START/QUEUE/MANAGER DUA2:[SYSQUE]

このコマンドは，キューとジャーナル・ファイルが DUA2:[SYSQUE] ディレクトリに格納されるように指定します。

注意 OpenVMS Cluster 環境では，キュー・ファイルとジャーナル・ファイルに対して指定したディレクトリは，キュー・マネージャを実行できるすべてのノードで利用できる必要があります。ディレクトリ指定が隠し論理名になっている場合には， OpenVMS Cluster のすべてのノードで同じ名前で定義してある必要があります。さらに，ディスクは， システム・スタートアップの初期に すべてのOpenVMS Clusterメンバ・ノードにマウントされている必要があります。

START/QUEUE/MANAGER コマンドを一度入力すると，入力したディレクトリ位置はキュー・データベースに保存されます。キュー・マネージャを再起動する場合，ディレクトリ位置を再指定する必要はありません。

# 13.4 キュー・マネージャに関する情報の表示

1 つ以上のキュー・マネージャに関する情報を表示するには， SHOW QUEUE/MANAGERS コマンドを入力します。

例

1. 次の例では，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::

2. システムまたはクラスタのキュー・マネージャに関する詳細情報を表示するには，/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 番目の例で示したキュー・データベース・ファイルの場所を示しています。

図 13-3 キュー・データベース・ファイルの格納位置

前へ | 次へ | 目次 | 索引