ホーム > データベーススペシャリスト試験 > 2015年

データベーススペシャリスト試験 2015年 午前205


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

解説

DBMSのログ取得に関する解説

データベース管理システム(DBMS)は、障害発生時の復旧やトランザクション制御のためにログを取得します。ログは、データの変更履歴を記録したもので、特に「更新前情報(Before Image)」や「更新後情報(After Image)」が重要です。

ログの主な役割

  1. トランザクションの取り消し(ロールバック)
    失敗したトランザクションを元の状態に戻すために、「更新前情報(更新前の値)」を用います。ロールバックはトランザクション単位で実施されます。
  2. 障害からの復旧
    障害発生時に不完全な更新を取り消したり、途中までの更新を再実行(ロールフォワード)したりすることで、一貫性を保ちます。

選択肢の分析

選択肢内容評価理由
トランザクションの取消しに備えて、更新後情報を取得誤りトランザクション取消しのためには「更新前情報」が必要。
媒体障害からの復旧に備えて、更新前情報を取得誤り媒体障害からの復旧では、コミットされた更新を反映するために「更新後情報」を使う。
ロールバック後のトランザクション再実行に備えて、更新後情報を取得誤りロールバックは取消処理であり、再実行にも更新後情報が必要とされるが、ロールバック直後の再実行は通常ない。
ロールフォワードに備えて、更新後情報を取得正解ロールフォワードは障害後の再実行手法で、更新後情報が必要。

ロールフォワードとログの情報

  • ロールフォワードとは障害発生後に、コミット済みの変更をログの「更新後情報」を用いて再適用(再実行)し、データベースを整合性の高い状態に戻す手法です。
  • したがって、ロールフォワードには更新後情報のログの取得が不可欠です。

まとめ

  • トランザクション取り消し(ロールバック)には更新前情報のログが必要。
  • ロールフォワード(障害復旧の一種)には更新後情報のログが必要。
  • 問題文の正解「エ」は、ロールフォワードを前提として更新後情報を取得することを述べており適切です。

参考資料

  • 『データベースシステム概論』
  • 『トランザクション管理と障害回復技術』
  • 各種DBMSの障害復旧メカニズムに関するドキュメント

以上の理由から、正解は となります。
← 前の問題へ次の問題へ →

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