ホーム > データベーススペシャリスト試験 > 2009年
データベーススペシャリスト試験 2009年 午前2 問03
DBMSが取得するログに関する記述として、適切なものはどれか。
ア:トランザクションの取消しに備えて, データベースの更新されたページに対する更新後情報を取得する。
イ:媒体障害からの復旧に備えて, データベースの更新されたページに対する更新前情報を取得する。
ウ:ロールバック後のトランザクション再実行に備えて, データベースの更新されたページに対する更新後情報を取得する。
エ:ロールフォワードに備えて、データベースの更新されたページに対する更新後情報を取得する。(正解)
解説
DBMSが取得するログに関する記述【午前2 解説】
要点まとめ
- 結論:DBMSのログはロールフォワード復旧のために更新後情報を取得することが適切です。
- 根拠:ロールフォワードは障害後に更新内容を再適用する復旧方法であり、更新後のデータが必要です。
- 差がつくポイント:更新前情報はロールバック用、更新後情報はロールフォワード用と区別される点を理解しましょう。
正解の理由
選択肢エは「ロールフォワードに備えて、データベースの更新されたページに対する更新後情報を取得する」とあります。
ロールフォワード復旧は障害発生後にログの更新後情報を用いて処理を再実行し、データベースを最新状態に戻す手法です。
そのため、更新後情報をログに記録することが不可欠であり、選択肢エが正解となります。
ロールフォワード復旧は障害発生後にログの更新後情報を用いて処理を再実行し、データベースを最新状態に戻す手法です。
そのため、更新後情報をログに記録することが不可欠であり、選択肢エが正解となります。
よくある誤解
更新前情報を取得するのはロールバック用であり、ロールフォワード用ではない点を混同しやすいです。
また、トランザクションの取消しと復旧の目的を混同してしまうことも多いです。
また、トランザクションの取消しと復旧の目的を混同してしまうことも多いです。
解法ステップ
- ログの目的を確認する(トランザクション取消しか復旧か)。
- ロールバックは更新前情報を使うことを理解する。
- ロールフォワードは更新後情報を使うことを理解する。
- 選択肢の説明とログの役割を照合する。
- ロールフォワードに対応する更新後情報の選択肢を選ぶ。
選択肢別の誤答解説
- ア:トランザクション取消し(ロールバック)には更新前情報が必要であり、更新後情報は誤りです。
- イ:媒体障害からの復旧はロールフォワードであり、更新前情報ではなく更新後情報が必要です。
- ウ:ロールバック後の再実行は通常行わず、更新後情報を取得するのも誤りです。
- エ:ロールフォワードに備えて更新後情報を取得するため正解です。
補足コラム
DBMSのログには「UNDOログ」と「REDOログ」があります。
UNDOログは更新前情報を記録し、トランザクションのロールバックに使われます。
REDOログは更新後情報を記録し、障害復旧時のロールフォワードに使われます。
この区別を理解すると、ログの役割が明確になります。
UNDOログは更新前情報を記録し、トランザクションのロールバックに使われます。
REDOログは更新後情報を記録し、障害復旧時のロールフォワードに使われます。
この区別を理解すると、ログの役割が明確になります。
FAQ
Q: ロールバックとロールフォワードの違いは何ですか?
A: ロールバックはトランザクションの取消しで更新前情報を使い、ロールフォワードは障害復旧で更新後情報を使います。
A: ロールバックはトランザクションの取消しで更新前情報を使い、ロールフォワードは障害復旧で更新後情報を使います。
Q: なぜ更新後情報がロールフォワードに必要なのですか?
A: 障害発生後に処理を再実行し、最新の状態に戻すために更新後のデータが必要だからです。
A: 障害発生後に処理を再実行し、最新の状態に戻すために更新後のデータが必要だからです。
関連キーワード: DBMSログ, ロールバック, ロールフォワード, 更新前情報, 更新後情報, 障害復旧, トランザクション管理