障害回復

この記事での学習内容 ITパスポート 基本情報 応用情報

障害に備えたバックアップの方式,世代管理の考え方,障害発生直前の状態まで回復を図るリカバリ処理の仕組み,データベースの利用環境の準備,アクセス効率の向上のための再編成などの考え方,仕組みを理解する。

用語例:フルバックアップ,差分バックアップ,増分バックアップ,ダンプファイル,リストア,データディレクトリ,ジャーナルファイル(ログファイル),チェックポイント,ロールフォワード,ロールバック,ウォームスタート,コールドスタート

リカバリ機能

データベースの障害回復処理には、ロールフォワードとロールバックがあります。

ロールフォワード

最新のバックアップファイルを書き戻した後、ジャーナルファイルの更新後の情報を用いて、バックアップ時点から障害直前の状態まで更新を進める方法です。

ディスクの破損など、大きな障害が置きた場合に行います。

  1. ディスク障害などでデータベースが停止
  2. 障害が発生したディスクなどの媒体を復旧する
  3. バックアップファイルを元にデータを書き戻す
  4. ジャーナルファイルで、バックアップファイル取得後の更新情報を反映する

ロールバック

ジャーナルファイルを使って、障害が発生する前の状態に戻す復旧方法です。

  1. 更新前のレコード内容をジャーナルファイルに保存し、レコードの内容を書き換えます。
  2. 書き換えが完了したら、更新後の状態をジャーナルファイルに保存して、更新処理を終了します。
  3. 障害により更新処理が中断された場合には、更新前のデータを元にレコードを更新前の状態に戻し、更新処理を終了します。
ジャーナルファイル

ジャーナルファイルとは、更新前ジャーナル、更新後ジャーナル、更新時刻、トランザクション識別子などを記録する、データベースの更新履歴です。

チェックポイント

チェックポイントとは、障害に備えて障害回復に必要な情報をジャーナルファイルに記録するというバックアップの時点です。チェックポイントを頻繁に設けると障害回復は正確に近くなりますが、ジャーナルファイルに記録するオーバーヘッドが増えます。

ウォームスタート方式

ウォームスタート方式は、チェックポイントまで戻って、更新情報の記録を用いてデータベースを回復します。

  1. ジャーナルファイルを用いて、最新のチェックポイントの状態に戻す。
  2. チェックポイント以降のトランザクションのうち、障害発生前にコミットした分をロールフォワードして、更新を反映。
  3. 障害発生前にコミットしていない分はロールバックして整合性を確保した後でトランザクションを再実行。

ウォームスタート方式は、例えば通信障害などでロランザクションが寸断されたケースなどから復旧する場合に用います。

コールドスタート方式

コールドスタート方式とは、データベースの状態をすべてクリアして、データベース全体のバックアップファイルを用いて、データベースを回復します。

バックアップファイルの作成や回復に時間がかかるため、もとに戻る時点を頻繁には設けられません。

  1. ハードウェアを交換する。
  2. バックアップを用いて、データベースをバックアップ時点の状態の戻す。ジャーナルファイルが破損している場合は、バックアップを元にジャーナルファイルも復旧させる。
  3. データベースのバックアップ以降にコミットしたトランザクションのうち、ジャーナルファイルに更新後情報がある分をロールフォワードして更新を反映する。

コールドスタート方式は、ディスクの故障などハードウェアに障害が発生した場合などに用います。