頻出高 ⏱ 7分★★★★★

障害回復の基本

REDO/UNDO/チェックポイントの仕組みを完全理解

システム障害が発生した後、データベースを整合性のある状態に復元する技術体系。障害の種類に応じて回復手順が異なる。

障害分類と回復方法
障害種別原因影響回復方法
トランザクション障害プログラムエラー・デッドロック単一トランザクションROLLBACK(UNDO ログ)
システム障害(ソフト)OS クラッシュ・電源断主記憶のデータ消失ログから REDO/UNDO
メディア障害(ハード)ディスク物理破損二次記憶の消失バックアップ+ログ適用
2 種類の回復操作
操作方向対象目的
REDO(再実行)前進回復コミット済みだが未反映の変更変更を再適用して永続化
UNDO(取り消し)後退回復障害発生時に実行中だった未コミットの変更変更を取り消して整合性回復
REDO と UNDO の情報はトランザクションログに記録されている。ログが正しく書かれていることが前提。

定期的にメモリ上のダーティページ(変更済みだがディスク未書込みのページ)をディスクに書き出すタイミング。障害後の回復時間を短縮する。

チェックポイントの効果
チェックポイントなしチェックポイントあり
障害後に全ログを最初から再処理最後のチェックポイント以降のログのみ再処理
回復時間:長い回復時間:短い
① チェックポイント:全ダーティページをディスクへ書き出し・チェックポイントレコードをログに記録
↓ 障害発生
② 回復:最後のチェックポイントを探してそれ以降のログだけ REDO/UNDO
① 最後のチェックポイントを特定
② チェックポイント以降のログを順方向にスキャン → REDO(コミット済み変更を再適用)
③ 障害時点で未コミットだったトランザクションを UNDO(変更を取り消し)
④ DB が整合性のある状態に回復 → 通常運転再開
① バックアップからデータを復元
② アーカイブログをバックアップ以降から順次適用(REDO)
③ 特定時点(PITR)または最新状態まで回復
メディア障害はログだけでは回復できない。定期バックアップとアーカイブログの保管が必須。

📝 理解度チェック

システム障害後の回復で REDO が必要なのはどの場合か?
チェックポイントの主な目的はどれか?
メディア障害(ディスク破損)からの回復に必要なのはどれか?

読了ボタンを押すとトップページの進捗に反映されます