令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問4
テクノロジ/データベースDBMSが取得するログに関する記述として,適切なものはどれか。
出典:令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問4
- アトランザクションの取消しに備えて,データベースの更新されたページに対する更新後情報を取得する。
- イ媒体障害からの復旧に備えて,データベースの更新されたページに対する更新前情報を取得する。
- ウロールバック後のトランザクション再実行に備えて,データベースの更新されたページに対する更新後情報を取得する。
- エロールフォワードに備えて,データベースの更新されたページに対する更新後情報を取得する。
正解:エ
解説
DBMSのログには,更新前の状態を記録する更新前情報(before image)と,更新後の状態を記録する更新後情報(after image)があります。トランザクションの取消し(ロールバック)や,媒体障害復旧の一部として更新を巻き戻す処理には更新前情報が使われます。一方,媒体障害からの復旧では,バックアップに障害発生直前までの更新を再適用するロールフォワードが行われ,これには更新後情報が使われます。
選択肢ごとの解説
- ア誤り。トランザクションの取消し(ロールバック)には,更新前の状態に戻すための更新前情報が必要であり,更新後情報ではありません。
- イ誤り。媒体障害からの復旧では,バックアップに障害発生直前までの更新をログから再現するロールフォワードが行われ,これには更新後情報が必要です。更新前情報ではありません。
- ウ誤り。ロールバック後にトランザクションを再実行する場合,これは通常のトランザクション処理として改めて実行されるものであり,そのためにログの更新後情報を取得するという記述はDBMSのログの一般的な説明ではありません。
- エ正しい。ロールフォワードは,バックアップなどにログの更新後情報を適用して障害発生直前の状態まで復旧する処理であり,そのためにDBMSは更新されたページの更新後情報をログとして取得します。