平成27年度 春期 データベーススペシャリスト試験 午前Ⅱ 問5
テクノロジ/データベースDBMSが取得するログに関する記述として,適切なものはどれか。
出典:平成27年度 春期 データベーススペシャリスト試験 午前Ⅱ 問5
- アトランザクションの取消しに備えて,データベースの更新されたページに対する更新後情報を取得する。
- イ媒体障害からの復旧に備えて,データベースの更新されたページに対する更新前情報を取得する。
- ウロールバック後のトランザクション再実行に備えて,データベースの更新されたページに対する更新後情報を取得する。
- エロールフォワードに備えて,データベースの更新されたページに対する更新後情報を取得する。
正解:エ
解説
DBMSのログには,更新前情報(before image)と更新後情報(after image)の両方が記録される。更新前情報は,トランザクションの取消し(ロールバック,undo)に用いられ,更新後情報は,コミット済みだがディスクに反映されていない更新をやり直すロールフォワード(redo)に用いられる。したがって,「ロールフォワードに備えて更新後情報を取得する」という記述が適切である。
選択肢ごとの解説
- ア誤り。トランザクションの取消し(ロールバック)に必要なのは更新前情報(before image)であり,更新後情報ではない。
- イ誤り。媒体障害からの復旧は,バックアップとログを用いたロールフォワード(redo)によって行われるため,必要となるのは更新後情報であり,更新前情報ではない。
- ウ誤り。「ロールバック後のトランザクション再実行に備えて」という記述はログ取得の一般的な目的として適切でなく,ログの更新後情報は本来ロールフォワードのために取得されるものである。
- エ正しい。ログに更新後情報を記録しておくことで,コミット済みだがデータベースにまだ反映されていない更新を,障害からの再立上げ時にロールフォワード(redo)して復旧できる。