正答1
解説
正解は1です。
undo/redo方式は、障害が起きたときに、未完了のトランザクションを取り消し(undo)、完了済みのトランザクションをやり直す(redo)回復方式です。
ログには、更新前の値を記録した更新前情報と、更新後の値を記録した更新後情報があります。
【選択肢別解説】
1:○ undoで更新を取り消すには、元の値に戻すための更新前情報が必要です。
redoで更新をやり直すには反映すべき値である更新後情報が必要なので、両方とも必要です。
2:× 更新前情報だけでは、undo(ロールバック)はできても、redo(ロールフォワード)ができません。
redoには更新後情報も必要です。
3:× 更新後情報だけでは、redoはできても、undoができません。
undoには更新前情報も必要です。
4:× ログ情報が全くなければ、undoもredoも行えません。
障害回復には両方の情報が必要です。
【ポイント】
更新前情報はロールバック(undo)に、更新後情報はロールフォワード(redo)に使う、と対応づけて覚えましょう。
コミット済みでもデータベースへの反映前に障害が起きることがあるため、redoが必要になります。