[0146] ロールフォワード

平成12年度春期 (旧)第2情報処理技術者試験より
データベースが格納されている記憶媒体に故障(媒体障害)が発生した場合、バックアップファイルとログを用いてデータベースを回復する操作はどれか。
アーカイブ
コミット
チェックポイントダンプ
ロールフォワード

正解

解説

 データベースの障害回復に関する問題です。

 まず、どのような手順でデータの更新が行われるか解説しましょう。


■ データの更新手順

(1) SQLの発行
クライアントからのSQL(INSERT,UPDATE,DELETE)をデータベースサーバが受け取ります。

(2) ログファイルへの書き込み
ログファイルでは、障害発生や、やり直し(ロールバック)に備えて、更新前のデータ、更新後のデータを保管しておきます。

(3) データベースバッファへの書き込み
データ更新する場合は、直接データファイルに書き込むのではなく、まずデータベースバッファに書き込みを行います。データベースバッファは、処理速度向上のためにデータをキャッシュしておく領域です。

(4) データベースファイルへの書き込み
データベースバッファのデータは、一定時間ごとにデータファイルに書き出されます。これでデータの更新が確定します。



 ここで、データベースに障害が発生した場合、どのようにデータを復元を行うか考えてみましょう。

 例えば、(4) データファイルへの書き込み の直前で、ハードディスククラッシュが発生した場合はどうなるでしょうか。更新すべきデータは、データファイルへは反映されていないので、失われた状態になっています。ただし、ログファイルには、更新後データが記録されているので、これを使用して復元を行います。

 まず、あらかじめとっておいたバックアップファイルから、データベースを復元可能な最も最近の状態に戻します。その後、ログファイルから、バックアップ以降更新されたデータを、データファイルへ書き出します。これで、データの復元が完了します。このログファイルからデータファイルへ必要なデータを書き出す操作を、ロールフォワードといいます。



 以上より、エが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題