データベーススペシャリスト試験 2017年 午前206


DBMSが取得するログに関する記述として, 適切なものはどれか。
トランザクションの取消しに備えて, データベースの更新されたページに対する更新後情報を取得する。
媒体障害からの復旧に備えて, データベースの更新されたページに対する更新前情報を取得する。
ロールバック後のトランザクション再実行に備えて, データベースの更新されたページに対する更新後情報を取得する。
ロールフォワードに備えて, データベースの更新されたページに対する更新後情報を取得する。(正解)

解説

DBMSが取得するログに関する記述【午前2 解説】

要点まとめ

  • 結論:DBMSのログはロールフォワード復旧のために更新後情報を取得することが正しいです。
  • 根拠:更新後情報は障害発生後のデータベース状態を再現するために必要で、媒体障害からの復旧に使われます。
  • 差がつくポイント:更新前情報はロールバックに使い、更新後情報はロールフォワードに使うという役割の違いを理解することが重要です。

正解の理由

選択肢エは「ロールフォワードに備えて、データベースの更新されたページに対する更新後情報を取得する」とあります。
ロールフォワードは障害発生後にログの更新後情報を用いてデータベースを最新状態に戻す復旧方法です。
したがって、更新後情報を取得することが正しく、選択肢エが正解となります。

よくある誤解

更新前情報と更新後情報の役割を混同し、ロールバックとロールフォワードの違いを誤解しやすい点に注意が必要です。

解法ステップ

  1. ログに記録される情報の種類(更新前情報・更新後情報)を理解する。
  2. ロールバックはトランザクションの取消しに使い、更新前情報が必要であることを確認する。
  3. ロールフォワードは障害復旧に使い、更新後情報が必要であることを確認する。
  4. 選択肢の内容とログの役割を照らし合わせて正しいものを選ぶ。

選択肢別の誤答解説

  • ア:更新後情報ではなく更新前情報を取得し、トランザクション取消しに備えるのが正しい。
  • イ:媒体障害からの復旧には更新後情報を使うため、更新前情報を取得するのは誤り。
  • ウ:ロールバック後の再実行は通常行わず、更新後情報を取得する目的も異なる。
  • エ:ロールフォワードに備えて更新後情報を取得するため正解。

補足コラム

DBMSのログは主に「更新前イメージ(before image)」と「更新後イメージ(after image)」の2種類があります。
更新前イメージはトランザクションの取り消し(ロールバック)に使い、更新後イメージは障害復旧(ロールフォワード)に使われます。
この仕組みはデータベースの一貫性と耐障害性を確保するために不可欠です。

FAQ

Q: ロールバックとロールフォワードの違いは何ですか?
A: ロールバックはトランザクションの途中での取消し処理、ロールフォワードは障害後にログを使って更新を再適用する復旧処理です。
Q: なぜ更新後情報が障害復旧に必要なのですか?
A: 障害発生時点での最新のデータ状態を再現するため、更新後情報を用いてデータベースを正しい状態に戻します。

関連キーワード: DBMSログ, ロールバック, ロールフォワード, 更新前イメージ, 更新後イメージ, 障害復旧, トランザクション管理
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ