令和4年度 秋期 システム監査技術者試験 午前Ⅱ 問21
テクノロジ/データベースデータベースのデータを更新するトランザクションが,実行途中で異常終了したとき,更新中のデータに対して行われる処理はどれか。
出典:令和4年度 秋期 システム監査技術者試験 午前Ⅱ 問21
- ア異常終了時点までのトランザクションの更新ログ情報を破棄することによって,データをトランザクション開始前の状態に回復する。
- イチェックポイント時点からコミットが完了しているトランザクションの更新ログ情報を使ってロールフォワードすることによって,データを回復する。
- ウトランザクションの更新ログ情報を使い異常終了時点までロールフォワードすることによって,データを回復する。
- エトランザクションの更新ログ情報を使いロールバックすることによって,データをトランザクション開始前の状態に回復する。
正解:エ
解説
データベースを更新するトランザクションが実行途中で異常終了した場合,更新中のデータには不整合な(中途半端な)変更が反映されている可能性があるため,DBMSは更新ログ(アンドゥログ)情報を使って,当該トランザクションが変更した内容を取り消すロールバック処理を行い,データをトランザクション開始前の状態に回復します。ロールフォワード(前進復帰)は,コミット済みのトランザクションの更新結果をバックアップに反映させて回復する処理であり,異常終了(未完了)のトランザクションに対して行う処理ではありません。
選択肢ごとの解説
- ア誤り。更新ログ情報を破棄するだけでは,既にデータベースに反映されてしまった中途半端な更新内容を取り消すことはできません。
- イ誤り。コミットが完了しているトランザクションの更新ログを使ってロールフォワードすることは,メディア障害などからの回復時に行う処理であり,異常終了した未コミットのトランザクションに対する処理ではありません。
- ウ誤り。異常終了時点までロールフォワードすることは,未完了のトランザクションによる不整合な更新をそのまま反映させてしまうことになり,適切ではありません。
- エ正しい。トランザクションの更新ログ情報を使ってロールバックすることによって,データをトランザクション開始前の状態に回復します。