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