Groupmax Object Server Version 6 システム管理者ガイド
- <この項の構成>
- (1) システムジャーナルファイルの目的
- (2) システムジャーナルファイルの作成
- (3) システムジャーナルファイルの構成
- (4) システムジャーナルファイルの状態
- (5) システムジャーナルファイルの操作
- (6) システムジャーナルファイルのコマンド
システムジャーナルファイルには,システムに障害が発生した場合の回復に必要な履歴情報が格納されます。履歴情報は,High-end Object Serverが停止した場合の全面回復・部分回復に必要です。システムジャーナルファイルに出力される情報は,次のとおりです。
- システム回復用ジャーナル情報
- ファイルやテーブルの更新履歴情報です。ファイルやテーブルの情報を復元するために使用します。
システムジャーナルファイルは,OSのファイルシステム上に作成します。High-end Object Serverを開始する前にシステムジャーナルファイルを二つ以上作成します。その構成情報を,システムジャーナルサービス定義で定義します。ハードディスク障害に備えてデータベースとジャーナルを別のディスクに保存してください。また,ジャーナルのディスクは,複数のハードディスクに分割してください。性能の観点からもデータベースとジャーナルを別のディスクに保存することを推奨します。
High-end Object Serverのシステム管理者は,High-end Object Serverを開始する前にxodjnlinitコマンドで物理ファイルを作成します。その後,物理ファイルと論理ファイルの対応付けを,システムジャーナルサービス定義で定義します。
システムジャーナルファイルは,ファイルグループという論理的な単位で運用します。ファイルグループを構成するファイルを,要素ファイルといいます。これに対して,実際にジャーナルを取得するファイルの実体を,物理ファイルといいます。
ファイルグループは,システムジャーナルファイルに2〜30個まで定義できます。また,一つのファイルグループは,一つの要素ファイルで構成されます。さらに,一つのファイルグループは,一つの物理ファイルで構成されます。
ジャーナルを取得するための実行環境は,システムジャーナルサービス定義に定義します。論理ファイルと物理ファイルの対応付けも,システムジャーナルサービス定義で定義します。
システムジャーナルファイルのファイルグループは,次の状態に分けられます。
予約以外のファイルグループは,二つ以上必要です。
High-end Object Serverを正常開始すると,システムジャーナルサービス定義でONLと指定したファイルグループがすべてオープンされます。オープンされたファイルグループのうち,最初に指定したファイルグループが現用になり,その他は待機になります。オープンできなかったファイルグループ及びONLと指定しなかったファイルグループは予約となります。再開始すると,前回現用だったファイルグループが引き継がれます。
- 現用:
- 現時点でジャーナルの出力対象になっている状態です。この状態のシステムジャーナルファイルはオープンしています。また,現用のファイルグループはシステムで一つです。現用の状態のシステムジャーナルファイルを,現用ファイルグループといいます。
- 待機:
- 現時点ではジャーナルの出力対象ではありませんが,現用のファイルグループと切り替えられるよう待機している状態です。この状態のステータスファイルはオープンしています。待機の状態のシステムジャーナルファイルを,待機ファイルグループといいます。
- 予約:
- システムジャーナルサービス定義に定義されていますが,クローズされている状態です。オープンしないと使用できません。
システムジャーナルファイルの操作について説明します。なお,システムジャーナルファイルのスワップとシステムジャーナルファイルのアンロード,及びシステムジャーナルファイルのステータス変更はバッチファイルなどを作成すると自動化できます。
High-end Object Serverは,一つのジャーナルファイルを現用としてジャーナルを出力します。
現用のファイルグループが一杯になると,上書きできる状態又はアンロード済みの待機ファイルグループを現用ファイルグループに切り替えてジャーナルを出力します。これをスワップといいます。定義されたファイルグループがすべて一杯になると,最初のファイルグループに戻ってジャーナルを出力します。
システムジャーナルファイルのスワップを,図5-5に示します。
図5-5 システムジャーナルファイルのスワップ
現用のファイルグループが一杯になった場合,スワップして待機ファイルグループを現用にします。このとき,以前の現用ファイルは待機になります。
出力しようとした待機ファイルグループがアンロード待ち状態のときは,xodjnlunlコマンドでアンロードできます。あるいは,xodjnlchgコマンドでアンロードしないでステータスの状態を変更できます。ただしこの場合は,後からのアンロードはできません。
現用のファイルグループに出力障害が起きた場合は,スワップして待機ファイルグループを現用にします。このとき,以前の現用ファイルは予備になります。
予備になったファイルグループは,次の手順で再使用します。
- 必要があればxodjnlunlコマンドでアンロードする
- 障害対策をした後,xodjnlrmコマンドで一度削除する
- xodjnlinitコマンドでシステムジャーナルファイルを再作成する
- xodjnlopnコマンドで待機としてファイルグループをオープンする
また,障害の内容によっては,ジャーナルファイルのアンロードができない場合があります。いったんオブジェクトサーバを正常終了させて,データベースのバックアップを取り直してください。
緊急に現用ファイルグループをアンロードしたり編集したりする場合は,xodjnlswpコマンドでスワップできます。ただしスワップ先のファイルグループがない場合はエラーになります。
一杯になったシステムジャーナルファイルは,xodjnlunlコマンドで任意のファイルに複写できます。任意のファイルにジャーナルを複写することを,アンロードといいます。アンロードして作成したファイルをアンロードジャーナルファイルといい,データベースの回復に使用します。
アンロードされていない待機ファイルグループは,スワップ先になりません。
一杯になったシステムジャーナルファイルは,xodjnlunlコマンドでアンロードできます。ジャーナルをアンロードするまでジャーナルを保存している状態を,アンロード待ち状態といいます。アンロード待ち状態のファイルは,現用にできません。
アンロード待ち状態のファイルグループをxodjnlunlコマンドでアンロードした状態を,アンロード済み状態といいます。アンロード待ち状態のファイルグループをxodjnlchgコマンドで破棄した状態もアンロード済み状態になります。
システムの回復に必要なジャーナルを含んでいるため,上書きできないように保護している状態を,上書きできない状態といいます。上書きできない状態のファイルグループは,現用になりません。
上書きできない状態のファイルグループは,High-end Object Serverがチェックポイントを取得すると,上書きできる状態になります。
High-end Object Serverの全面回復には,最新のチェックポイントの取得以降に出力されたジャーナルを元に回復します。
チェックポイントとは次の時点をいいます。
- High-end Object Serverの開始及び再開始処理が完了した時点
- ジャーナルファイルのスワップが発生した時点
- 前回のチェックポイントを取得してから,ジャーナルサービス定義で指定した件数のジャーナル情報を取得した時点
- システムの終了準備処理が完了した時点
オンライン障害発生後の全面回復時,High-end Object Serverはトランザクションを決着するためのジャーナルを出力します。このとき,システムジャーナルファイルにジャーナルを格納しきれなくなると,High-end Object Serverは再び異常終了します。
全面回復時にジャーナルファイルが不足したとき,予約状態のファイルをオープンしてジャーナルを格納できます。予約状態のファイルをオープンするかどうかは,システムジャーナルサービス定義で定義します。また,アンロードすればスワップ先としてジャーナルを格納できます。上書きできる状態のシステムジャーナルファイルがある場合には,予約状態のファイルをオープンしません。xodjnlunlコマンドでジャーナルをアンロードしてください。
待機状態になったファイルグループを再使用するためには,次の条件を満たす必要があります。これらの条件を満たしている場合は,次回スワップ時に現用として使用できます。
- ファイルグループが上書きできる状態
- ファイルグループがアンロード済み状態
(システムジャーナルサービス定義にjnl_unload_check=Nを指定している場合はチェックしません)
システムジャーナルファイルの状態遷移を,図5-6に示します。
スワップする場合,スワップ先に待機状態のファイルグループがないと異常終了します。したがってHigh-end Object Serverのシステム管理者は,スワップ先にできるファイルグループを必ず用意してください。
スワップ先のファイルグループがなくて異常終了した場合は,次の手順で回復してください。
- xodjnlunlコマンドで,アンロード待ちのファイルグループをアンロードします。
- 待機ファイルグループを用意して,High-end Object Serverを再開始します。
- High-end Object Serverを再開始できない場合は,新たなファイルグループを追加します。新たなファイルグループは,システムジャーナルサービス定義でONLを指定したファイルグループを指定します。
- その後再びHigh-end Object Serverを再開始します。
システムジャーナルファイル情報は,xodjnllsコマンドで表示できます。
表示内容はファイルグループ名称,ファイル種別,ファイルグループの状態などです。
予約のファイルグループをxodjnlopnコマンドでオープンすると,待機のファイルグループになります。
また,上書きできる状態のファイルグループをxodjnlclsコマンドでクローズすると,予約のファイルグループになります。上書きできない状態のファイルグループは,回復に必要なジャーナルがあるため,クローズできません。
なお,上書きできる状態のファイルグループが一つしかない場合,そのファイルグループはクローズできません。
システムジャーナルファイルのオープンとクローズを,図5-7に示します。
図5-7 システムジャーナルファイルのオープンとクローズ
アンロード待ち状態の待機のファイルグループを強制的にアンロード済み状態にするには,xodjnlchgコマンドを使用します。強制的にアンロード済み状態にしても,ジャーナルはキャラクタ型スペシャルファイル上の任意のファイルにコピーされませんので注意してください。
アンロード済み状態になったファイルグループは,上書きできる状態であれば,次回スワップ時に現用として使用できます。
High-end Object Serverを再開始すると,前回の異常終了直前のジャーナルファイルのオープン状態を回復します。また,ファイルグループの状態を回復しようとします。前回の異常終了直前にクローズしていたファイルグループでも,再開始に必要と判断されればオープンして,回復処理に使用します。オープンできないファイルグループがあると,ログにエラーメッセージを出力して再開始を続行します。
システムジャーナルファイルの運用に使用できるコマンドを,表5-2に示します。
表5-2 システムジャーナルファイルの運用に使用できるコマンド
All Rights Reserved, Copyright (C) 2001, 2002, Hitachi, Ltd.