技術要素 - 9.データベース - 4.トランザクション処理 - 2.障害回復

Last Update : April 12 2018 09:41:09

     

a. 障害回復

「障害回復」とは、データベースのデータが「トランザクション障害」「システム障害」「媒体障害」などにより、障害が発生しても、データベースを健全な状態に戻すための処理を言います。具体的には、以下の2種類があります。

ロールバック処理
論理的障害に対する対処法です。更新処理中に異常が発生した場合、「ログファイル」の「更新前情報」を用いてデータベースを書き戻し、その処理自体が存在しなかったことにする方式です。 トランザクション処理において、処理の途中で何らかの障害が発生したとき、データの整合性がとれなくなる。トランザクション処理の途中で障害が発生したときは、ジャーナルファイルを用いてトランザクション処理開始時点の状態に戻してデータの整合性を保つ処理がロールバックである。

ロールフォワード処理
物理的障害に対する対処法です。データベースで使用しているハードディスクが破損した場合に、バックアップファイルをコピーすることで最終のバックアップ時点までデータベースを復元出来ます。それ以降は、「ログファイル」の「更新後情報」を順次読み込んで障害前の状態に戻します。 ロールフォワードの流れは以下のとおりである。

  1. 障害が発生したディスクを新しいディスクに交換する
  2. ディスクにバックアップデータを書き戻す
  3. 更新後ジャーナルファイルを用いてバックアップファイル以降に更新されたデータを更新する

チェックポイント
チェックポイントでは、定期的にログ情報とデータベースの内容のすべてをチェックポイントファイルに完全に記録する。

ウォームスタート
データベースに障害が発生したときに、チェックポイントまで一旦もどり、更新情報のログを利用して、ロールバック・ロールフォワード、及び再処理を行い、データベースを回復する処理

コールドスタート
データベースに障害が発生したとき、一度電源を切り、メモリの内容などを完全にクリアしてから再起動する方式で、チェックポイントでのログなどは使用せず、システムを初期状態に戻しバックアップを用いて復元を行い、その後トランザクションの再処理を行う。


  [ 例題 ] 
  1. 平成10年度春期 問52  ロールバック ロールフォワード
  2. 平成10年度秋期 問53  トランザクション
  3. 平成12年度秋期 問49  データベース 障害回復


     

www.it-shikaku.jp