応用情報技術者 2009年 秋期 午前2 問32
問題文
データベースの障害回復処理に関する記述のうち、適切なものはどれか。
選択肢
ア:異なるトランザクション処理プログラムが、同一データベースを同時更新することによって生じる論理的な矛盾を防ぐために、データのブロック化が必要となる。
イ:システムが媒体障害以外の原因によって停止した場合、チェックポイントの取得以前に終了したトランザクションについての回復作業は不要である。(正解)
ウ:データベースの媒体障害に対して、バックアップファイルをリストアした後、ログファイルの更新前情報を使用してデータの回復処理を行う。
エ:トランザクション処理プログラムがデータベースの更新中に異常終了した場合には、ログファイルの更新後情報を使用してデータの回復処理を行う。
データベースの障害回復処理に関する問題【午前2 解説】
要点まとめ
- 結論:システム停止時、チェックポイント以前に終了したトランザクションは回復不要である。
- 根拠:チェックポイントは正常終了したトランザクションの状態を確定し、回復範囲を限定するための基準点となる。
- 差がつくポイント:ログファイルの更新前情報と更新後情報の使い分けや、媒体障害と論理的矛盾の区別を正確に理解すること。
正解の理由
イは「システムが媒体障害以外の原因で停止した場合、チェックポイント以前に終了したトランザクションの回復は不要」と述べています。これは、チェックポイント時点で正常終了したトランザクションの状態が確定しているため、その後の回復処理で再度処理する必要がないことを示しています。したがって、回復作業の効率化と正確性を保つために重要な考え方です。
よくある誤解
- ログファイルの更新前情報と更新後情報の役割を混同し、回復処理の手順を誤解しやすいです。
- 論理的矛盾の防止に「データのブロック化」が必要とする説明は誤りで、正しくはロック制御です。
解法ステップ
- 問題文の「障害回復処理」に注目し、回復の基本概念を思い出す。
- チェックポイントの役割を理解し、回復対象のトランザクションを区別する。
- 各選択肢の用語(媒体障害、論理的矛盾、ログファイルの更新前後情報)を正確に把握する。
- 回復処理の流れに沿って、正しい説明を選ぶ。
選択肢別の誤答解説
- ア:論理的矛盾防止には「ロック制御」が必要であり、「データのブロック化」は誤り。
- イ:正解。チェックポイント以前に終了したトランザクションは回復不要。
- ウ:媒体障害回復ではログの「更新後情報」を使い、更新前情報はロールバック時に使用。説明が逆。
- エ:異常終了時はログの「更新前情報」を使ってロールバックし、更新後情報はコミット後の反映に使うため誤り。
補足コラム
データベースの障害回復処理は、トランザクションのACID特性を維持するために不可欠です。特に「チェックポイント」は、障害発生時の回復範囲を限定し、回復時間を短縮する役割を持ちます。また、ログファイルの更新前情報(UNDO情報)と更新後情報(REDO情報)を適切に使い分けることで、データの整合性を保ちます。
FAQ
Q: チェックポイントとは何ですか?
A: チェックポイントは、データベースの状態をディスクに確定保存し、回復時の基準点となる処理です。
A: チェックポイントは、データベースの状態をディスクに確定保存し、回復時の基準点となる処理です。
Q: 更新前情報と更新後情報はどのように使い分けますか?
A: 更新前情報はトランザクションのロールバックに使い、更新後情報は障害後の再実行(リドゥ)に使います。
A: 更新前情報はトランザクションのロールバックに使い、更新後情報は障害後の再実行(リドゥ)に使います。
関連キーワード: 障害回復、チェックポイント、トランザクション、ログファイル、ロールバック、リドゥ、ACID, 媒体障害

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

