前へ | 次へ | 目次 | 索引 |
予想どおりにジョブが実行されない場合は,ジョブが保留または保持状態になっていることが考えられます。そうした場合は SHOW QUEUE/FULL/ALL_JOBS コマンドを使用して,キューのすべてのジョブの状態を表示してみてください。
ジョブが保持状態のときのジョブの解放については, 第 14.7.2.3 項 を参照してください。
ジョブが保留状態の場合は,/FULL 修飾子を使用することによって,ジョブが実行不可能な状態になっている理由を知ることができます。すべての情報を表示したい場合は,132 文字幅のディスプレイを使用してください。
たとえば,次は /FULL 修飾子を使用して保留中のジョブの状態を表示している例です。
$ SHOW QUEUE/FULL/ALL_JOBS/BY_JOB_STATUS=PENDING Generic printer queue REG$GENERIC /GENERIC=(REG$Q1,REG$Q2,REG$Q3)/OWNER=[SYSTEM]/PROTECTION=(S:M,O:D,G:R,W:R) Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 684 PROBLEMS CHURCHILL 3118 Pending (check execution queues) Submitted 7-MAR-2000 17:49 /FORM=DEFAULT /NOTIFY /PRIORITY=100 File: _$5$DUA174:[CHURCHILL]PROBLEMS.TXT;2 Printer queue REG$Q1, stopped, on LONDON::NPA1, mounted form DEFAULT /BASE_PRIORITY=4/DEFAULT=(FEED,FORM=DEFAULT)/OWNER=[SYSTEM] /PROTECTION=(S:M,O:D,G:R,W:R) Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 687 PM$SPEECH CHURCHILL 3558 Pending (queue stopped) Submitted 7-MAR-2000 17:51 /FORM=DEFAULT /NOTIFY /PRIORITY=100 File: _$5$DUA174:[CHURCHILL]PM$SPEECH.TXT;1 (checkpointed) |
実行不可能になった場合,ジョブは必ず保留状態になります。 表 14-8 は,ジョブが保留状態になる原因としてよく見られるものと,その対処方法をまとめたものです。
問題 | 対処方法 |
---|---|
これ以上,キューがジョブを処理することはできない。 | 他のジョブの終了を待つ。 |
キューが停止または一時停止した。 | SHOW QUEUE/FULL コマンドを入力して,停止または一時停止と示された場合は,キューがその状態になった理由を調べること。停止の場合は,START/QUEUE コマンドを使用して起動する。
自動起動型キューが停止した場合は,START/QUEUE コマンドを使用してキューをアクティブにし, ENABLE AUTOSTART/QUEUES を使用してキューを起動する。 一時停止の場合は, 第 14.8.3 項 の操作を行うこと。 |
プリント・ジョブのフォーム・ストックとキューでマウントされているフォーム・ストックと一致しない。 | 第 14.8.2.1 項 の操作を行う。 |
キューにない特性でジョブが登録または変更された。 | 第 14.8.2.2 項 の操作を行う。 |
プリント・ジョブのサイズが,キューに設定されているブロック制限の範囲外である。 | SET ENTRY/REQUEUE コマンドを使用してジョブを別のキューに移すか, SET QUEUE/[NO]BLOCK_LIMIT コマンドを使用して,キューに設定されているブロック制限を変更または解除する。 |
ジョブの所有者に実行キューに対する書き込みアクセス権がない。 | SET ENTRY/REQUEUE コマンドを使用してジョブを別のキューに移すか, 第 14.6.1 項 の手順にしたがってキューに対するアクセス権を変更する。 |
停止した実行キューに対応付けられている論理キューのプリント・ジョブである。 | SET ENTRY/REQUEUE コマンドを使用してジョブを別のキューに移すか,論理キューが対応付けられている実行キューを起動する。 |
英小文字プリントを有効にした出力装置が必要である。 | プリンタが英小文字プリントをサポートしている場合は,SET PRINTER か SET TERMINAL コマンドで /LOWERCASE 修飾子を使用して,英小文字プリントを有効にする。プリンタが英小文字プリントをサポートしていない場合は, SET ENTRY/REQUEUE コマンドを使用して,英小文字プリントが有効なプリンタに出力を送る実行キューにジョブを移す。 |
14.8.2.1 ストック不一致でプリント・ジョブが保留状態になったときの対処法
ジョブのフォーム・ストックがマウント・フォームのストックと一致しないために,プリント・ジョブがキューで保留中になることがあります。たとえば次は SHOW ENTRY コマンドの出力であり,ジョブが保留中になっていることと,その原因がストックの不一致であることが分かります。
$ SHOW ENTRY 133/FULL Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 133 SET RANDOM 74 Pending (stock type mismatch) On idle printer queue SUE$PRINT Submitted 21-JAN-2000 16:14 /FORM=MANUAL (stock=HQ) /PRIORITY=100 File: _$5$DUA1:[RANDOM]SET.TXT;5 |
ストック不一致のために保留中のジョブを保留解除するためには,次の操作を行います。
フォームについての詳細は, 第 14.6.7 項 を参照してください。
14.8.2.2 特性不一致でプリント・ジョブが保留状態になったときの対処法
ジョブの特性がキューに割り当てられている特性と一致しないために,プリント・ジョブがキューで保留中になることがあります。たとえば次は SHOW ENTRY コマンドの出力であり,ジョブが保留中になっていることと,その原因がストックの不一致であることが分かります。
$ SHOW ENTRY 882/FULL Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 882 SETHOST RANDOM 5 Pending (characteristics mismatch) On idle printer queue $PRINTER_1 Submitted 28-MAR-2000 15:21 /CHAR=(5) /FORM=DEFAULT /PRIORITY=100 File: _$5$DUA1:[RANDOM]SETHOST.LOG;5 |
特性不一致のために保留中のジョブを保留解除するためには,次のことを行います。
特性についての詳細は, 第 14.6.3 項 を参照してください。
14.8.3 出力キューの一時停止の解決
出力キューが一時停止した場合,その原因はキューが割り当てられている装置にあります。装置を調べて,問題を解決してください。問題が解決すると,キューの一時停止状態は解消されます。
問題をすぐに解決できない場合は,STOP/QUEUE/RESET コマンドを入力して,キューを停止してください。停止させると,キューのジョブを他の正しく動作するキューに移すことができます ( 第 14.7.1.10 項 を参照)。問題が解決したら,論理キューを割り当て解除し, START/QUEUE コマンドを入力してキューを起動します。
14.8.4 自動起動型キュー不起動の原因究明
ENABLE AUTOSTART/QUEUES を入力しても自動起動型キューが起動しない場合は,キューの自動起動機能がアクティブになっていないことが考えられます。 ENABLE AUTOSTART/QUEUES コマンドは,ノードで動作可能で アクティブな自動起動型キューしか起動しません。自動起動型キューをアクティブにするためには, INITIALIZE/QUEUE コマンドに /START 修飾子を指定するか, START/QUEUE コマンドを入力する必要があります。次に, ENABLE AUTOSTART/QUEUES コマンドの使用例を示します。
$ ENABLE AUTOSTART/QUEUES/ON_NODE=KATY::(1) $ SHOW QUEUE KATY_BATCH Batch queue KATY_BATCH, stopped, autostart inactive, on KATY::(2) $ START/QUEUE KATY_BATCH(3) $ SHOW QUEUE KATY_BATCH/ALL Batch queue KATY_BATCH, idle, on KATY::(4) |
この例では,次の操作を実行します。リスト中の番号は例中の番号に対応します。
キュー,フォーム,または特性の削除時に問題が発生した場合は,次の条件が満たされているか確認してください。
キュー,フォーム,または特性に対する参照があると,次のようなメッセージが表示されます。
%DELETE-E-NOTDELETED, error deleting object-name -JBC-E-REFERENCED, existing references prevent deletion |
たとえばこうしたメッセージは,削除しようとしたキューが汎用キューの送り先として指定されていたり,削除しようとしたフォームがプリント・ジョブに指定されていたりした場合に表示されます。キュー,フォーム,または特性を削除するためには,それらに対する参照をすべて削除しておく必要があります。
ここでは,キュー,フォーム,または特性に対する参照を見つけて,削除する手順を示します。
ここでは,いくつかのコマンドを使用して,キューの削除時の問題を解決している例を紹介します。
$ DELETE/QUEUE JADE_BATCH(1) %DELETE-E-NOTDELETED, error deleting JADE_BATCH -JBC-E-QUENOTSTOP, queue must be stopped to perform operation(2) $ STOP/QUEUE/NEXT JADE_BATCH(3) $ DELETE/QUEUE JADE_BATCH(4) %DELETE-E-NOTDELETED, error deleting JADE_BATCH(5) -JBC-E-REFERENCED, existing references prevent deletion $ SHOW QUEUE/FULL . . . Generic batch queue CLUSTER_BATCH(6) /GENERIC=(JADE_BATCH,RUBY_BATCH,OPAL_BATCH) /OWNER=[SYSTEM] /PROTECTION=(S:M,O:D,G:R,W:R) . . . $ STOP/QUEUE/NEXT CLUSTER_BATCH(7) $ START/QUEUE CLUSTER_BATCH/GENERIC=(RUBY_BATCH,OPAL_BATCH)(8) $ DELETE/QUEUE JADE_BATCH(9) |
この例では,次の操作を実行します。
PRINT/DELETE または SUBMIT/DELETE コマンドを使用してファイルを削除する場合は,クラスタ全体のキュー・マネージャ・プロセスが,指定されたファイルにアクセスする必要があります。キュー・マネージャ・プロセスがファイルにアクセスしない場合は,ファイルのプリントとキュー登録は行われますが,ファイルは削除はされません。
指定したファイルが存在するディスクをクラスタ全体にマウントすると, PRINT/DELETE または SUBMIT/DELETE コマンドがそのファイルを削除したかどうか確認できます。ディスクをクラスタ全体にマウントするには,MOUNT コマンドに /CLUSTER 修飾子を指定します。
操作環境の制限で,クラスタ全体にディスクをマウントできない場合には,そのディスクにアクセスするノードでキュー・マネージャ・プロセスを実行することにより,この問題を解決できます。キュー・マネージャ・プロセスを実行するノードを指定するには,START/QUEUE/MANAGER コマンドに /ON=ノード修飾子を指定して実行します。この修飾子についての詳細は,『Compaq OpenVMS DCL ディクショナリ』を参照してください。
14.8.7 装置制御ライブラリ・モジュールの追加または削除時の問題
装置制御ライブラリ・モジュールを追加または削除しようとしたときに,次のメッセージが表示される場合があります。
$LIBRAR-F-OPENIN, error opening module-name -RMS-E-FLK, file currently locked by another user |
ライブラリ・モジュールを追加または削除するためには,ライブラリが割り当てられているすべての出力キューを停止する必要があります。ライブラリが割り当てられているキューを調べたい場合は,次の操作を行います。
SHOW QUEUE/FULL/OUTPUT= ファイル名 |
ファイル名は,コマンドの出力の送り先にするファイルの名前。
検索結果には,ライブラリが割り当てられているすべてのキューが含まれています。それらキューを停止させ,再度ライブラリ・モジュールを追加または削除するためのコマンドを入力してください。
INITIALIZE/QUEUE,または START/QUEUE コマンドに /LIBRARY 修飾子を指定して,明示的にライブラリをキュー割り当てていない場合, SHOW QUEUE/FULL コマンドによってキューに割り当てられているライブラリが示されることはありません。明示的にライブラリをキューに割り当てていない場合は,省略時のライブラリ SYSDEVCTL が使用されます。 削除しようとするモジュールが省略時のライブラリの SYSDEVCTL に含まれている場合は,SHOW QUEUE/FULL コマンドによってライブラリが示されないすべてのキューを停止する必要があります。SHOW QUEUE/FULL の出力に SYSDEVCTL ライブラリも含まれるようにしたい場合は,キューを再起動するときに /LIBRARY=SYSDEVCTL を指定してください。 |
キューをすぐに停止させることが不可能な場合は,次の操作を行います。
異種プリンタを大量に使用している場合は,ライブラリの数を増やして,各ライブラリが割り当てられるキューを減らすことにより,この問題の発生を防ぐ一助とすることができます。 第 14.6.8.3 項 で説明したように,プリンタのタイプごとにライブラリを作成して,割り当ててみてください。
前へ | 次へ | 目次 | 索引 |