ロールバック・ロールフォワードとは?ろーるばっく・ろーるふぉわーど
ロールバックは、異常終了したトランザクションの更新を取り消して開始前の状態へ戻す処理。ロールフォワードは、媒体障害でバックアップをリストアした後に、それ以降のコミット済み更新をログから再現して復旧時点まで進める処理である。ログを使う向きが互いに逆になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
更新の途中で処理が止まれば、引落しだけが済んで入金が反映されていないような中途半端な状態が残る。媒体が失われれば、バックアップ以降の更新がそのまま消える。更新の記録をログとして別に残し、取り消す方向と再現する方向の両方に使えるようにしたことで、原子性と耐久性を両立できるようになった。復旧できるかどうかは、ログをどこに置くかの設計に左右される。
具体例
監査人はデータベースの復旧手順書とログの取得設定を確かめ、ログがデータファイルと同じ媒体に置かれていないか、復旧訓練で目標復旧時点まで実際にロールフォワードできたかを訓練記録で検証する。訓練の実績が無ければ、手順書が整っていても復旧可能性の証拠にはならない。
試験での引っ掛け
障害の種類とどちらを使うかの対応が問われる。トランザクション障害はロールバック、媒体障害はリストア後にロールフォワードし、そのうえで中断していたトランザクションをロールバックする。ロールフォワードだけで媒体障害から復旧できると考えると誤る。
関連用語
出た過去問
出典:平成30年度 春期 システム監査技術者試験 午前Ⅱ 問17(IPA)
媒体障害の回復において,最新のデータベースのバックアップをリストアした後に,トランザクションログを用いて行う操作はどれか。
正解:バックアップ取得後にコミットした全てのトランザクションをロールフォワードする。
要点:媒体障害の復旧はリストア後にコミット済み更新をロールフォワード
媒体障害では記憶媒体そのものが失われるため、バックアップを復元した上で、その後の更新を再現する必要がある。ログを用いてバックアップ取得後にコミット済みのトランザクションの更新後情報を順に反映するのがロールフォワードである。未コミットで中断したトランザクションは元々反映されていないので、ロールバックする対象にはならない。
出典:令和4年度 秋期 システム監査技術者試験 午前Ⅱ 問21(IPA)
データベースのデータを更新するトランザクションが、実行途中で異常終了したとき、更新中のデータに対して行われる処理はどれか。
正解:トランザクションの更新ログ情報を使いロールバックすることによって、データをトランザクション開始前の状態に回復する。
要点:異常終了したトランザクションはロールバックで開始前状態に戻す
トランザクションが途中で異常終了した場合、そのトランザクションによる中途半端な更新を残すわけにはいかない。DBMSは更新前ログ(before image)を用いてロールバックを行い、データをトランザクション開始前の状態に戻す。これに対しロールフォワードは、媒体障害からの回復時に更新後ログを使ってコミット済みの更新を再現する処理である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。