障害回復(ロールフォワード・ロールバック)とは?
障害回復(ロールフォワード・ロールバック)とは、データベースに障害が発生した際、一定時点の状態(チェックポイント)と、その後の更新内容を記録した「ログ(更新履歴)」を使って正しい状態に復旧する仕組み。コミット済みの更新をログから再現するのが「ロールフォワード(前進復帰)」、未完了の更新を取り消すのが「ロールバック(後退復帰)」。
情報処理安全確保支援士試験の過去問では2回出題されています(2018年度〜2021年度)。
しょうがいかいふく
障害回復(ロールフォワード・ロールバック)の意味
データベースに障害が発生した際、一定時点の状態(チェックポイント)と、その後の更新内容を記録した「ログ(更新履歴)」を使って正しい状態に復旧する仕組み。コミット済みの更新をログから再現するのが「ロールフォワード(前進復帰)」、未完了の更新を取り消すのが「ロールバック(後退復帰)」。
障害回復(ロールフォワード・ロールバック)の具体例
障害発生直前にコミットされていた更新は、バックアップとログを使ってロールフォワードで復元する。障害発生時に処理途中だった未コミットのトランザクションは、その更新をロールバックして取り消す。
障害回復(ロールフォワード・ロールバック)は試験でどう引っ掛けられる?
どちらを適用するかは「コミット済みか未コミットか」で決まる。コミット済みなら更新後ログを使ってロールフォワード、未コミットなら更新前ログを使ってロールバックで、使うログの種類も逆になる。障害の種類との対応も問われる:媒体障害(ディスク故障)はバックアップからの復元+ロールフォワード、システム障害(電源断など)はログだけで回復できる。
障害回復(ロールフォワード・ロールバック)が出た過去問
DBMSがトランザクションのコミット処理を完了とするタイミングはどれか。
正解:ログファイルへのコミット情報書込み完了時点
要点:コミット完了はログファイルへの書込みが終わった時点
DBMSは障害回復のためにWAL(ログ先行書込み)方式を採り、更新内容やコミット情報を先にログへ記録してからデータベース本体へ反映する。コミットが完了したと見なせるのは、コミットの記録が揮発するメモリ上のログバッファではなく、不揮発の媒体上のログファイルへ確実に書き終えた時点である。これにより、直後に障害が起きてもログからロールフォワードして結果を保証できる。
出典:平成30年度 春期 情報処理安全確保支援士試験 am2 問21(IPA)ディスク障害時に,フルバックアップを取得してあるテープからディスクにデータを復元した後,フルバックアップ取得時以降の更新後コピーをログから反映させてデータベース…
正解:ロールフォワード
要点:ロールフォワードは更新後ログを反映して復旧する
ロールフォワードは、バックアップから復元した時点のデータベースに対し、以降のログに残る更新後の内容を順に反映して障害直前の状態まで進める回復方法である。媒体障害からの復旧に用いる。反対に更新前の内容を使って取消す処理がロールバックである。
出典:令和3年度 春期 情報処理安全確保支援士試験 am2 問24(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。