正答2
解説
正解は2です。
この問題は、データベースの障害回復で使うログ(更新前情報・更新後情報)とチェックポイントの役割を問うています。
更新前情報は更新を取り消すロールバックに、更新後情報は更新をやり直すロールフォワードに使います。
【選択肢別解説】
1:× 同時更新による論理的な矛盾を防ぐのは、排他制御(ロック)です。
データのブロック化は記録をまとめて入出力効率を上げる手法で、同時更新の矛盾は防げません。
2:○ チェックポイントでは、その時点までの更新内容がデータベースに書き出されます。
そのため、媒体障害以外の障害で停止しても、チェックポイント以前に終了したトランザクションは回復作業が不要です。
3:× 媒体障害では、バックアップをリストアした後、ログの更新後情報でロールフォワードを行います。
更新前情報ではなく、更新後情報を使ってバックアップ取得後の更新を再現します。
4:× 更新中にプログラムが異常終了した場合は、ログの更新前情報でロールバックを行います。
途中までの更新を取り消して更新前の状態に戻すので、更新後情報ではありません。
【ポイント】
「取り消すのは更新前情報(ロールバック)、やり直すのは更新後情報(ロールフォワード)」と覚えましょう。
システム障害では、チェックポイント後にコミット済みのトランザクションはロールフォワード、未完了のものはロールバックします。