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