mqrrefresh(リポジトリ情報の再作成)
機能
リポジトリ情報を削除し,再作成します。
オプションの指定と削除するリポジトリ情報について,次の表に示します。
|
リポジトリ情報 |
すべて省略 |
-f |
-m |
-t |
-m -t |
|---|---|---|---|---|---|
|
フルリポジトリキューマネジャ情報 (フルリポジトリのクラスタレシーバチャネル情報) |
× |
○ |
× |
× |
× |
|
パーシャルリポジトリキューマネジャ情報 (パーシャルリポジトリのクラスタレシーバチャネル情報) |
× |
○ |
○ |
× |
○ |
|
リモートに存在するクラスタキュー情報 |
○ |
○ |
○ |
○ |
○ |
|
マネジャ問い合わせ情報 |
× |
○ |
○ |
× |
○ |
|
キュー問い合わせ情報 |
○ |
○ |
○ |
× |
× |
- (凡例)
-
○:削除します。
×:削除しないで残します。
コマンドを入力する状況と指定するオプションについて,次の表に示します。
|
コマンドを入力する状況 |
指定するオプション |
|---|---|
|
相手システムのクラスタキューを使用できない場合 |
すべて省略 |
|
次に示す条件を同時に満たす場合
|
-f |
|
次に示す条件を同時に満たす場合
|
-m |
|
次に示す条件を同時に満たす場合
|
-t |
|
次に示す条件を同時に満たす場合
|
-m -t |
オプション
● -f
フルリポジトリキューマネジャ情報を再作成します。
このオプションを省略すると,フルリポジトリキューマネジャについての情報は再作成されません。
● -m
リモートのパーシャルリポジトリキューマネジャ情報を削除します。
● -t
過去に問い合わせた情報を削除しないで残します。
アクセスするチャネル情報やキュー情報を保持していない場合,リポジトリ管理サーバはこれらの情報をフルリポジトリに問い合わせます。このオプションを指定すると,リポジトリ情報の再作成時に情報を削除しないで残します。
● -c クラスタ名
〜<1〜48文字のMQ文字列>
リポジトリ情報を再作成するクラスタ名を指定します。
● -a
リポジトリ管理サーバが参加しているすべてのクラスタに対し,リポジトリ情報の再作成処理を行います。
実行手順
-
クラスタキューにアクセスするすべてアプリケーションを終了します。
-
mqtstpchaコマンドでクラスタレシーバチャネルを終了します。
-
SYSTEM.CLUSTER.TRANSMIT.QUEUEにメッセージが滞留していないことを確認します。
KFCA16350-I,KFCA16351-IまたはKFCA16352-Wが出力されることを確認してください。
クラスタセンダチャネルは,mqtstpchaコマンドを入力すると,該当チャネルに割り当てられたメッセージを別のチャネルで送信するため,メッセージ送信経路の再設定処理を行います。再設定処理では,転送キューに登録されているメッセージを再登録します。
KFCA16350-I,KFCA16351-IまたはKFCA16352-Wが出力されない場合は,mqtstpcha -fコマンドを入力してチャネルを強制解放してください。
-
チャネル状態を確認して,送達未確認メッセージがないことを確認します。
チャネルの送達未確認メッセージがないことを確認するには,mqtlschaコマンドで,クラスタセンダチャネルの状態を確認します。
mqtlscha -n クラスタセンダチャネル名
送達未確認メッセージがある場合は,必ずそれを解決してから作業を進めてください。
解決しないでmqrrefreshコマンドを実行するとメッセージが二重に送信されるおそれがあります。
-
mqrrefreshコマンドを実行します。
KFCA31526-IおよびKFCA31527-Iが出力されることを確認してください。
KFCA31526-Iが出力されない場合,コマンドが異常終了しているおそれがあります。原因を取り除き,再度mqrrefreshコマンドを実行してください。KFCA31527-Iが出力されない場合,リポジトリ管理サーバが開始していることを確認してください。
-
クラスタレシーバチャネルを開始します(mqtstachaコマンドを実行します)。
-
クラスタセンダチャネルを開始します(mqtstachaコマンドを実行します)。
KFCA31529-Iが出力されることを確認してください。
注意事項
-
リポジトリ管理サーバが開始していない場合はエラーとなります。また,指定したクラスタに参加していない場合もエラーとなります。
-
リポジトリ情報の再作成処理中にMQSET命令を発行したり,mqasetコマンドを入力したりした場合,フルリポジトリに情報が反映されるのは再作成処理終了メッセージが出力されたあとになります。
-
フルリポジトリでキューマネジャをクラスタから強制的に除去したあとにmqrrefreshコマンドを実行する場合は,10秒以上経過してから実行してください。強制的な除去はフルリポジトリ側だけの処理となりパーシャルリポジトリに通知は来ないため,メッセージを表示できません。このためフルリポジトリ側の処理完了をパーシャルリポジトリ側の運用者が待つ必要があります。
10秒経過していない場合,mqrrefreshコマンドは無視され,再作成処理完了メッセージは出力されません。この状態になったときは,TP1/Message Queueで,再度mqrrefresh -fコマンドを実行してください。
-
再作成処理中にmqrsupまたはOpenTP1が異常終了した場合,再作成処理は中断されます。その後,mqrsup開始時に再作成処理は再開されますが,その際再びKFCA31527-Iメッセージが出力されます。
-
KFCA31526-Iメッセージ出力後KFCA31529-Iメッセージ出力までの間は,クラスタに未参加となるため,リモートのクラスタキューに対するMQOPEN,MQPUT,およびMQPUT1命令がエラーとなる場合があります。リフレッシュ処理完了後,再度MQOPEN,MQPUT,およびMQPUT1命令を発行してください。
-
SYSTEM.CLUSTER.TRANSMIT.QUEUEにメッセージが滞留している状態で-mオプションを指定しmqrrefreshコマンドを実行した場合,メッセージがあて先キューに送信されないで,クラスタ転送キューに滞留した状態となります。必ずメッセージが滞留していないことを確認してください。
出力メッセージ
|
出力メッセージID |
内容 |
出力先 |
|---|---|---|
|
KFCA04208-E |
MQAサーバのV/Rが誤っています。 |
標準エラー出力 |
|
KFCA04209-E |
メモリ不足で処理を続行できません。 |
標準エラー出力 |
|
KFCA04300-E |
コマンドで指定した引数の数が正しくありません。 |
標準エラー出力 |
|
KFCA04301-E |
定義解析中にエラーが発生しました。 |
標準エラー出力 |
|
KFCA04302-E |
MQAサービスが終了処理中です。 |
標準エラー出力 |
|
KFCA04303-E |
RPCでネットワーク障害が発生しました。 |
標準エラー出力 |
|
KFCA04304-E |
MQAサービスが起動されていません。 |
標準エラー出力 |
|
KFCA04307-E |
指定したオプションの数が誤っています。 |
標準エラー出力 |
|
KFCA26184-E |
プロセス固有領域のメモリ不足で処理を続行できません。 |
標準エラー出力 |
|
KFCA31030-E |
コマンド実行中に異常を検知しました。 |
標準エラー出力 |
|
KFCA31115-E |
コマンドに対して処理結果を送信できません。 |
メッセージログファイル |
|
KFCA31120-E |
RPCインタフェースで異常を検知しました。 |
標準エラー出力 |
|
KFCA31124-E |
リポジトリ管理サーバが起動されていません。 |
標準エラー出力 |
|
KFCA31173-E |
OpenTP1がオンライン状態ではないため,コマンドを実行できません。 |
標準エラー出力 |
|
KFCA31502-E |
MQIでエラーが発生しました |
メッセージログファイル |
|
KFCA31526-I |
リポジトリ管理サーバに処理を依頼しました。 |
メッセージログファイル |
|
KFCA31528-I |
ヘルプメッセージ |
標準出力 |
|
KFCA31530-E |
リポジトリ管理サーバは指定したクラスタに参加していません。 |
標準エラー出力 |
|
KFCA31531-E |
クラスタは再作成処理中です。 |
標準エラー出力 |
|
KFCA31536-E |
リポジトリ管理サーバへの処理依頼に失敗しました。 |
メッセージログファイル |
|
KFCA31538-E |
指定したクラスタ名が誤っています。 |
標準エラー出力 |