IPA過去問ドリル

令和4年度 秋期 システム監査技術者試験 午前Ⅱ 問21

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

データベースのデータを更新するトランザクションが,実行途中で異常終了したとき,更新中のデータに対して行われる処理はどれか。

出典:令和4年度 秋期 システム監査技術者試験 午前Ⅱ 問21

正解:エ

解説

データベースを更新するトランザクションが実行途中で異常終了した場合,更新中のデータには不整合な(中途半端な)変更が反映されている可能性があるため,DBMSは更新ログ(アンドゥログ)情報を使って,当該トランザクションが変更した内容を取り消すロールバック処理を行い,データをトランザクション開始前の状態に回復します。ロールフォワード(前進復帰)は,コミット済みのトランザクションの更新結果をバックアップに反映させて回復する処理であり,異常終了(未完了)のトランザクションに対して行う処理ではありません。

選択肢ごとの解説

  • 誤り。更新ログ情報を破棄するだけでは,既にデータベースに反映されてしまった中途半端な更新内容を取り消すことはできません。
  • 誤り。コミットが完了しているトランザクションの更新ログを使ってロールフォワードすることは,メディア障害などからの回復時に行う処理であり,異常終了した未コミットのトランザクションに対する処理ではありません。
  • 誤り。異常終了時点までロールフォワードすることは,未完了のトランザクションによる不整合な更新をそのまま反映させてしまうことになり,適切ではありません。
  • 正しい。トランザクションの更新ログ情報を使ってロールバックすることによって,データをトランザクション開始前の状態に回復します。
システム監査技術者の過去問を演習モードで解く