障害回復(ロールフォワード・ロールバック)とは?しょうがいかいふく
障害回復(ロールフォワード・ロールバック)とは、データベースに障害が発生した際、一定時点の状態(チェックポイント)と、その後の更新内容を記録した「ログ(更新履歴)」を使って正しい状態に復旧する仕組み。コミット済みの更新をログから再現するのが「ロールフォワード(前進復帰)」、未完了の更新を取り消すのが「ロールバック(後退復帰)」。
最終更新:2026-10-07
この語が出る過去問を解く →具体例
障害発生直前にコミットされていた更新は、バックアップとログを使ってロールフォワードで復元する。障害発生時に処理途中だった未コミットのトランザクションは、その更新をロールバックして取り消す。
試験での引っ掛け
どちらを適用するかは「コミット済みか未コミットか」で決まる。コミット済みなら更新後ログを使ってロールフォワード、未コミットなら更新前ログを使ってロールバックで、使うログの種類も逆になる。障害の種類との対応も問われる:媒体障害(ディスク故障)はバックアップからの復元+ロールフォワード、システム障害(電源断など)はログだけで回復できる。
関連用語
出た過去問
出典:令和3年度 秋期 高度試験 午前Ⅰ 問9(IPA)
データベースの障害回復処理に関する記述として、適切なものはどれか。
正解:システムが媒体障害以外のハードウェア障害によって停止した場合、チェックポイントの取得以前に終了したトランザクションについての回復作業は不要である。
要点:チェックポイント以前に完了した更新は回復不要
チェックポイント時点で既にコミットして終了しているトランザクションの更新内容は、その時点でデータベースに反映済みである。したがって媒体障害以外の障害でシステムが停止しても、それらについてロールフォワードなどの回復作業は不要となる。回復対象はチェックポイント以降に更新した、コミット済み(ロールフォワード)または未完了(ロールバック)のトランザクションである。
出典:令和4年度 秋期 高度試験 午前Ⅰ 問9(IPA)
チェックポイントを取得するDBMSにおいて、図のような時間経過でシステム障害が発生した。前進復帰(ロールフォワード)によって障害回復できるトランザクションだけを…
正解:T4とT5
要点:ロールフォワードはチェックポイント後にコミット済みの分を再現する
ロールフォワード(前進復帰)は、チェックポイント以降にコミットが完了しているのに、その更新結果がまだデータベースへ反映されていない可能性があるトランザクションを、ログを使って再現する処理である。この図では、チェックポイントと障害の間にコミットしたT4とT5が対象になる。チェックポイント前にコミット済みのT1は既に反映されており、未コミットのまま障害を迎えたT2とT3はロールバック(後退復帰)の対象になる。
出典・参考
公式シラバスの3 技術要素 > 1. データベース方式 > (2) データベース管理システムに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。