応用情報技術者試験 令和6年度 春期 午前 問27
トランザクション T はチェックポイント後にコミットしたが、その後にシステム障害が発生した。トランザクション T の更新内容をその終了直後の状態にするために用いられる復旧技法はどれか。ここで、トランザクションは WAL プロトコルに従い、チェックポイントの他に、トランザクションログを利用する。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】エ
トランザクションTはチェックポイント後に更新を行い、コミットまで完了しています。コミット済みの更新は確定した処理なので、システム障害によってデータベース上から失われていれば、トランザクションログを基に更新内容を再実行する必要があります。このように、ログを使ってデータベースを障害発生前の新しい状態へ進める復旧技法がロールフォワードです。
WALはWrite Ahead Loggingの略で、データベース本体の更新内容を書き込む前に、その更新ログを先に永続記憶装置へ書き出す方式です。このため、障害が発生してもログを参照して、コミット済みの更新を再現できます。
アの2相ロックは誤りです。これは、ロックを獲得する成長相と、ロックを解放する縮退相に分け、トランザクションの直列化可能性を確保する同時実行制御方式です。障害後の復旧技法ではありません。
イのシャドウページは誤りです。これは、更新前ページを残したまま別のページに更新内容を書き、コミット時に参照先を切り替える方式です。設問のようにトランザクションログを利用して更新を再現する技法ではありません。
ウのロールバックは誤りです。これは、未コミットのトランザクションによる更新をログから取り消し、更新前の状態へ戻す処理です。
【ポイント】 コミット済みの更新を再実行する処理はREDO、すなわちロールフォワードです。 未コミットの更新を取り消す処理はUNDO、すなわちロールバックです。 チェックポイントを設けると、復旧時に調べるログの範囲を絞れます。
出典:令和6年度 春期 応用情報技術者試験 午前 問27
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の80問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる