Hitachi

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


ステータスファイル関連定義

〈このページの構成〉

形式

set形式

〔set sts_initial_error_switch=stop|continue|force〕
〔set sts_single_operation_switch=stop|continue〕
  set sts_buffer_count=ステータスファイルをスタックするバッファ数
〔set sts_control_buffer_length=制御用ステータスファイルをスタックするバッファ長〕
〔set sts_signal_buffer_length=シグナル用ステータスファイルをスタックするバッファ長〕

コマンド形式

{{stsflgrp  -g  ファイルグループ番号
            〔-l  前回オンラインの現用ファイル名〕
            〔-k  A|B〕}}
{{stsflnam  -g  ファイルグループ番号
              -l  論理ファイル名
              -a  A系ステータスファイル名
              -b  B系ステータスファイル名}}

機能

TP1/EEで使用するステータスファイル関連情報を定義します。

説明

各オペランドについて説明します。

set形式のオペランド

sts_initial_error_switch=stop|continue|force  〜《stop》

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

  • ステータスファイルの実体がない。

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

stop

TP1/EEを停止します。stopを指定した場合,次の処理をします。

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

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

continue

TP1/EEの処理を続行します。continueを指定した場合,次の処理をします。

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

  • TP1/EEの開始時,TP1/EEが現用に選択したステータスファイルが,前回のオンラインの最新現用ファイルかどうかを判断できない場合,stsflgrp定義コマンドの-lオプションで指定された前回の現用ファイル名とファイル名が一致すれば,TP1/EEを開始します。stsflgrp定義コマンドに-lオプションが指定されていない場合,または指定されたファイル名が不一致だった場合は,TP1/EEを停止します。

    最新の現用ファイルかどうかを判断できない場合とは,TP1/EEの開始時に定義した論理ファイルが,一つでも次に示す状態になった場合のことです。

    表8‒7 最新の現用ファイルかどうかを判断できない論理ファイルの状態

    A系の状態

    B系の状態

    BLOCKADE

    BLOCKADE

    BLOCKADE

    NONE

    NONE

    BLOCKADE

    NONE

    NONE

    なお,sts_single_operation_switchオペランドにcontinueを指定した場合は,TP1/EEの開始時に定義した論理ファイルが,一つでも次に示す状態になった場合にも,最新の現用ファイルかどうかを判断できません。

    表8‒8 最新の現用ファイルかどうかを判断できない論理ファイルの状態(sts_single_operation_switchオペランドのcontinue指定時)

    A系の状態

    B系の状態

    OPEN

    OPEN以外

    OPEN以外

    OPEN

  • sts_single_operation_switchオペランドでstopを指定,または指定を省略した場合,一方の系が異常でもう一方の系が初期化状態の論理ファイルは,現用決定対象ファイルから除き,現用ファイル決定処理をします。

  • A系にもB系にも正常なステータス論理ファイルが一つもない場合,TP1/EEは停止します。

force

片系障害時,TP1/EEの処理を強制的に続行します。forceを指定した場合,次の処理をします。

  • 前回のオンラインで現用だったステータス論理ファイルの片系に異常が発生すると,正常な系のファイルの内容を予備のA系,B系ファイルに複写します。その後,予備ファイルを現用に切り替えて,TP1/EEを開始します。複写できる予備ファイルがない場合,正常な系だけでTP1/EEの処理を続行します。

  • TP1/EEの開始時に定義した論理ファイルにオープンできなかったファイルがある場合,オープンできたファイルの中から最新の現用ファイルを決定します。

  • A系,B系の片方または両方が正常なステータス論理ファイルが一つもない場合,TP1/EEは停止します。

sts_single_operation_switchオペランドでcontinueを指定した場合だけ,forceを指定できます。forceを指定した場合,stsflgrp定義コマンドの-lオプションおよび-kオプションは無効になります。

forceと指定すると,片系運転中にTP1/EEが異常終了した場合に定義を変更することなく再開始できます。しかし,再開始時に前回の現用ファイルがオープンできなかった場合,現用ファイルを正しく決定できません。A系,B系が同じディスクにある構成の場合,ディスクに障害が発生すると,A系,B系の両方がオープンできなくなり,正常に再開始できません。forceを指定する場合は,再開始時の現用ファイルの決定が不正になるのを防ぐため,A系,B系が別のディスクになる構成にしてください。

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

sts_initial_error_switchオペランドは,シグナル用ステータスファイルには無効です。シグナル用ステータスファイルは,片方の系で異常を検知しても,正常な系だけで処理を続行します。両方の系で異常を検知した場合,TP1/EEは停止します。

sts_initial_error_switchオペランドは,TP1/EEを強制正常開始(eesvstartコマンドの-aオプションにNを指定して実行)する場合は無効です。強制正常開始時は,A系,B系の両方ともオープンできたファイルが一つでもあれば,それを現用として処理を開始します。A系,B系ともオープンできたファイルが一つもない場合は,TP1/EEは停止します。

sts_single_operation_switch=stop|continue  〜《stop》

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

stop

TP1/EEを停止します。

continue

現用ステータスファイルの正常な系だけでTP1/EEの処理を続行します。

片系運転状態になると,エラーメッセージが出力されます。片系運転中に次のような障害が発生すると,TP1/EEを再開始できなくなります。そのため,片系運転状態になった場合は,すぐに障害対策してください。

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

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

このオペランドは,シグナル用ステータスファイルには無効です。

sts_buffer_count=ステータスファイルをスタックするバッファ数  〜〈符号なし整数〉((32〜4194304))

一つのステータスファイルグループで使用する,ステータスファイルをスタックするバッファ数を指定します。

このオペランドは,シグナル用ステータスファイルには無効です。

このオペランドは省略できません。必ず指定してください。

sts_control_buffer_length=制御用ステータスファイルをスタックするバッファ長  〜〈符号なし整数〉((512〜32768))《4608》(単位:バイト)

制御用ステータスファイルをスタックするバッファ長を指定します。

sts_control_buffer_lengthオペランドの指定値は,eestsinitコマンドの-sオプションの指定値と同じ値を指定してください。

sts_signal_buffer_length=シグナル用ステータスファイルをスタックするバッファ長  〜〈符号なし整数〉((512〜32768))《4608》(単位:バイト)

シグナル用ステータスファイルをスタックするバッファ長を指定します。

sts_signal_buffer_lengthオペランドの指定値は,eestsinitコマンドの-sオプションの指定値と同じ値を指定してください。

コマンド形式

次ページ以降に記述しています。