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

午前問32

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

分類

テクノロジ系 » データベース » トランザクション処理

正解

解説

  • 同時更新によるデータの不整合を防ぐためにはトランザクションの排他制御を行います。
  • 正しい。DBMSは、ディスクに対する入出力効率を向上させるために、トランザクションの更新をメモリ上のバッファとログファイルに記憶しておき、一定の間隔ごとにまとめてディスクに反映させるという方式をとっています。このディスクと同期を取るタイミングとチェックポイントといいます。チェックポイントまでのトランザクションはディスクに反映済みなので、媒体障害以外の障害(システム障害やトランザクション障害)のときにはチェックポイント以前の回復作業は行う必要はありません。
  • 媒体障害が発生したときには、バックアップファイルを用いてバックアップ時点の状態にした後に、トランザクションの更新後ログを使用したロールフォワードによってデータベースを復元します。
  • トランザクション障害が発生したときには、更新前ログを使用してデータベースをトランザクション以前の状態に戻すロールバックを行います。
© 2010-2019 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop