平成21年度秋期 応用情報技術者試験 午前 問32

分野:データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計)|実際に出題されたIPA過去問題

データベースの障害回復処理に関する記述のうち,適切なものはどれか。

  1.  異なるトランザクション処理プログラムが,同一データベースを同時更新することによって生じる論理的な矛盾を防ぐために,データのブロック化が必要となる。
  2.  システムが媒体障害以外の原因によって停止した場合,チェックポイントの取得以前に終了したトランザクションについての回復作業は不要である。
  3.  データベースの媒体障害に対して,バックアップファイルをリストアした後,ログファイルの更新前情報を使用してデータの回復処理を行う。
  4.  トランザクション処理プログラムがデータベースの更新中に異常終了した場合には,ログファイルの更新後情報を使用してデータの回復処理を行う。
解答・解説を見る

正解:イ

AI解説

チェックポイント取得前に正常終了していたトランザクションは、更新結果がすでにディスクへ反映済みとみなせるため、システム障害からの再起動時に改めて回復処理(redo/undo)を行う必要はない。この「チェックポイント以前の完了トランザクションは対象外」という原則が正解の根拠である。 ア: 誤り。同時実行制御による論理的矛盾を防ぐのは排他制御(ロック)であり、データのブロック化(物理的なまとめ)とは関係がない。 イ: 正しい。媒体障害以外(システムダウン等)からの回復では、チェックポイント取得以前に終了していたトランザクションは更新内容が確定済みとみなされ、回復作業は不要である。 ウ: 誤り。媒体障害からの回復は、バックアップをリストアした後、ログの更新後情報(ロールフォワード用情報)を使って復旧する。更新前情報はロールバック(undo)に使う情報であり、ここでは逆である。 エ: 誤り。更新中の異常終了時は、未完了トランザクションの変更を取り消すために更新前情報(undo情報)を使ってロールバックする。更新後情報を使うのは誤りで、これは媒体障害時のロールフォワードで使う情報である。 💡 ログの「更新前情報=ロールバック(undo)」「更新後情報=ロールフォワード(redo、主に媒体障害時)」という対応を混同しないこと。チェックポイント以前完了分は再処理不要という点も頻出。

出典:平成21年度 秋期 応用情報技術者試験 午前 問32 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「データベース」分野の攻略ポイント

関係モデル・正規化・SQL・トランザクション管理・障害回復・データベース設計が中心です。計算問題は少なく、定義と手順を正確に覚えていれば確実に得点できる、いわば「取りこぼしてはいけない」分野です。特に正規形とACID特性は毎年のように形を変えて出ます。

データベースの攻略ポイントをすべて見る(要点5項目・ひっかけ3項目)→

同じ分野(データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計))の過去問