応用情報技術者 2012年 春期 午前2 問31
問題文
DBMSの媒体障害時の回復法はどれか。
選択肢
ア:障害発生時、異常終了したトランザクションをロールバックする。
イ:障害発生時点でコミットしていたが、データベースの実更新がされていないトランザクションをロールフォワードする。
ウ:障害発生時点で、まだコミットもアボートもしていなかった全てのトランザクションをロールバックする。
エ:バックアップコピーでデータベースを復元し、バックアップ取得以降にコミットした全てのトランザクションをロールフォワードする。(正解)
DBMSの媒体障害時の回復法【午前2 解説】
要点まとめ
- 結論:媒体障害時はバックアップから復元し、コミット済みトランザクションをロールフォワードで反映します。
- 根拠:媒体障害は記憶装置の物理的故障であり、最新データはバックアップとログから復旧する必要があります。
- 差がつくポイント:ロールバックは異常終了トランザクションの処理であり、媒体障害の全体復旧にはバックアップ復元とロールフォワードが必須です。
正解の理由
選択肢エは、媒体障害発生時に「バックアップコピーでデータベースを復元」し、その後「バックアップ取得以降にコミットした全てのトランザクションをロールフォワード」する手順を示しています。これは媒体障害時の標準的な回復手順であり、障害発生時点の最新状態を正確に復元できます。バックアップは障害前の安全な状態を保証し、ロールフォワードは障害後のログを使ってコミット済みの更新を反映するため、データの整合性が保たれます。
よくある誤解
ロールバックは異常終了したトランザクションの処理であり、媒体障害全体の復旧には不十分です。コミット済みの更新を反映しないと最新データが失われます。
解法ステップ
- 媒体障害とは記憶装置の物理的故障であることを理解する。
- 障害発生時点のデータは破損しているため、バックアップからの復元が必要。
- バックアップ取得以降にコミットされたトランザクションの更新はログに記録されている。
- ログを用いてコミット済みトランザクションの更新をロールフォワードで反映する。
- ロールバックは異常終了トランザクションの処理であり、媒体障害回復の主手段ではないことを確認する。
選択肢別の誤答解説
- ア: 異常終了トランザクションのロールバックは重要だが、媒体障害時の全体復旧には不十分。
- イ: コミット済みトランザクションのロールフォワードは正しいが、バックアップ復元が抜けている。
- ウ: コミットもアボートもしていないトランザクションのロールバックは必要だが、媒体障害回復の全体像ではない。
- エ: バックアップ復元とロールフォワードを組み合わせた正しい媒体障害回復手順。
補足コラム
媒体障害回復は「バックアップ」と「ログ」の組み合わせが基本です。バックアップは障害前の安全な状態を保存し、ログは障害後の更新を追跡します。これにより、障害発生時点のデータ整合性を保ちながら復旧できます。ロールフォワードはログの順に更新を適用し、ロールバックは未完了トランザクションの取り消しに使われます。
FAQ
Q: ロールバックとロールフォワードの違いは何ですか?
A: ロールバックは未完了トランザクションの変更を取り消す処理、ロールフォワードはログを使ってコミット済みの更新を再適用する処理です。
A: ロールバックは未完了トランザクションの変更を取り消す処理、ロールフォワードはログを使ってコミット済みの更新を再適用する処理です。
Q: 媒体障害時にログだけで回復できませんか?
A: いいえ。ログは更新履歴を記録しますが、媒体障害でデータが消失した場合はバックアップからの復元が必須です。
A: いいえ。ログは更新履歴を記録しますが、媒体障害でデータが消失した場合はバックアップからの復元が必須です。
関連キーワード: DBMS, 媒体障害、バックアップ、ロールフォワード、ロールバック、トランザクション管理、データベース回復

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

