データベーススペシャリスト試験 2020年 午前204


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

解説

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

要点まとめ

  • 結論:DBMSはロールフォワード復旧のために更新後情報をログに取得します。
  • 根拠:更新後情報は障害発生後の再適用(ロールフォワード)に必要であり、復旧処理の基本です。
  • 差がつくポイント:更新前情報はロールバック用、更新後情報はロールフォワード用と区別する理解が重要です。

正解の理由

正解はエの「ロールフォワードに備えて、データベースの更新されたページに対する更新後情報を取得する」です。
DBMSのログには、障害発生時にデータベースを最新状態に戻すための更新後情報が記録されます。これにより、障害復旧時にロールフォワード処理でログを適用し、更新内容を再現可能です。更新後情報は、障害後のデータベースの整合性を保つために不可欠です。

よくある誤解

更新前情報はトランザクションの取り消し(ロールバック)に使い、更新後情報は障害復旧のロールフォワードに使う点を混同しやすいです。

解法ステップ

  1. ログの目的を「障害復旧」と「トランザクション制御」に分けて考える。
  2. ロールバックは更新前情報を使い、ロールフォワードは更新後情報を使うことを確認。
  3. 選択肢の「更新前情報」「更新後情報」と「ロールバック」「ロールフォワード」の組み合わせを照合。
  4. ロールフォワードに対応するのは更新後情報であることから、エを選択。

選択肢別の誤答解説

  • ア: 更新後情報はロールフォワード用であり、トランザクション取消しには更新前情報が必要です。
  • イ: 媒体障害復旧に備えるのは更新前情報ではなく、更新後情報を使ったロールフォワードです。
  • ウ: ロールバック後の再実行は通常トランザクションの再開始であり、更新後情報をログに取る目的とは異なります。
  • エ: 正解。ロールフォワード復旧に必要な更新後情報を取得する記述です。

補足コラム

DBMSのログには「UNDOログ」と「REDOログ」があり、UNDOログは更新前情報を記録しロールバックに使われ、REDOログは更新後情報を記録しロールフォワードに使われます。これらのログ管理はデータベースの信頼性を支える重要な技術です。

FAQ

Q: ロールバックとロールフォワードの違いは何ですか?
A: ロールバックはトランザクションの取り消し処理で更新前情報を使い、ロールフォワードは障害復旧時に更新後情報を使ってデータを最新状態に戻す処理です。
Q: 更新前情報と更新後情報はどのように使い分けられますか?
A: 更新前情報はトランザクションの取り消し(UNDO)に、更新後情報は障害復旧の再適用(REDO)に使われます。

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

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