Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 運用と操作


4.3.4 システムジャーナルファイルのアンロード

満杯,障害,または運用コマンドによってスワップして待機状態となったファイルグループは,アンロード待ち状態となります。アンロード待ち状態とは,DAMファイルの回復やユーザの運用に備えて,ユーザがジャーナルをアンロードするまでジャーナルを保存している状態です。アンロード待ち状態のファイルグループは,現用にできません。

アンロード待ち状態のファイルグループは,jnlunlfgコマンドを使用するか,または自動アンロード機能を使用するかしてアンロードすると,アンロード済み状態になります。アンロード済み状態とは,アンロード待ち状態のファイルグループからjnlunlfgコマンドまたは自動アンロード機能でジャーナルをコピーした状態,またはjnlchgfgコマンドでジャーナルを破棄した状態です。

jnlunlfgコマンドまたは自動アンロード機能でアンロードして作成したファイルをアンロードジャーナルファイルといいます。

〈この項の構成〉

(1) jnlunlfgコマンドを使用したアンロード

ファイルグループからジャーナルが切り離された旨のメッセージ(KFCA01222-I)が出力されたら,jnlunlfgコマンドを実行してください。

なお,-fオプション指定のjnlunlfgコマンドを実行すると,ファイルグループの状態をチェックしないでアンロードするため,現用ファイルグループ,およびアンロード済みのファイルグループをアンロードできます。ただし,アンロード済みのファイルグループを-fオプション指定のjnlunlfgコマンドでアンロードする場合は,一度jnlclsfgコマンドでクローズしてからアンロードしてください。

-fオプション指定のjnlunlfgコマンドを実行しても,ファイルグループの状態は変更できません。

(2) 自動アンロード機能を使用したアンロード

自動アンロード機能を使用すると,jnlunlfgコマンドを実行しなくても,OpenTP1の稼働中に,自動的にシステムジャーナルファイルをアンロードできます。自動アンロード機能を使用するには,システムジャーナルサービス定義のjnl_unload_checkオペランドおよびjnl_auto_unloadオペランドにYを指定してください。また,アンロードジャーナルファイルを格納するディレクトリは,システムジャーナルサービス定義のjnl_auto_unload_pathオペランドに指定してください。

なお,自動アンロード機能でアンロードできるのは,システムジャーナルファイルだけです。アーカイブジャーナルファイルはアンロードできません。

(a) アンロードの契機

自動アンロード機能でアンロードする契機は,システムジャーナルファイルが現用ファイルを解放してアンロード待ち状態になったときです。アンロード待ち状態になるのは,次の場合です。

  • 満杯,障害,または運用コマンドによってスワップした場合

  • OpenTP1システムが正常終了した場合

(b) アンロードジャーナルファイル格納ディレクトリの運用

自動アンロード機能を使用してアンロードするアンロードジャーナルファイルの格納ディレクトリは,システムジャーナルサービス定義のjnl_auto_unload_pathオペランドに指定します。格納ディレクトリには,複数のディレクトリを指定できます。

一つのディレクトリをアンロードジャーナルファイル格納ディレクトリに指定した場合
  • アンロード中にディスク満杯を検知した場合,作成途中のアンロードジャーナルファイルを削除し,自動アンロード機能を停止します。

  • アンロード中にディスク障害を検知するなど,アンロードジャーナルファイル格納ディレクトリを使用できなくなった場合,自動アンロード機能を停止します。

複数のアンロードジャーナルファイル格納ディレクトリを指定した場合

OpenTP1を起動して最初に使用するアンロードジャーナルファイル格納ディレクトリを,次の表に示します。

表4‒5 最初に使用するアンロードジャーナルファイル格納ディレクトリ

OpenTP1の

開始形態

最初に使用するアンロードジャーナルファイル格納ディレクトリ

正常開始

システムジャーナルサービス定義のjnl_auto_unload_pathオペランドに指定されたディレクトリのうち,過去に自動アンロード機能を使用して作成したアンロードジャーナルファイルが格納されていない最初のディレクトリ

計画停止後の開始

前回のOpenTP1稼働時の最後に使用していたディレクトリ

再開始

  • アンロード中にディスク満杯を検知した場合,作成途中のアンロードジャーナルファイルを削除し,システムジャーナルサービス定義のjnl_auto_unload_pathオペランドに指定されている次のディレクトリにアンロードジャーナルファイルを作成します。システムジャーナルサービス定義のjnl_auto_unload_pathオペランドに指定されたディレクトリに,前回使用時に作成されたアンロードジャーナルファイルがある場合,さらに次のディレクトリを格納先にします。ファイルを作成するディレクトリが決定したら,同一世代のアンロードを開始します。システムジャーナルサービス定義のjnl_auto_unload_pathオペランドに指定されているすべてのディレクトリで,同一世代のアンロードができない場合,自動アンロード機能は停止します。

  • アンロード中にディスク障害を検知するなど,アンロードジャーナルファイル格納ディレクトリを使用できなくなった場合,システムジャーナルサービス定義のjnl_auto_unload_pathオペランドに指定されている次のディレクトリにアンロードします。ディスク障害が発生したディレクトリは,次回以降のファイル格納ディレクトリになります。

  • システムジャーナルサービス定義のjnl_auto_unload_pathオペランドの最終パラメタに指定したディレクトリでディスク満杯を検知すると,システムジャーナルサービス定義のjnl_auto_unload_pathオペランドの最初のパラメタに指定したディレクトリにアンロードします。格納ディレクトリには,複数のディレクトリを指定できます。

8個の格納ディレクトリを指定した場合の運用方法を次の図に示します。

図4‒5 アンロードジャーナルファイル格納ディレクトリの運用

[図データ]

自動アンロード機能を使用したアンロード中に,すべてのジャーナルファイルが満杯になり,アンロードできない場合はKFCA01220-Eメッセージを出力し,システムを停止します。自動アンロード機能を使用したアンロード中に,ジャーナルファイルをクローズした場合は,自動アンロード機能は続行されます。

アンロードジャーナルファイル格納ディレクトリに,次の名称のファイルを格納した場合,そのファイルをOpenTP1が削除することがあるので注意してください。

(システムジャーナルサービス定義ファイル名)_bbbbbbbbbbbb_cc....cc

bbbbbbbbbbbb:12文字の任意の文字列

cc....cc:1〜8文字の任意の文字列

アンロードジャーナルファイル格納ディレクトリに,システムジャーナルサービス定義の定義ファイル名と同じ名称で始まるファイルやディレクトリを作成しないでください。それらのファイルやディレクトリが存在すると,OpenTP1開始時にKFCA01179-Wメッセージ(理由コード:1620)が出力されます。

(c) アンロードジャーナルファイル

自動アンロード機能で生成されるアンロードジャーナルファイルは,次の名称規則でファイル名の重複を防止します。

(システムジャーナルサービス定義のファイル名)_(ジャーナルサービスのランID)(ジャーナルファイル世代番号)_(ジャーナルファイルグループ名)

ファイル名は最大28文字です。ファイル名を構成するそれぞれの値を次に示します。

システムジャーナルサービス定義のファイル名:最大8文字の文字列

ジャーナルサービスのランID:8けたの16進数

ジャーナルファイル世代番号:4けたの16進数

ジャーナルファイル世代番号が4けた未満の場合,左側に0を挿入して4けたにします。5けた以上の場合,下4けたが付与されます。

ジャーナルファイルグループ名:最大8文字の文字列

システムジャーナルサービス定義のファイル名:sysjnl

ジャーナルサービスのランID:40e8ca39

ジャーナルファイル世代番号:3

ジャーナルファイルグループ名:jnlfg02

アンロードジャーナルファイル名:sysjnl_40e8ca390003_jnlfg02

自動アンロード機能を実行中に,アンロードジャーナルファイル格納先として現在使用しているディレクトリ下に格納されているファイルは,操作しないでください。操作した場合,ファイルの整合性は保証できません。アンロードジャーナルファイル格納先として使用しているディレクトリは,jnlatunl -j sys -iを実行すると確認できます。

自動アンロード機能の停止中は,アンロードジャーナルファイルを移動およびコピーできます。また,自動アンロード機能を使用中でもアンロードジャーナルファイル格納先として使用されていないディレクトリ下に格納されているアンロードジャーナルファイルは,移動およびコピーできます。また,ファイル回復用ジャーナルに使用しない場合は,削除することもできます。ただし,ファイルの操作中に,該当ディレクトリがアンロードジャーナルファイル格納先になった場合,OpenTP1が生成するアンロードジャーナルファイルを操作しないように注意してください。

(d) 自動アンロード機能の再開始

OpenTP1稼働中に,自動アンロード機能が停止した場合,次の手順で再開始します。

  1. システムジャーナルサービス定義のjnl_auto_unload_pathオペランドに指定したすべてのディレクトリから,アンロードジャーナルファイルを退避するか,または不要なアンロードジャーナルファイルを削除して,ディスクに空き領域を作成します。

  2. jnlatunl -j sys -bを実行します。

    自動アンロード機能が再開始します。

  3. jnlatunl -j sys -iを実行します。

    自動アンロード機能が動作中であることを確認します。

(e) 自動アンロード機能の継続

OpenTP1稼働中に,自動アンロード機能が停止した場合に,自動アンロード継続機能を使用して自動アンロード機能を継続できます。自動アンロード継続機能を使用した場合,アンロード処理に失敗した際に出力されるメッセージ(KFCA01177-E,KFCA01178-E,またはKFCA01179-W)を基に障害の要因を取り除くと,jnlatunlコマンドを使用して再開始することなく,自動的に自動アンロード機能が継続されます。なお,自動アンロード機能の障害発生時に,自動アンロード機能を継続する場合は,自動アンロード機能が停止した旨のKFCA01173-Wメッセージは出力されません。

ただし,自動アンロード継続機能を使用した場合,アンロード先がなくてもアンロード処理が継続され,障害メッセージが出力され続けるため,運用を変更する必要があります。

また,障害のケースによっては,自動アンロード機能が継続されないで停止することがあるため,その場合は「(d) 自動アンロード機能の再開始」に従ってjnlatunlコマンドで再開始します。

自動アンロード継続機能の運用例を次に示します。

  • アンロードジャーナルファイル格納ディレクトリがディスク満杯の場合

    自動アンロードでファイルに障害が発生した旨のKFCA01177-Eメッセージ(理由コード305)が出力されますが,自動アンロード機能は停止しません。そのため,jnlatunlコマンドでの再開始はしません。

    アンロードジャーナルファイルを退避するか,または不要なアンロードジャーナルファイルを削除して,ディスクに空き領域を作成してください。

  • システムジャーナルファイルに障害が発生した場合

    自動アンロードで障害が発生した旨のKFCA01178-Eメッセージ(理由コード209,1602または1607)が出力され,自動アンロード機能は停止します。OpenTP1を停止し,システムジャーナルファイルを再作成し,OpenTP1を再開始してください。システムジャーナルファイルに障害が発生した場合の対処については,「10.2.2 システムジャーナルファイル」を参照してください。

  • ステータスファイルに障害が発生した場合

    OpneTP1はシステムダウンします。ステータスファイルを再作成し,OpenTP1を再開始してください。OpenTP1起動後に,自動アンロードを実行します。

注意事項
  • 自動アンロード機能の障害発生時に,自動アンロード機能を継続する場合は自動アンロード機能が停止した旨のKFCA01173-Wメッセージが出力されません。自動アンロード機能の障害発生時は,KFCA01173-Wメッセージだけでなく次のメッセージも監視して,各メッセージに応じて障害を取り除いてください。

    メッセージID

    理由コード

    ほかのメッセージとの組み合わせ

    KFCA01177-E

    KFCA01178-E

    101

    KFCA01178-E

    209

    KFCA01203-E

    KFCA01179-W

  • すべてのシステムジャーナルファイルがアンロード待ち状態になる前に障害を取り除いていない場合,KFCA01220-Eメッセージが出力され,OpenTP1がシステムダウンします。

  • 自動アンロード機能の障害発生時のメッセージは,障害発生要因を取り除くまでの間,システムジャーナルファイルのスワップ契機,および180秒間隔で繰り返し出力されます。

(3) アンロードチェックの抑止

アンロード待ち状態のファイルグループを,アンロードしないで現用に割り当てられます。これをジャーナルアンロードチェックの抑止といいます。通常OpenTP1では,ファイルグループのアンロード状態をチェックしていて,ファイルグループがアンロード済み状態の場合だけ現用に割り当てます。アンロード状態のチェックを抑止すると,スワップ先のファイルグループがアンロード待ち状態でも,現用として割り当てるので,ファイルグループをアンロードする必要はありません。

ジャーナルアンロードチェックの抑止機能を使用する場合は,システムジャーナルサービス定義でjnl_unload_check=Nを指定します。この指定は,システム再開時に変更できます。

オンライン中にアンロードする場合は,アンロードするファイルグループをjnlclsfgコマンドでクローズしてから,アンロードを実行してください。jnlclsfgコマンドを実行しないでオンライン中のアンロードを実行すると,アンロード実行中のファイルグループが現用になることがあります。このとき,ファイルグループにはアンロード中のデータと,現用になって新たに書き込まれるデータとが混在するので,OpenTP1はアンロードを中断しますが,オンラインダウンすることはありません。

アンロードを一度も実行しない場合,アンロードジャーナルファイルを入力するコマンドは使用できません。アンロードジャーナルファイルを入力するコマンドを次の表に示します。

表4‒6 アンロードジャーナルファイルを入力するコマンド一覧

機能

コマンド

ジャーナル関係のファイル管理

ファイル回復用ジャーナルの集積

jnlcolc

アンロードジャーナルファイルの複写

jnlcopy

アンロードジャーナルファイルの編集出力

jnledit

MCF統計情報の出力

jnlmcst

ジャーナル関係のファイル回復

jnlmkrf

アンロードジャーナルファイルのレコード出力

jnlrput

アンロードジャーナルファイルのマージ,時系列ソート

jnlsort

統計情報の出力

jnlstts

DAMファイル管理

論理ファイルの回復

damfrc

TAMファイル管理

TAMファイルの回復

tamfrc

ジャーナルアンロードチェックの抑止機能を使用する指定でも,jnllsコマンドを実行すると,ファイルグループはアンロード待ち状態が表示されます。アンロード待ち状態が表示されても,そのファイルグループは現用として割り当てられます。