問題
問57
データベースのバックアップからの復旧において、障害発生直前の状態までデータベースを回復させる操作はどれか。
- チェックポイント
- ロールフォワード
- ロールバック
- コミット
正解
正解は「イ」です。
解説
正解は「イ」のロールフォワードです。ロールフォワードは、データベースに障害が発生した際の復旧手法の一つで、バックアップファイル(特定の過去の時点のデータベースの状態)をリストア(復元)した後、そのバックアップ取得後から障害発生直前までに行われたすべての更新処理を、ログファイル(更新履歴)を元に再現していく操作のことです。これにより、データベースを障害が発生する直前の最新の状態に戻すことができます。
例えば、昨夜のバックアップデータを使って今日の昼の状態に復旧したい場合、まず昨夜のバックアップを復元し、その後、今朝から昼までに行ったすべての作業履歴(ログ)を再生して適用していきます。この「前に進める(forward)」操作から、ロールフォワードと呼ばれます。問題文の「障害発生直前の状態までデータベースを回復させる操作」は、まさにロールフォワードの目的そのものです。
ア(チェックポイント):
データベースの更新内容を、メモリ上からディスクに書き出すタイミングのことです。障害復旧時の処理を効率化するために設けられます。
ウ(ロールバック):
トランザクション処理中にエラーが発生した場合などに、処理を開始する前の状態にデータベースを戻す操作です。ロールフォワードとは逆方向の操作です。
エ(コミット):
トランザクション処理がすべて正常に完了した際に、その変更内容をデータベースに確定させる命令です。
解法のポイント
データベースの障害復旧に関する用語は、それぞれの操作の「方向」と「目的」で区別することが重要です。
- ロールフォワード:過去から現在へ(前に進める)。障害発生直前の状態に復旧する。
- ロールバック:現在から過去へ(元に戻す)。処理を中断して、開始前の状態に戻す。
この「フォワード(前進)」と「バック(後退)」という対義語のイメージで覚えると、両者の違いを明確に理解できます。コミットやチェックポイントは、これらの復旧処理を支えるための重要な概念として関連付けて覚えましょう。
用語補足
ロールフォワード:
バックアップ時点から障害発生時までの更新履歴を適用して、最新状態に戻すことです。ビデオの早送り(フォワード)のように、過去の状態から現在に向かって処理を進めます。
バックアップ:
万が一のデータ損失に備えて、データやシステムの複製を別の場所に保存しておくことです。
ロールバック:
処理の途中で問題が起きた時に、処理が始まる前の状態にまで戻すことです。ビデオの巻き戻し(バック)のように、現在から過去の状態に戻します。
コミット:
一連の処理が成功したことを宣言し、その結果をデータベースに恒久的に反映させることです。「セーブポイント」を作るイメージです。


