[UNIX、Linux、Windows、IBM i]

endmqm (キュー・マネージャーの終了)

キュー・マネージャーを停止します。あるいは、スタンバイ・キュー・マネージャーまたはレプリカ・キュー・マネージャーに切り替えます。

目的

endmqm コマンドは、指定したキュー・マネージャーを 終了 (停止) するために使用します。 このコマンドは、次のモードのいずれかでキュー・マネージャーを 停止します。
  • 制御または静止状態でのシャットダウン
  • 即時シャットダウン
  • プリエンプティブ・シャットダウン
  • 待機シャットダウン

endmqm コマンドは、 単一インスタンスのキュー・マネージャーを停止する場合と同じ方法で、 複数インスタンス・キュー・マネージャーのすべてのインスタンスを停止します。 endmqm は、 アクティブ・インスタンス、または複数インスタンス・キュー・マネージャーの 1 つのスタンバイ・インスタンスのいずれかで発行できます。 キュー・マネージャーを終了するには、アクティブ・インスタンスで endmqm を発行する必要があります。

endmqm コマンドを 複数インスタンス・キュー・マネージャーのアクティブ・インスタンスで発行する場合、 現在のアクティブ・インスタンスがシャットダウンを完了したときに、 スタンバイ・インスタンスが新しいアクティブ・インスタンスになるように切り替えることができます。

endmqm コマンドを 複数インスタンス・キュー・マネージャーのスタンバイ・インスタンスで発行する場合、 -x オプションを追加することでスタンバイ・インスタンスを終了でき、 アクティブ・インスタンスは実行させたままにできます。 -x オプションを指定せずにスタンバイ・インスタンスで endmqm を発行すると、キュー・マネージャーはエラーを報告します。

[IBM Cloud Pak for Integration]ネイティブ HA グループのアクティブ・ノードまたはレプリカ・ノードで endmqm コマンドを発行できます。 指定されたインスタンスを停止すると、グループのクォーラムが破損しているかどうかを確認するためのチェックが実行され、破損していた場合、コマンドは失敗します。 アクティブ・インスタンスで endmqm -s を発行すると、そのインスタンスは停止し、レプリカの 1 つがアクティブ・インスタンスになります。 レプリカ・インスタンスで endmqm -x を発行すると、そのインスタンスは停止します。

endmqm コマンドを発行すると、サーバー接続チャネルを介して接続されているすべてのクライアント・アプリケーションに影響します。 効果は使用されるパラメーターによって異なりますが、 STOP CHANNEL コマンドが 3 つの可能なモードのいずれかで発行されたかのようになります。 サーバー接続チャネルでの STOP CHANNEL モードの影響については、 MQI チャネルの停止を参照してください。 endmqm オプショナル・パラメーターの記述では、どの STOP CHANNEL モードが同等になるかが説明されています。

endmqm コマンドを発行して キュー・マネージャーを停止した場合、再接続可能クライアントは再接続を試行しません。 この動作を無効にするには、-r または -s のいずれかのオプションを指定して、 クライアントが再接続の試行を開始できるようにします。
注: キュー・マネージャーまたはチャネルが予期せずに終了した場合、再接続可能クライアントは再接続の試行を開始します。
注: クライアントは、このキュー・マネージャーに再接続しない場合があります。 クライアントが使用した MQCONNX 再接続オプション、およびクライアント接続テーブルでのキュー・マネージャー・グループの定義によっては、クライアントが別のキュー・マネージャーに再接続することがあります。 クライアントが同じキュー・マネージャーに強制的に再接続するように、クライアントを構成することができます。

endmqm コマンドは、作業対象のキュー・マネージャーに関連付けられたインストール済み環境から使用する必要があります。 dspmq -o installation コマンドを使用して、どのインストール済み環境にキュー・マネージャーが関連付けられているかを調べることができます。

キュー・マネージャーの属性および関連したオブジェクトは、 endmqm コマンドによる影響を受けません。 strmqm (キュー・マネージャーの始動) コマンドを使用すれば、キュー・マネージャーを再始動できます。

キュー・マネージャーを削除するためには、それを停止し、その後 dltmqm (キュー・マネージャーの削除) コマンドを使用します。

Syntax

Read syntax diagramSkip visual syntax diagram endmqm  -z  -c  -w  -i  -p  -s -r -t interval -tp interval-x QMgrName

必要なパラメーター

QMgrName
停止させるメッセージ・キュー・マネージャーの名前を指定します。

オプション・パラメーター

-c
制御 (または静止) 状態でのシャットダウン。 このパラメーターがデフォルトです。

キュー・マネージャーは、すべてのアプリケーションが切断された後でのみ停止します。 現在処理されている MQI 呼び出しはすべて完了します。 まれに、アプリケーションの切断とキュー・マネージャーの実際の停止の間の短い時間フレームで dspmq (キュー・マネージャーの表示) コマンドが発行された場合、 dspmq (キュー・マネージャーの表示) コマンドは状況を一時的に以下のように報告することがあります。Ending immediatelyただし、制御されたシャットダウンが要求されました。

制御は即時にユーザーに戻り、キュー・マネージャーが停止した時点は 通知されません。

サーバー接続チャネルを介して接続されたクライアント・アプリケーションに対する影響は、 QUIESCE モードで発行された STOP CHANNEL コマンドに相当します。

-i
即時シャットダウン。 キュー・マネージャーは、現在処理されている MQI 呼び出しをすべて完了してから停止します。 このコマンドの発行後に出された MQI 要求はすべて失敗します。 完了しなかった作業単位は、キュー・マネージャーが次に始動されるときに、ロールバックされます。

制御は、キュー・マネージャーが終了した後で戻ります。

サーバー接続チャネルを介して接続されたクライアント・アプリケーションに対する影響は、 FORCE モードで発行された STOP CHANNEL コマンドに相当します。

-p
プリエンプティブ・シャットダウン。
重要: このタイプのシャットダウンは、例外的な状況でのみ使用してください。例えば、通常の endmqm コマンドの結果としてキュー・マネージャーが停止しない場合などです。

キュー・マネージャーは、アプリケーションが切断されるのを待たずに、あるいは MQI 呼び出しが完了するのを待たずに停止することがあります。 これにより、 IBM® MQ アプリケーションで予期しない結果が生じる可能性があります。 シャットダウン・モードは「immediate shutdown (即時シャットダウン)」に設定されています。 数秒経過してもキュー・マネージャーが停止しない場合、シャットダウン・モードは段階的に拡大され、残りのすべてのキュー・マネージャー・プロセスが停止されます。

サーバー接続チャネルを介して接続されたクライアント・アプリケーションに対する影響は、 TERMINATE モードで発行された STOP CHANNEL コマンドに相当します。

-r
再接続可能クライアントの再接続の試行を開始します。 このパラメーターには、 キュー・マネージャー・グループ内の他のキュー・マネージャーへのクライアントの接続を再確立する効果があります。
-s

複数インスタンス・キュー・マネージャーの場合、シャットダウン後にスタンバイ・キュー・マネージャー・インスタンスに切り替えます。 このコマンドは、アクティブ・インスタンスを終了する前に、実行中のスタンバイ・インスタンスがあるかどうかを検査します。 終了前にスタンバイ・インスタンスが開始するまでは待機しません。 キュー・マネージャーへの接続は、 アクティブ・インスタンスのシャットダウンによって失敗します。 再接続可能クライアントが、 再接続の試行を開始します。 クライアントの再接続オプションは、 同じキュー・マネージャーの別のインスタンスにのみ再接続するか、 キュー・マネージャー・グループ内の他のキュー・マネージャーに再接続するように構成できます。

[IBM Cloud Pak for Integration]Native HA グループのアクティブ・インスタンスの場合、シャットダウン後にレプリカ・インスタンスに切り替えます。
  • -r オプションを指定して、クライアント・アプリケーションが別のインスタンスに再接続できるようにします。
  • このインスタンスが Native HA グループのアクティブ・インスタンスでない場合、コマンドは失敗します。
  • このアクティブ・インスタンスを終了してグループ・クォーラムが失敗した場合、コマンドは失敗します。 (このコマンドの実行と同時に他のインスタンスが終了するか、または使用できなくなった場合、クォーラム・チェックでこれが検出されない可能性があります。その場合、Native HA グループは終了し、十分な数のインスタンスが使用可能な場合にのみ再起動できます。)
-w
待機シャットダウン

このタイプのシャットダウンは、キュー・マネージャーが停止した後でのみ制御 がユーザーに戻るということを除けば、制御されたシャットダウンと同じです。 以下のメッセージを受け取ります。Waiting for queue manager qmName to endシャットダウンの進行中。 まれに、アプリケーションの切断とキュー・マネージャーの実際の停止の間の短い時間フレームで dspmq (キュー・マネージャーの表示) コマンドが発行された場合、 dspmq (キュー・マネージャーの表示) コマンドは状況を一時的に以下のように報告することがあります。Ending immediatelyただし、制御されたシャットダウンが要求されました。

サーバー接続チャネルを介して接続されたクライアント・アプリケーションに対する影響は、 QUIESCE モードで発行された STOP CHANNEL コマンドに相当します。

-x

複数インスタンス・キュー・マネージャーの場合、キュー・マネージャーのアクティブ・インスタンスを終了せずに、キュー・マネージャーのスタンバイ・インスタンスを終了します。

[IBM Cloud Pak for Integration]Native HA グループのレプリカ・インスタンスの場合、インスタンスを停止します。
  • このインスタンスが Native HA グループのアクティブ・インスタンスである場合、コマンドは失敗します。
  • このレプリカ・インスタンスを終了してグループ・クォーラムが失敗した場合、コマンドは失敗します。 (このコマンドの実行と同時に他のインスタンスが終了するか、または使用できなくなった場合、クォーラム・チェックでこれが検出されない可能性があります。その場合、Native HA グループは終了し、十分な数のインスタンスが使用可能な場合にのみ再起動できます。)
-z
コマンドでのエラー・メッセージを抑制します。

-t <interval>
<interval> 秒以内にキュー・マネージャーの終了を試行する目標時間。アプリケーションの切断フェーズは段階的に拡大します。 キュー・マネージャーの重要な保守タスクを完了することができるので、キュー・マネージャーの終了フェーズが延長されることがあります。 (詳しくは、 ターゲット時間内にキュー・マネージャーを終了する を参照してください。)

-tp <interval>
<interval> 秒以内にキュー・マネージャーの終了を試行する目標時間。アプリケーションの切断フェーズは段階的に拡大します。 必要な場合は、キュー・マネージャーの重要なメンテナンス・タスクが中断されます。 (詳しくは、 ターゲット時間内にキュー・マネージャーを終了する を参照してください。)
これらの保守タスクには、キューで NPMCLASS が HIGH に設定されている場合に非持続メッセージを保持する試行などが含まれます。

戻りコード

表 1. 戻りコードの ID と説明
戻りコード 説明
0 キュー・マネージャーは終了しました。
3 キュー・マネージャーは作成中です。
[MQ 9.3.2 2023 年 2 月]4 [MQ 9.3.2 2023 年 2 月]キューマネージャーを開始します
16 キュー・マネージャーがありません。
39 無効なパラメーターが指定されました。
40 キュー・マネージャーが利用不能です。
49 キュー・マネージャーが停止中です。
58 複数のインストール済み環境が矛盾して使用されていることが検出されました
62 キュー・マネージャーは別のインストール済み環境に関連付けられています。
69 ストレージが利用不能です。
71 予期しないエラーです。
77 IBM MQ キュー・マネージャーを切り替えることができない
79 IBM MQ キュー・マネージャー QmgrName のアクティブ・インスタンスが終了していません。
90 IBM MQ キュー・マネージャー QmgrName のスタンバイ・インスタンスが終了していません
119 許可は拒否されました

以下の例は、指定されたキュー・マネージャーを終了 (停止) させるコマンドを 示しています。
  1. このコマンドは、 mercury.queue.manager という名前のキュー・マネージャーを制御された方法で終了します。 現在接続されているすべてのアプリケーションは、切断することが可能です。
    endmqm mercury.queue.manager
    
  2. 次のコマンドは、saturn.queue.manager という名前のキュー・マネージャーを即時に終了させます。 現行の MQI 呼び出しはすべて完了しますが、新しい呼び出しは完了できません。
    endmqm -i saturn.queue.manager
    
複数インスタンス・キュー・マネージャーのローカル・インスタンスに endmqm を発行した結果は、前の表に示されています。 コマンドの結果は、-sスイッチと-xスイッチのどちらを使用するか、またキューマネージャのローカルインスタンスとリモートインスタンスの実行状態に依存します。 以下の表は、ネイティブ HA インスタンスに対して endmqm を発行した結果を示しています。
表 2. endmqm アクション
endmqm オプション ローカル・マシン リモート・マシン RC メッセージ 結果
  アクティブ なし 0 - キュー・マネージャーは終了しました。
スタンバイ スタンバイ・インスタンスを含む、キュー・マネージャーが終了しました。
スタンバイ アクティブ 90 AMQ8368 IBM MQ キュー・マネージャー QmgrName のスタンバイ・インスタンスが終了していません。
[IBM Cloud Pak for Integration] Native HA アクティブ - 0 - アクティブ・インスタンスが終了しました。 残りのインスタンスは、クォーラムを検出できた場合、通信して新しいアクティブを選択します。
Native HA レプリカ - 0 - レプリカ・インスタンスが終了しました。 残りのインスタンスは、クォーラムがある場合は続行します。
-s アクティブ なし 77 AMQ7276 IBM MQ キュー・マネージャーを切り替えることができません。
スタンバイ 0 - スタンバイ・インスタンスへの切り替えを可能にして、 キュー・マネージャー QMNAME が終了しました。
スタンバイ アクティブ 90 AMQ8368 IBM MQ キュー・マネージャー QmgrName のスタンバイ・インスタンスが終了していません。
[IBM Cloud Pak for Integration]-s Native HA アクティブ クォーラムは残ります 0 - アクティブ・インスタンスが終了しました。
Native HA アクティブ クォーラムが破損します 79 AMQ7275 クォーラムが失われることになるため、インスタンスは終了していません。
Native HA レプリカ - 90 AMQ7277 この操作はレプリカ・インスタンスでは無効です。
-x アクティブ なし 79 AMQ8367 IBM MQ キュー・マネージャー QmgrName のアクティブ・インスタンスは終了していません。
スタンバイ
スタンバイ アクティブ 0 - キュー・マネージャー QMNAME のスタンバイ・インスタンスが終了しました。
[IBM Cloud Pak for Integration]-x Native HA アクティブ - 79 AMQ8367 IBM MQ キュー・マネージャー 'MG' のアクティブ・インスタンスが終了していません。
Native HA レプリカ クォーラムは残ります 0 - レプリカ・インスタンスが終了しました。
Native HA レプリカ クォーラムが破損します 90 AMQ7275 クォーラムが失われることになるため、インスタンスは終了していません。