mqrrefreshリポジトリ情報の再作成

形式

mqrrefresh  〔{-f|〔-m〕〔-t〕}〕{-c クラスタ名|-a

機能

リポジトリ情報を削除し,再作成します。

オプションの指定と削除するリポジトリ情報について,次の表に示します。

表6-2 オプションの指定と削除するリポジトリ情報

リポジトリ情報すべて省略-f-m-t-m -t
フルリポジトリキューマネジャ情報
(フルリポジトリのクラスタレシーバチャネル情報)
××××
パーシャルリポジトリキューマネジャ情報
(パーシャルリポジトリのクラスタレシーバチャネル情報)
××
リモートに存在するクラスタキュー情報
マネジャ問い合わせ情報××
キュー問い合わせ情報××
(凡例)
○:削除します。
×:削除しないで残します。

コマンドを入力する状況と指定するオプションについて,次の表に示します。

表6-3 コマンドを入力する状況と指定するオプション

コマンドを入力する状況指定するオプション
相手システムのクラスタキューを使用できない場合すべて省略
次に示す条件を同時に満たす場合
  • 相手システムのクラスタキューを使用できません。
  • 相手システム(フルリポジトリキューマネジャ)のクラスタレシーバチャネルを認識できません。
-f
次に示す条件を同時に満たす場合
  • 相手システムのクラスタキューを使用できません。
  • 相手システム(パーシャルリポジトリキューマネジャ)のクラスタレシーバチャネルを認識できません。
-m
次に示す条件を同時に満たす場合
  • 相手システムのクラスタキューを使用できません。
  • 以前のアクセス時にフルリポジトリキューマネジャに場所を問い合わせたオブジェクトを,あらかじめmqrrefreshコマンド入力時に問い合わせておきます。
-t
次に示す条件を同時に満たす場合
  • 相手システムのクラスタキューを使用できません。
  • 相手システム(パーシャルリポジトリキューマネジャ)のクラスタレシーバチャネルを認識できません。
  • 以前のアクセス時にフルリポジトリキューマネジャに場所を問い合わせたオブジェクトを,あらかじめmqrrefreshコマンド入力時に問い合わせておきます。
-m -t

オプション

● -f

フルリポジトリキューマネジャ情報を再作成します。

このオプションを省略すると,フルリポジトリキューマネジャについての情報は再作成されません。

● -m

リモートのパーシャルリポジトリキューマネジャ情報を削除します。

● -t

過去に問い合わせた情報を削除しないで残します。

アクセスするチャネル情報やキュー情報を保持していない場合,リポジトリ管理サーバはこれらの情報をフルリポジトリに問い合わせます。このオプションを指定すると,リポジトリ情報の再作成時に情報を削除しないで残します。

● -c クラスタ名

 ~<1~48文字のMQ文字列>

リポジトリ情報を再作成するクラスタ名を指定します。

● -a

リポジトリ管理サーバが参加しているすべてのクラスタに対し,リポジトリ情報の再作成処理を行います。

実行手順

  1. クラスタキューにアクセスするすべてアプリケーションを終了します。
  2. mqtstpchaコマンドでクラスタレシーバチャネルを終了します。
  3. SYSTEM.CLUSTER.TRANSMIT.QUEUEにメッセージが滞留していないことを確認します。
    KFCA16350-I,KFCA16351-IまたはKFCA16352-Wが出力されることを確認してください。
    クラスタセンダチャネルは,mqtstpchaコマンドを入力すると,該当チャネルに割り当てられたメッセージを別のチャネルで送信するため,メッセージ送信経路の再設定処理を行います。再設定処理では,転送キューに登録されているメッセージを再登録します。
    KFCA16350-I,KFCA16351-IまたはKFCA16352-Wが出力されない場合は,mqtstpcha -fコマンドを入力してチャネルを強制解放してください。
  4. チャネル状態を確認して,送達未確認メッセージがないことを確認します。
    チャネルの送達未確認メッセージがないことを確認するには,mqtlschaコマンドで,クラスタセンダチャネルの状態を確認します。

    mqtlscha -n クラスタセンダチャネル名

    送達未確認メッセージがある場合は,必ずそれを解決してから作業を進めてください。
    解決しないでmqrrefreshコマンドを実行するとメッセージが二重に送信されるおそれがあります。
  5. mqrrefreshコマンドを実行します。
    KFCA31526-IおよびKFCA31527-Iが出力されることを確認してください。
    KFCA31526-Iが出力されない場合,コマンドが異常終了しているおそれがあります。原因を取り除き,再度mqrrefreshコマンドを実行してください。KFCA31527-Iが出力されない場合,リポジトリ管理サーバが開始していることを確認してください。
  6. クラスタレシーバチャネルを開始します(mqtstachaコマンドを実行します)。
  7. クラスタセンダチャネルを開始します(mqtstachaコマンドを実行します)。
    KFCA31529-Iが出力されることを確認してください。

注意事項

  1. リポジトリ管理サーバが開始していない場合はエラーとなります。また,指定したクラスタに参加していない場合もエラーとなります。
  2. リポジトリ情報の再作成処理中にMQSET命令を発行したり,mqasetコマンドを入力したりした場合,フルリポジトリに情報が反映されるのは再作成処理終了メッセージが出力されたあとになります。
  3. フルリポジトリでキューマネジャをクラスタから強制的に除去したあとにmqrrefreshコマンドを実行する場合は,10秒以上経過してから実行してください。強制的な除去はフルリポジトリ側だけの処理となりパーシャルリポジトリに通知は来ないため,メッセージを表示できません。このためフルリポジトリ側の処理完了をパーシャルリポジトリ側の運用者が待つ必要があります。
    10秒経過していない場合,mqrrefreshコマンドは無視され,再作成処理完了メッセージは出力されません。この状態になったときは,TP1/Message Queueで,再度mqrrefresh -fコマンドを実行してください。
  4. 再作成処理中にmqrsupまたはOpenTP1が異常終了した場合,再作成処理は中断されます。その後,mqrsup開始時に再作成処理は再開されますが,その際再びKFCA31527-Iメッセージが出力されます。
  5. KFCA31526-Iメッセージ出力後KFCA31529-Iメッセージ出力までの間は,クラスタに未参加となるため,リモートのクラスタキューに対するMQOPEN,MQPUT,およびMQPUT1命令がエラーとなる場合があります。リフレッシュ処理完了後,再度MQOPEN,MQPUT,およびMQPUT1命令を発行してください。
  6. SYSTEM.CLUSTER.TRANSMIT.QUEUEにメッセージが滞留している状態で-mオプションを指定しmqrrefreshコマンドを実行した場合,メッセージがあて先キューに送信されないで,クラスタ転送キューに滞留した状態となります。必ずメッセージが滞留していないことを確認してください。

出力メッセージ

出力メッセージID内容出力先
KFCA04208-EMQAサーバのV/Rが誤っています。標準エラー出力
KFCA04209-Eメモリ不足で処理を続行できません。標準エラー出力
KFCA04300-Eコマンドで指定した引数の数が正しくありません。標準エラー出力
KFCA04301-E定義解析中にエラーが発生しました。標準エラー出力
KFCA04302-EMQAサービスが終了処理中です。標準エラー出力
KFCA04303-ERPCでネットワーク障害が発生しました。標準エラー出力
KFCA04304-EMQAサービスが起動されていません。標準エラー出力
KFCA04307-E指定したオプションの数が誤っています。標準エラー出力
KFCA26184-Eプロセス固有領域のメモリ不足で処理を続行できません。標準エラー出力
KFCA31030-Eコマンド実行中に異常を検知しました。標準エラー出力
KFCA31115-Eコマンドに対して処理結果を送信できません。メッセージログファイル
KFCA31120-ERPCインタフェースで異常を検知しました。標準エラー出力
KFCA31124-Eリポジトリ管理サーバが起動されていません。標準エラー出力
KFCA31173-EOpenTP1がオンライン状態ではないため,コマンドを実行できません。標準エラー出力
KFCA31502-EMQIでエラーが発生しましたメッセージログファイル
KFCA31526-Iリポジトリ管理サーバに処理を依頼しました。メッセージログファイル
KFCA31528-Iヘルプメッセージ標準出力
KFCA31530-Eリポジトリ管理サーバは指定したクラスタに参加していません。標準エラー出力
KFCA31531-Eクラスタは再作成処理中です。標準エラー出力
KFCA31536-Eリポジトリ管理サーバへの処理依頼に失敗しました。メッセージログファイル
KFCA31538-E指定したクラスタ名が誤っています。標準エラー出力