コミット後の障害の復旧技法
出典: 令和6年度 春期 応用情報技術者試験 午前 問27 (IPA)
トランザクション T はチェックポイント後にコミットしたが,その後にシステム障害が発生した。トランザクション T の更新内容をその終了直後の状態にするために用いられる復旧技法はどれか。ここで,トランザクションは WAL プロトコルに従い,チェックポイントの他に,トランザクションログを利用する。
- ア 2 相ロック
- イ シャドウページ
- ウ ロールバック
- エ ロールフォワード
正解と解説を見る
正解: エ
- ア: 2 相ロックは、トランザクションの直列化可能性を保つための同時実行制御の方式で、障害回復の技法ではありません。
- イ: シャドウページは、更新対象のページの複製を作り、コミット時にポインタを切り替える方式です。ログを使う復旧技法ではありません。
- ウ: ロールバックは、コミット前のトランザクションの更新を取り消す処理です。
- エ: ログの更新後情報を使って、コミット済みトランザクションの更新を再実行するロールフォワードです。正しい答えです。
ポイント
- コミット済みのトランザクションの更新が、障害でデータベースに反映されていない場合は、ログの更新後情報を使ってやり直します。これが ロールフォワード (前進復帰) です。
- 逆に、コミット前のトランザクションの更新を取り消す処理は ロールバック (後退復帰) です。
- チェックポイント後にコミットした T は、その後の障害でバッファの内容が失われている可能性があるので、ロールフォワードの対象になります。