5.5 サービスグループに関する運用

ここでは,サービスグループに関する運用について説明します。

<この節の構成>
(1) サービスグループの状態表示
(2) サービスグループの閉塞と閉塞解除
(3) サービスグループの入力キューの内容複写
(4) サービスグループの入力キュー処理の保留と保留解除
(5) サービスグループの入力キュー削除
(6) サービスグループの入力キューの内容出力

(1) サービスグループの状態表示

サービスグループの状態は,mcftlssgコマンドで表示できます。

表示内容はサービスグループ名,サービスグループの状態,受信メッセージ数などです。

(2) サービスグループの閉塞と閉塞解除

サービスグループは,mcftdctsgコマンドで閉塞できます。mcftdctsgコマンドを実行すると,オプションの指定によって入力キューの入力,入力キューのスケジュールを閉塞します。また,アプリケーション属性定義で,アプリケーションが異常終了した場合のサービスグループのスケジュール閉塞(srvghold=s)を指定すると,アプリケーションが異常終了し,アプリケーション異常終了限界回数になった場合にサービスグループは閉塞されます。

入力キューの入力を閉塞した場合,入力キューにすでにあるメッセージは正常に処理されます。閉塞中にメッセージを受信すると,メッセージ廃棄通知イベント(ERREVT2)が通知されます。

入力キューのスケジュールを閉塞中にメッセージを受信したとき,メモリキューの場合はメッセージ廃棄通知イベント(ERREVT2)が通知されます。ディスクキューの場合は,サービスグループの閉塞解除後にメッセージを再スケジュールします。

再開始時に,前回のオンラインで仕掛り中だった入力メッセージの再スケジュールに失敗すると,該当するサービスグループの入力キューのスケジュールは閉塞されます。

また,次に示すオペランドの指定値を超えたためにUAPがタイムアウトで異常終了した場合も,サービスおよびサービスグループが閉塞対象となります。

再スケジュール失敗の原因を取り除いたあと,mcftactsgコマンドを入力すると,サービスグループの閉塞を解除し,前回のオンラインで仕掛り中だった入力メッセージを再スケジュールできます。

mcftdctsgコマンド,またはmcftactsgコマンドで変更した状態(入力キューの入力,および入力キューのスケジュール状態)を,全面回復時に引き継ぐことができます。MCFマネジャ定義の状態引き継ぎ定義で,サービスグループ数上限値を指定しておくと,指定した値までの資源の状態を引き継ぎます。また,全面回復時に閉塞状態を引き継がない場合には,mcftdctsgコマンドに-rオプションを指定します。

(3) サービスグループの入力キューの内容複写

サービスグループの入力キューの内容を出力できなくなったときなど,mcftdmpquコマンドで入力キューに滞留しているディスクメッセージの内容を確認できます。mcftdmpquコマンドを実行すると,入力キューの内容がファイルに複写されます。-aオプションを指定すると,以前mcftdmpquコマンドを実行したときの複写先ファイルに,入力キューの内容が再び追加書き込みされます。

mcftdlqsgコマンド(入力キューの削除)と組み合わせてmcftdmpquコマンドを使用する場合は,mcftdmpquコマンドを実行する前にmcfthldiqコマンドで入力キュー処理を保留しておく必要があります。この場合,mcftdlqsgコマンドの-dオプション(削除種別)にはdiskを指定してください。

(4) サービスグループの入力キュー処理の保留と保留解除

サービスグループの入力キューの内容複写(mcftdmpquコマンド)と削除(mcftdlqsgコマンド)を続けて行う場合は,複写するメッセージ件数と削除するメッセージ件数を一致させる必要があります。そのため,この間入力キューへの入力,およびスケジュールを抑止しなければなりません。このように一時的な入力キューへの入力,スケジュールの保留は,mcfthldiqコマンドで行えます。mcfthldiqコマンドを実行すると,オプションの指定によって,入力キューの入力,スケジュール,または入力とスケジュールの両方を保留します。

入力キュー処理の保留は,mcftrlsiqコマンドで解除できます。

mcfthldiqコマンドはOpenTP1システムに次のような影響を与えるので,使用する際にはご注意ください。また,mcfthldiqコマンドを実行後,目的の処理が終了したら,必ずmcftrlsiqコマンドを実行してください。

mcfthldiqコマンド,またはmcftrlsiqコマンドで変更した状態(入力キューの入力,およびスケジュールの保留と保留解除状態)を,全面回復時に引き継ぐことができます。MCFマネジャ定義の状態引き継ぎ定義で,サービスグループ数の上限値を指定しておくと,指定した値までの資源の状態を引き継ぎます。このとき,スケジュールの保留によってITQに滞留していたメッセージは,全面回復後でも保留解除待ち状態で引き継がれます。入力の保留によってITQへの入力を待たされているメッセージは,全面回復時,ITQに入力されます。なお,サービスグループ数の上限値を指定した環境で,保留状態を引き継ぎたくない場合は,mcfthldiqコマンドに-rオプションを指定してください。

(5) サービスグループの入力キュー削除

入力キューに残っているメッセージを削除する場合は,mcftdlqsgコマンドを使用します。

mcftdlqsgコマンドのオプションの指定によって,ディスクキューだけを削除したり,ディスクキューとメモリキューを両方とも削除したりできます。

ただし,mcftdlqsgコマンドを単独で使用する場合は,mcftdlqsgコマンドを実行する前に,mcftdctsgコマンドでサービスグループを閉塞しておく必要があります。

mcftdmpquコマンド(入出力キューの内容複写)と組み合わせてmcftdlqsgコマンドを使用する場合は,mcftdmpquコマンドを実行する前にmcfthldiqコマンドで入力キュー処理を保留しておく必要があります。この場合,mcftdlqsgコマンドの-dオプション(削除種別)にはdiskを指定してください。

(6) サービスグループの入力キューの内容出力

サービスグループの入力キューの内容を出力できなくなったときなど,次の手順でサービスグループの入力キューの内容をファイルに出力できます。

  1. mcfthldiqコマンドを実行して,入力キュー処理を保留します。
  2. mcftdmpquコマンドを実行して,入力キューの内容を指定したファイルに複写します。
  3. mcftdlqsgコマンドを実行して,入力キューを削除します。このとき,-dオプション(削除種別)にはdiskを指定してください。
  4. mcftrlsiqコマンドを実行して,入力キュー処理の保留を解除します。入出力キューのダンプファイルの形式については,「付録A 入出力キューのダンプファイルの形式」を参照してください。