この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は イ

解説

データベースの障害回復処理に関する理解が問われています。チェックポイントはログと実際のデータベースの内容を一致させる地点であり、チェックポイント取得時にコミット済みのトランザクションの更新内容は既に安定ストレージに反映されています。したがって、チェックポイント以前に正常終了(コミット済み)したトランザクションは回復の対象外(UNDO・REDO不要)です。ハードウェア障害(媒体障害以外、例:CPU障害・OS障害)からの回復では、ログを使ったロールフォワード(REDO)またはロールバック(UNDO)を行いますが、チェックポイント以前にコミット済みのトランザクションは既にディスクに反映されているため回復作業不要です。選択肢bが正解です。

なぜ他の選択肢は違うのか

選択肢 ア
「同一データベースの同時更新による論理矛盾を防ぐためにデータのブロック化が必要」はロック機構(排他制御)の説明です。障害回復処理とは別の、同時実行制御(排他制御)の概念です。
選択肢 ウ
「媒体障害ではバックアップリストア後にログの更新前情報を使って回復」は誤りです。媒体障害からの回復はバックアップリストア後に更新後情報(ロールフォワード)を適用して最新状態に戻します。更新前情報(UNDO)は媒体障害回復では使いません。
選択肢 エ
「更新中に異常終了した場合はログの更新後情報でデータを回復」は誤りです。トランザクションが異常終了(コミット前)した場合はロールバックが必要であり、ログの更新前情報(BEFORE IMAGE)を使ってデータを元に戻します。更新後情報(AFTER IMAGE)はロールフォワードに使います。

解くときのポイント

障害回復の使い分け:ロールバック(UNDO)=更新前情報で未完了トランザクションを取り消す、ロールフォワード(REDO)=更新後情報でコミット済みトランザクションを再適用。チェックポイント以前のコミット済みTxは回復不要。媒体障害=バックアップ+ロールフォワード。