4.2.2 ステータスファイルの使い方
ステータスファイルは,OpenTP1を構成する各システムサービスの稼働状態,ファイルの状態,各種装置のシステム制御情報などを記録するために使用します。
OpenTP1は,ステータスファイルをA系とB系の二重で管理し,さらに次に示す状態で管理します。
-
現時点でシステム制御情報の出力対象になっているオープン中の状態です。ファイルの実体が必要です。
-
現時点でシステム制御情報の出力対象にはなっていないが,現用のステータスファイルが入出力障害などで使用できなくなったときに,現用のステータスファイルと切り替えるためにオープン中の状態です。ファイルの実体が必要です。
-
ステータスサービス定義に指定されているが,オープンしないとオンラインでは使用できないクローズ中の状態です。また,削除されて実体のない状態を,実体なしの無効ファイルといいます。OpenTP1の開始時に実体がない無効ファイルがあると,OpenTP1の開始はできません。
-
オンライン中にステータスファイルに障害が発生し,閉塞している状態です。
閉塞状態になったステータスファイルは,stsrmコマンドでファイルの実体を削除し,stsinitコマンドで初期設定したあと,stsopenコマンドでオープンすると,予備の状態になります。
オンライン中のステータスファイルの状態遷移を次の図に示します。
ステータスファイルは,ステータスサービス定義でA系,B系それぞれ7組まで指定できます。OpenTP1を正常開始すると,ステータスサービス定義で最初に指定したステータスファイルが現用となり,残りのステータスファイルのうち,オープンできたものは予備となります。ただし,障害が発生してオープンできなかったものは閉塞となります。再開始すると,前回の現用ファイルが引き継がれます。
現用のステータスファイルには,A系とB系で同じ内容が書き込まれます。
OpenTP1は,A系,B系のどちらかの現用のステータスファイルに入出力障害が発生すると,もう一方の系の現用のファイルの内容をA系,B系の予備のファイルに複写し,その後,予備のファイルを現用に切り替えます。このような,現用のファイルの切り替えをスワップといいます。ユーザがstsswapコマンドでスワップすることもできます。
障害が発生してスワップしたステータスファイルは,stsrmコマンドで削除し,stsinitコマンドで初期設定したあと,stsopenコマンドでオープンすると,予備のファイルとなります。
無効のファイルがない場合,ステータスサービス定義に片系運転する(sts_single_operation_switch=continue)と指定していると,正常な系だけで処理を続行します。片系運転しない(sts_single_operation_switch=stop)と指定していると,OpenTP1は異常終了します。
なお,片系運転で処理を続行しているときに,正常な系に障害が発生したり,ステータスファイルを更新中にOpenTP1が異常終了したりすると,OpenTP1を再開始できなくなります。そのため,できるだけ早く両系運転の状態(A系,B系とも運転している状態)にしてください。両系運転の状態にするには,次の二つの方法があります。
-
予約ファイルをstsopenコマンドでオープンし,予備ファイルを用意します。stsswapコマンドを実行して現用ファイルをスワップします。
-
障害が発生して閉塞したファイルをstsrmコマンドで削除し,stsinitコマンドで初期設定したあと,stsopenコマンドでオープンします。片系運転の場合,stsopenコマンドを実行すると,障害が発生した系のファイルに正常な系のファイルの内容が複写され,現用ファイルとして回復できます。