Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 システム定義


ステータスサービス定義

〈このページの構成〉

形式

set形式

  set sts_file_name_1="論理ファイル名","A系ステータスファイル名"
                     ,"B系ステータスファイル名"
〔set sts_file_name_2="論理ファイル名","A系ステータスファイル名"
                     ,"B系ステータスファイル名"〕
〔set sts_file_name_3="論理ファイル名","A系ステータスファイル名"
                     ,"B系ステータスファイル名"〕
〔set sts_file_name_4="論理ファイル名","A系ステータスファイル名"
                     ,"B系ステータスファイル名"〕
〔set sts_file_name_5="論理ファイル名","A系ステータスファイル名"
                     ,"B系ステータスファイル名"〕
〔set sts_file_name_6="論理ファイル名","A系ステータスファイル名"
                     ,"B系ステータスファイル名"〕
〔set sts_file_name_7="論理ファイル名","A系ステータスファイル名"
                     ,"B系ステータスファイル名"〕
〔set sts_initial_error_switch=stop|continue|excontinue〕
〔set sts_single_operation_switch=stop|continue〕
〔set sts_last_active_file="論理ファイル名"〕
〔set sts_last_active_side=A|B〕
〔set watch_time=最大応答待ち時間〕

コマンド形式

なし。

機能

OpenTP1システム環境下で動作する各システムサービスの状態管理をするための実行環境を定義します。一つのノードに一つのステータスサービスがあります。

ステータスサービス定義ではステータスファイルの名称を最大7個指定できます。

OpenTP1システムの正常開始時に,ステータスサービス定義で最初に指定したステータスファイルが現用になります。残りのステータスファイルは予備になります。

再開始時には,前回の現用ファイルを引き継ぎます。

ステータスファイルは,信頼性を高めるためにA系とB系の二重で管理します。

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

このため,ステータスファイルの実体は,すべて同じレコード長のファイルを指定します。また,一つの論理ファイルごとに同じ容量のファイルを指定します。

A系またはB系の物理ファイルは,複数のディスクに分散させて作成してください。一つのディスク上に同じ系のすべての物理ファイルを作成すると,ディスクの全面障害が発生した場合,その系は使用できません。例えば,一つのディスク上に同じ系の物理ファイルを作成した場合,ディスク障害発生時にA系,B系の二重書きできる世代がなくなるため,OpenTP1を緊急停止させるか,または片系運転状態となり危険です。

OpenTP1システムの正常開始時,再開始時またはオンライン中にステータスファイル障害が発生した場合,OpenTP1システムを停止させないために,ステータスサービスがステータスファイルをスワップします。

ステータスファイルをスワップするには,現用ファイルのほかに,予備用のステータス論理ファイルを定義する必要があります。

説明

set形式のオペランド

sts_file_name_1〜sts_file_name_7="論理ファイル名","A系ステータスファイル名","B系ステータスファイル名"

最大7個のステータスファイルを指定できます。

1個を現用ファイルとして,残り6個を予備ファイルとして作成します。

それぞれのステータスファイルでは,信頼性を高めるために,A系ステータスファイルとB系ステータスファイルの二つの同一ファイルを作成します。

なお,sts_file_name_1からsts_file_name_7に指定する論理ファイル名,A系ステータスファイル名,およびB系ステータスファイル名は重複して指定できません。

"論理ファイル名" 〜〈1〜8文字の識別子〉

ステータスファイルの論理ファイル名を指定します。

"A系ステータスファイル名" 〜〈パス名〉

論理ファイルを構成するA系のステータスファイル名を絶対パス名で指定します。

"B系ステータスファイル名" 〜〈パス名〉

論理ファイルを構成するB系のステータスファイル名を絶対パス名で指定します。

なお,このB系ステータスファイルには,A系ステータスファイルと同じレコード長,およびレコード数のファイルを指定します。

A系ステータスファイル名,およびB系ステータスファイル名の絶対パス名には,環境変数は使用できません。

また,ステータスファイルには,絶対パス名が異なっていても,同じファイル名を指定できません。

sts_initial_error_switch=stop|continue|excontinue

 〜《stop》

ステータスサービス開始時に,定義で指定したステータスファイルに次に示す異常を検知した場合の,ステータスサービスの処置を指定します。

  • ステータスファイルの実体がありません。

  • ステータスファイル障害を検知しました。

stop

OpenTP1システムの再開始を保証するため,ステータスサービスを開始しないでOpenTP1システムを停止させる場合に指定します。

stopを指定した場合,次の処理をします。

  • 定義に指定したステータスファイルのうち,一つでも異常を検知すると,OpenTP1システムは停止します。異常が発生したステータスファイルの対策を実施したあと,OpenTP1システムを再起動してください。

  • 前回のオンラインで現用だったステータス論理ファイルの両系に異常が発生した場合は,OpenTP1システムの再開始はできません。

continue

定義に指定したステータス論理ファイルに異常が発生しても,ステータスサービスを開始させる場合に指定します。

continueを指定した場合,次の処理をします。

  1. 前回のオンラインで現用だったステータス論理ファイルの片系に異常が発生すると,正常な系のファイルの内容を予備のA系,B系ファイルに複写します。その後,予備ファイルを現用に切り替えて,ステータスサービスを開始します。複写できる予備ファイルがない場合,sts_single_operation_switchオペランドの指定に従い,ステータスサービスを停止するか,継続するかを決定します。

  2. ステータスサービスの開始時,OpenTP1システムが現用に選択したステータスファイルが,前回のオンラインの最新現用ファイルかどうか確定できない場合,sts_last_active_fileオペランドに指定された論理ファイル名と比較します。

    ファイル名が一致した場合:ステータスサービスを開始します。

    ファイル名が一致しない場合:ステータスサービスを停止します。

    なお,sts_last_active_fileオペランドの指定がなく,最新の現用ファイルが確定できない場合は,ステータスサービスを開始しません。

    最新の現用ファイルかどうか確定できない場合とは,定義した論理ファイルが,ステータスサービスの開始時に,一つでも次の表に示す状態になった場合のことです。

    表3‒6 現用ファイルが確定できないときの論理ファイルの状態(continueの場合)

    項番

    A系の状態

    B系の状態

    1

    BLOCKADE

    BLOCKADE

    2

    BLOCKADE

    OPEN(INIT)

    3

    BLOCKADE

    NONE

    4

    OPEN(INIT)

    BLOCKADE

    5

    OPEN(INIT)

    NONE

    6

    NONE

    OPEN(INIT)

    7

    NONE

    BLOCKADE

    8

    NONE

    NONE

  3. A系,B系ともに正常なステータス論理ファイルが一つもない場合,ステータスサービスは開始しないで,OpenTP1システムは停止します。

excontinue

このオペランドでcontinueを指定した場合と同じ処理をします。ただし,sts_single_operation_switchオペランドでstopを指定,または省略した場合,片方の系が異常で,他方の系が初期化状態である論理ファイルについては現用決定対象ファイルから除き,現用ファイル決定処理をします。

最新の現用ファイルかどうか確定できない場合とは,定義した論理ファイルが,ステータスサービスの開始時に,一つでも次の表に示す状態になった場合のことです。

表3‒7 現用ファイルが確定できないときの論理ファイルの状態(excontinueの場合)

項番

A系の状態

B系の状態

1

BLOCKADE

BLOCKADE

2

BLOCKADE

NONE

3

NONE

BLOCKADE

4

NONE

NONE

OpenTP1開始前に前回のオンライン時に現用だった論理ファイルの片系をstsinitコマンドで初期化した場合,現用ファイルの決定が正しくできなくなるので,注意してください。

なお,異常の発生したステータスファイルの対策については,マニュアル「OpenTP1 運用と操作」を参照してください。

sts_single_operation_switch=stop|continue

 〜《stop》

ステータスサービス開始中または開始後に,現用ステータスファイルの片系に入出力障害が発生し,かつスワップできる両系そろった論理ファイルが存在しない場合のステータスサービスの処置を指定します。

stop

ステータスサービスを停止する場合に指定します。

continue

現用ステータスファイルの正常な系だけで,ステータスサービスを継続する場合に指定します。

片系運転状態になると,KFCA01044-Iが出力されます。片系運転中に次のような障害が発生すると,OpenTP1を再開始できなくなります。そのため,片系運転状態になった場合は,すぐに障害について対策してください。

  • 片系運転中に,正常な系に障害が発生した場合

  • 片系運転中で,ファイルを更新するときに,システムダウンが発生した場合

sts_last_active_file="論理ファイル名"

 〜〈1〜8文字の識別子〉

前回までのオンラインで最新の現用ファイルだったものを論理ファイル名で指定します。このオペランドは,sts_initial_error_switchオペランドにcontinueまたはexcontinueを指定したときだけ指定できます。また,OpenTP1システムが選択した現用ファイルが前回までのオンラインで最新の現用ファイルかどうか確定できない場合に有効となります。

このオペランドは,次のように指定してください。

  • 現用ファイルが変更されるたびにオペランドを修正できる場合

    全ステータスファイルの初期化直後にOpenTP1システムを開始したときは,最も小さい番号のsts_file_nameオペランドに指定した論理ファイル名を指定してください。

    そのあと,現用ファイルがスワップによって変更された場合は,この定義を新しい現用ファイル名に変更してください。

  • 現用ファイルが変更されてもオペランドを修正できない場合

    システムを開始したときに,KFCA01011-IおよびKFCA01005-E(理由コード=0000000015または0000000016)が出力され,システム起動エラーとなったときは,前回のオンラインの最新現用ファイルをログファイルで調査します。

    KFCA01011-Iで出力された論理ファイル名と一致するときは,その論理ファイル名をこのオペランドに指定し,OpenTP1を再開始してください。

sts_last_active_side=A|B

前回のオンライン時,現用ステータスファイルの片系に障害が発生して閉塞状態になった場合,正常だった系を指定します。

この指定は,OpenTP1再開始時に,前回のオンライン中に障害が発生した系を現用に選択して誤動作するのを防ぐために使用します。

片系に障害が発生して閉塞状態になった場合は,必ず指定してください。

この指定は,sts_single_operation_switchオペランドにcontinueを指定したときだけ有効です。

watch_time=最大応答待ち時間

 〜〈符号なし整数〉((0〜65535))(単位:秒)

RPCによってプロセス間で通信する場合,サービス要求を送信してからサービスの応答が返るまでの待ち時間の最大値を指定します。

OpenTP1の終了処理で,このオペランドで指定した時間だけ終了処理を待ち合わせる場合があります。したがって,大きな値を指定した場合,OpenTP1の終了処理に時間が掛かる場合があります。

指定時間を過ぎても応答がない場合は,RPCは送受信タイムアウトとしてエラーリターンします。

0を指定した場合は,応答を受信するまで待ち続けます。0を指定した場合,OpenTP1が終了しない場合があります。

省略した場合は,システム共通定義のwatch_timeオペランドの値を仮定します。

このオペランドは,システム共通定義のwatch_timeオペランドのデフォルト値で使用してください。

特別なチューニングを必要とする場合以外は,このオペランドの内容を変更しないことをお勧めします。

システム共通定義のwatch_timeオペランドのデフォルト値よりも,極端に小さな値または大きな値を指定すると,OpenTP1ダウンに至る障害が発生する場合がありますので,ご注意ください。

コマンド形式

なし。