平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問6
テクノロジ/データベースDBMSが取得するログに関する記述として,適切なものはどれか。
出典:平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問6
- アトランザクションの取消しに備えて,データベースの更新されたページに対する更新後情報を取得する。
- イ媒体障害からの復旧に備えて,データベースの更新されたページに対する更新前情報を取得する。
- ウロールバック後のトランザクション再実行に備えて,データベースの更新されたページに対する更新後情報を取得する。
- エロールフォワードに備えて,データベースの更新されたページに対する更新後情報を取得する。
正解:エ
解説
DBMSのログには,主にロールバック(トランザクションの取消し)に用いる更新前情報(ビフォアイメージ)と,ロールフォワード(更新後情報を再適用してデータベースを最新状態に復旧する処理)に用いる更新後情報(アフタイメージ)の2種類があります。ロールフォワードは,バックアップから復元したデータベースに対して,ログに記録された更新後情報を順に適用することで,障害発生直前の状態まで復旧させる処理であるため,そのためには更新されたページに対する更新後情報を取得しておく必要があります。
選択肢ごとの解説
- ア誤り。トランザクションの取消し(ロールバック)に用いるのは,更新前の状態に戻すための更新前情報(ビフォアイメージ)であり,更新後情報ではありません。
- イ誤り。媒体障害からの復旧では,バックアップからの復元後にロールフォワードを行うために更新後情報(アフタイメージ)を用いるのが一般的であり,更新前情報だけでは障害発生時点までの更新内容を復元できません。
- ウ誤り。「ロールバック後のトランザクション再実行」という処理はログの一般的な用途の説明として適切ではなく,更新後情報の取得目的の説明としては不自然です。
- エ正しい。ロールフォワードでは,バックアップに対してログに記録された更新後情報を順次適用することでデータベースを最新の状態まで復旧させるため,更新されたページに対する更新後情報をあらかじめ取得しておく必要があります。