令和3年度秋期 応用情報技術者試験 午前 問27
データベースの障害回復処理に関する記述として,適切なものはどれか。
- ア 異なるトランザクション処理プログラムが,同一データベースを同時更新することによって生じる論理的な矛盾を防ぐために,データのブロック化が必要となる。
- イ システムが媒体障害以外のハードウェア障害によって停止した場合,チェックポイントの取得以前に終了したトランザクションについての回復作業は不要である。
- ウ データベースの媒体障害に対して,バックアップファイルをリストアした後,ログファイルの更新前情報を使用してデータの回復処理を行う。
- エ トランザクション処理プログラムがデータベースの更新中に異常終了した場合には,ログファイルの更新後情報を使用してデータの回復処理を行う。
解答・解説を見る
正解:イ
AI解説
チェックポイント方式では、定期的に主記憶の更新情報をデータベースに反映しチェックポイントを記録する。媒体障害以外のハードウェア障害でシステムが停止した場合、直近のチェックポイント取得より前に正常終了していたトランザクションは既にデータベースへ反映済みであるため、改めて回復処理(ロールフォワードなど)を行う必要はない。 ア: データのブロック化は入出力の効率化を目的とする技術であり、同時更新による論理的な矛盾を防ぐ仕組みは排他制御(ロック)であるため、この記述は誤りである。 イ: チェックポイント取得以前に終了していたトランザクションは既に更新結果がデータベースに反映済みであり、回復作業(再実行)は不要である。これが正解である。 ウ: 媒体障害からの回復は、バックアップをリストアした後、ログの更新後情報を使ってロールフォワード(再実行)するのが一般的な手順であり、更新前情報を使うという記述は誤りである(更新前情報はロールバックに使う)。 エ: 更新中に異常終了したトランザクションは、ログの更新前情報を使ってロールバック(取消し)するのが正しい処理であり、更新後情報を使うという記述は誤りである。 💡 『ロールバック=更新前情報を使って取り消す』『ロールフォワード=更新後情報を使ってやり直す』の対応、およびチェックポイント以前の完了トランザクションは回復不要、という3点セットを覚えておく。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。