Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option 使用の手引


6.2.2 ステータスファイルの運用

ステータスファイルの運用方法について説明します。

〈この項の構成〉

(1) ステータスファイルの作成と定義

(2) 制御用ステータスファイルのスワップ

制御用ステータスファイルで,論理ファイル単位に現用ファイルを切り替えることをスワップと言います。シグナル用ステータスファイルには予備ファイルがないため,スワップしません。A系またはB系のシグナル用ステータスファイルに入出力障害が発生すると,障害ファイルを閉塞し,正常なファイルだけで片系運転をします。

制御用ステータスファイルでスワップが発生するのは次の場合です。

スワップが発生すると,スワップ開始の旨のメッセージを出力し,正常な系の制御用ステータスファイルからシステム制御情報を予備の論理ファイルに複写します。複写が終わると,現用と予備を切り替えます。スワップ処理完了時,現用ファイルとなった制御用ステータスファイル名をメッセージに出力します。

スワップ元およびスワップ先のファイルは,同一グループ内のファイルです。複数のグループにわたってスワップすることはできません。

スワップの要因が,eestsswapコマンドの実行以外の場合,スワップ先となる予備の論理ファイルがないときは,TP1/EEはプロセスダウンします。ただし,ステータスファイル関連定義のsts_single_operation_switchオペランドにcontinueを指定した場合は,片系が正常であれば片系運転となります。

制御用ステータスファイル内のシステム制御情報は,スワップすることで制御用ステータスファイルの先頭から再編成されます。TP1/EEの再開始を繰り返すと制御用ステータスファイルにフラグメンテーションが発生することがあります。このため,TP1/EEはフラグメンテーションによる連続空きレコードのサイズ不足を検知した時に,制御用ステータスファイルをスワップしてフラグメンテーションを解消します。

制御用ステータスファイルのスワップを次の図に示します。ステータスファイルに障害が発生した場合の処理については,「11.5.1 ステータスファイルの障害」を参照してください。

図6‒3 制御用ステータスファイルのスワップ

[図データ]

(3) ステータスファイルの使い方

ステータスファイルは,TP1/EEを構成する各システムサービスの稼働状態,ファイルの状態,各種装置のシステム制御情報などを記録するために使用します。

制御用ステータスファイル,シグナル用ステータスファイルそれぞれのファイルの使い方を次に示します。

(a) 制御用ステータスファイル

TP1/EEは,制御用ステータスファイルをA系とB系の二重で管理し,さらに次に示す状態で管理します。

  • 現用

    現時点でシステム制御情報の出力対象になっているオープン中の状態です。ファイルの実体が必要です。

  • 予備

    現時点でシステム制御情報の出力対象にはなっていないが,現用のステータスファイルが入出力障害などで使用できなくなったときに,現用のステータスファイルと切り替えるためにオープン中の状態です。ファイルの実体が必要です。

    シグナル用ステータスファイルの場合,この状態は存在しません。

  • 無効

    ステータスファイル関連定義に指定されているが,オープンしないとオンラインでは使用できないクローズ中の状態です。また,削除されて実体のない状態を,実体なしの無効ファイルといいます。

  • 閉塞

    オンライン中に障害が発生し,閉塞しているクローズ中の状態です。

    閉塞状態になったステータスファイルは,eestsrmコマンドでファイルの実体を削除し,eestsinitコマンドで初期設定したあと,eestsopenコマンドでオープンすると,予備の状態になります。

オンライン中の制御用ステータスファイルの状態遷移を次の図に示します。

図6‒4 オンライン中の制御用ステータスファイルの状態遷移

[図データ]

ステータスファイルは,ステータスファイル関連定義でA系,B系それぞれ7組まで指定できます。TP1/EEを正常開始すると,ステータスファイル関連定義で最初に指定したステータスファイルが現用となり,残りのステータスファイルのうち,オープンできたものは予備となります。ただし,前回オンラインで使用したステータスファイル(現用ファイル)がある場合は,ステータスファイル関連定義で指定した順番に関係なく前回使用したファイルを現用ファイルとします。障害が発生してオープンできなかったものは閉塞となります。TP1/EEを再開始すると,前回の現用ファイルが引き継がれます。

現用のステータスファイルには,A系とB系で同じ内容が書き込まれます。

TP1/EEは,A系,B系のどちらかの現用のステータスファイルに入出力障害が発生すると,もう一方の系の現用のファイルの内容をA系,B系の予備のファイルに複写し,その後,予備のファイルを現用に切り替えます(スワップ)。ユーザがeestsswapコマンドでスワップすることもできます。

障害が発生してスワップしたステータスファイルは,eestsrmコマンドで削除し,eestsinitコマンドで再作成したあと,eestsopenコマンドでオープンすると,予備のファイルとなります。

eestsrmコマンドで削除できるのは,閉塞・無効状態のファイルです。現用・予備ファイルは削除できません。予備ファイルは,eestscloseコマンドで無効ファイルにしてから削除できます。

eestsinitコマンドで再作成したファイルは,eestsopenコマンドで予備ファイルに登録し,次の障害に備えます。そのとき,片系運転をしていて,現用ファイルが予備に登録したファイルと同じ論理ファイルの場合,登録した予備ファイルは現用ファイルになり,両系運転に戻ります。

予備ファイルがない場合,ステータスファイル関連定義のsts_single_operation_switchオペランドに,片系運転する(continue)と指定していると,正常な系だけで処理を続行します。片系運転しない(stop)と指定していると,TP1/EEは異常終了します。

なお,片系運転で処理を続行しているときに,正常な系に障害が発生したり,ステータスファイルを更新中にTP1/EEが異常終了したりすると,TP1/EEを再開始できなくなります。そのため,できるだけ早く両系運転の状態(A系,B系とも運転している状態)にしてください。両系運転の状態にするには,次の二つの方法があります。

  • クローズ中の無効ファイルをeestsopenコマンドでオープンし,予備ファイルを用意します。eestsswapコマンドを実行して現用ファイルをスワップします。

  • 障害が発生して閉塞したファイルをeestsrmコマンドで削除し,eestsinitコマンドで再作成したあと,eestsopenコマンドでオープンします。片系運転の場合,eestsopenコマンドを実行すると,障害が発生した系のファイルに正常な系のファイルの内容が複写され,現用ファイルとして回復できます。

また,制御用ステータスファイルは複数のグループに分けることができます。複数のグループをステータスファイル関連定義で指定している場合,そのうちのどれかのグループで処理を続行できない異常が発生すると,TP1/EEは異常終了します。一部の正常なグループだけで処理を続行することはできません。

(b) シグナル用ステータスファイル

TP1/EEは,シグナル用ステータスファイルをA系とB系の二重で管理し,さらに次に示す状態で管理します。

  • 現用

    現時点でシステム制御情報の出力対象になっているオープン中の状態です。ファイルの実体が必要です。

  • 無効

    ステータスファイル関連定義に指定されているが,オープンしないとオンラインでは使用できないクローズ中の状態です。また,削除されて実体のない状態を,実体なしの無効ファイルといいます。

  • 閉塞

    オンライン中にステータスファイルに障害が発生し,閉塞している状態です。

    閉塞状態になったステータスファイルは,eestsrmコマンドでファイルの実体を削除し,eestsinitコマンドで再作成してクローズ中の無効ファイルにしておいて,次回のオンラインに備えます。

オンライン中のシグナル用ステータスファイルの状態遷移を次の図に示します。

図6‒5 オンライン中のシグナル用ステータスファイルの状態遷移

[図データ]

現用のステータスファイルには,A系とB系で同じ内容が書き込まれます。

TP1/EEは,A系,B系のどちらかのシグナル用ステータスファイルに入出力障害が発生すると,正常な系だけで処理を続行します。

なお,片系運転で処理を続行しているときに,正常な系に障害が発生したり,シグナル用ステータスファイルを更新中にTP1/EEが異常終了したりすると,TP1/EEの再開始でシステム制御情報を引き継げなくなります。

(4) ステータスファイルの状態表示

ステータスファイルの使用状況は,オンライン中の場合,eestslsコマンドで表示できます。表示内容は,論理ファイル状態,物理ファイル状態,レコード長,レコード使用率などです。

(5) ステータスファイルの内容表示

eestsfillsコマンドを実行すると,ステータスファイルの内容をオフラインでも表示できます。表示内容は,物理ファイル名,初期設定時刻,レコード長,レコード使用率などです。

なお,eestsfillsコマンドに-xオプションを指定すると,ステータスファイルを排他的にオープンして,ファイルの内容を表示できます。

(6) ステータスファイルのオープンとクローズ

オープンとは,ファイルの実体が現用,または予備の状態のことをいいます。クローズとは,ファイルの実体が無効,または閉塞の状態のことをいいます。

制御用ステータスファイルの場合,クローズ中の無効のステータスファイルをeestsopenコマンドでオープンすると,予備になります。

ただし,現用のステータスファイルが片系運転の場合は,障害が発生して閉塞した系のファイルをeestsrmコマンドで削除し,eestsinitコマンドで初期設定したあと,eestsopenコマンドでオープンすると,現用となります。

予備のステータスファイルをeestscloseコマンドでクローズすると,無効になります。

シグナル用ステータスファイルは,コマンドでオープンまたはクローズすることはできません。

(7) ステータスファイルの開始/再開始

TP1/EEプロセスの開始/再開始時,ステータスファイル関連定義に指定されたステータスファイルをすべてオープンし,制御用ステータスファイルの各グループで,現用ファイルと予備ファイルを決定し,現用ファイル名をメッセージに出力します。

(8) ステータスファイルの終了

TP1/EEプロセス終了時,ステータスファイル関連定義に指定されたステータスファイルをクローズして終了します。

(9) ステータスファイルの削除

無効,および障害が発生して閉塞状態になったステータスファイルは,eestsrmコマンドで削除できます。現用と予備の状態のステータスファイルは削除できません。

(10) ステータスファイルの容量が不足したとき

システム開始時にステータスファイルの容量不足が発生した場合,TP1/EEはKFSB51012-Eメッセージを出力して停止します。

(11) ステータスファイルの状態遷移

オンライン中の制御用ステータスファイルの状態遷移表を表6-2に,オンライン中のシグナル用ステータスファイルの状態遷移表を表6-3に示します。

表6‒2 オンライン中の制御用ステータスファイルの状態遷移表

状態

現用

予備

無効

閉塞

ACTIVE

STANDBY

CLOSE

NONE

BLOCKADE

オープン/クローズ

オープン

クローズ

状態の番号

1

2

3

4

5

イベント

eestsswap実行

→2

→1

eestsclose実行

→3

eestsopen実行

→2

eestsrm実行

→4

→4

eestsinit実行

→3

入出力障害

A系,B系共に障害

→5

片系障害

予備ファイルあり

→5

→1

予備ファイルなし

片系運転可

両系運転中

片系運転中

→5

片系運転不可

→5

(凡例)

−:起こり得ない,または状態が遷移しないことを示します。

→n:遷移先の状態の番号を示します。

すべてのイベントは正常に処理されるものとします。

次に示すクローズ状態のファイルに対してeestsinit,またはeestsrmコマンドを実行しても,eestslsコマンドで表示されるファイル状態は変わりません。

  • CLOSE

  • NONE

  • BLOCKADE

表6‒3 オンライン中のシグナル用ステータスファイルの状態遷移表

状態

現用

無効

閉塞

ACTIVE

CLOSE

NONE

BLOCKADE

オープン/クローズ

オープン

クローズ

状態の番号

1

2

3

4

eestsrm実行

→3

→3

eestsinit実行

→2

イベント

入出力障害

A系,B系共に障害

→4

片系障害

両系運転中

片系運転中

→4

(凡例)

−:起こり得ない,または状態が遷移しないことを示します。

→n:遷移先の状態の番号を示します。

すべてのイベントは正常に処理されるものとします。

次に示すクローズ状態のファイルに対してeestsinit,またはeestsrmコマンドを実行しても,eestslsコマンドで表示されるファイル状態は変わりません。

  • CLOSE

  • NONE

  • BLOCKADE