トランザクションTはチェックポイント取得後に完了したが,その後にシステム障害が発生した。
トランザクションTの更新内容をその終了直後の状態にするために用いられる復旧技法はどれか。
ここで,チェックポイントの他に,トランザクションログを利用する。
正答4
解説
正解は4です。
トランザクションTはチェックポイントの後に完了(コミット)しています。
しかし障害時点では、Tの更新がデータベースに書き込まれていない可能性があるので、ログを使って更新を再現する必要があります。
【選択肢別解説】
1:× 2相ロックは、ロックを獲得する段階と解放する段階を分けて、同時実行の整合性を保つ排他制御の方式です。
障害からの復旧技法ではありません。
2:× シャドウページは、更新前のページを残したまま別のページに書き込み、障害時に元のページへ戻す方式です。
チェックポイントとトランザクションログを使う復旧技法ではありません。
3:× ロールバックは、ログの更新前情報を使って、未完了のトランザクションの更新を取り消す技法です。
完了済みのTを終了直後の状態にするものではありません。
4:○ ロールフォワードは、チェックポイント時点の状態から、ログの更新後情報を使って更新をやり直す技法です。
完了済みのTの更新を再現し、終了直後の状態に戻せます。
【ポイント】
障害時に完了していたトランザクションはロールフォワード、未完了だったトランザクションはロールバックで処理します。
使うログ情報は、前者が更新後情報、後者が更新前情報です。