データベースに何らかの障害が発生したときの復旧方法としては、以下の二つがある。
ロールバックおよびロールフォワードいずれの処理もジャーナルファイルを用いて復旧をおこなう。ジャーナルファイルは、データベースの更新前と更新後のデータの状態を記録したファイルである。
データベースの更新前と更新後のデータの状態を記録したファイル
スポンサードリンク
ロールバックは、トランザクション処理(transaction processing)で用いられる。トランザクション処理とは、データベースにおける更新処理の単位である。
例えば、在庫にある商品を販売した場合を考えてみよう。販売した商品のデータを売上テーブルに登録し、商品の在庫データから販売数を引いてやる処理をおこなう。このようにいくつかの処理を1セットとしておこなうのがトランザクション処理である。
トランザクション処理において、処理の途中で何らかの障害が発生したとき、データの整合性がとれなくなる。トランザクション処理の途中で障害が発生したときは、ジャーナルファイルを用いてトランザクション処理開始時点の状態に戻してデータの整合性を保つ処理がロールバックである。
ロールフォワードは、データが記録されているハードディスクに障害が発生したときに用いられる。バックアップファイルとジャーナルファイルを用いて、ハードディスクの障害発生以前の状態に復元する。
バックアップファイルは、ハードディスクの障害やデータが壊れたときに備えてデータベースやデータのコピーを取ったものである。
ロールフォワードの流れは以下のとおりである。