IPA過去問ドリル

平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問14

テクノロジ/データベース

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

出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問14

正解:イ

解説

DBMSは,一定の間隔でチェックポイントを取得し,その時点までにデータベースバッファ上にある更新済みデータをデータベース(ディスク)に書き出す。システムが媒体障害以外の原因(電源断やソフトウェア異常など)で停止した場合,直前のチェックポイント取得以前に既にコミットして完了していたトランザクションについては,その更新内容が既にデータベースに反映されていることが保証されるため,改めて回復作業(ロールフォワードなど)を行う必要はない。回復作業が必要になるのは,チェックポイント以降にコミットした,あるいは実行途中であったトランザクションだけである。

選択肢ごとの解説

  • 誤り。同一データベースへの同時更新によって生じる論理的な矛盾を防ぐのは,ロック(排他制御)による同時実行制御の役割であり,“データのブロック化”という一般的な障害回復・排他制御の手法は存在しない。
  • 正しい。チェックポイントの取得時点までに既にコミットして完了していたトランザクションの更新内容は,チェックポイント処理によって既にデータベースに反映されているため,その後システムが媒体障害以外の原因で停止しても,これらのトランザクションについて改めて回復作業を行う必要はない。
  • 誤り。データベースの媒体障害からの回復では,バックアップファイルをリストアした後,ログファイルの更新後情報(アフターイメージ)を用いてロールフォワード(再実行)することでデータを最新の状態に戻す。更新前情報を用いるのは誤りである。
  • 誤り。トランザクション処理プログラムが更新途中で異常終了した場合は,その未完了のトランザクションによる変更を取り消す(ロールバックする)必要があり,そのためにはログファイルの更新前情報(ビフォアイメージ)を使用する。更新後情報を用いるのは誤りである。
データベーススペシャリストの過去問を演習モードで解く