令和4年度 秋期 システム監査技術者試験 午前II 問21
【問題21】
データベースのデータを更新するトランザクションが、実行途中で異常終了したとき、更新中のデータに対して行われる処理はどれか。
異常終了時点までのトランザクションの更新ログ情報を破棄することによって、データをトランザクション開始前の状態に回復する。
チェックポイント時点からコミットが完了しているトランザクションの更新ログ情報を使ってロールフォワードすることによって、データを回復する。
トランザクションの更新ログ情報を使い異常終了時点までロールフォワードすることによって、データを回復する。
トランザクションの更新ログ情報を使いロールバックすることによって、データをトランザクション開始前の状態に回復する。
【解説】
ア: 異常終了時点までのトランザクションの更新ログ情報を破棄することによって、データをトランザクション開始前の状態に回復する。
誤り。更新ログ情報を破棄するだけではデータ整合性が保たれない場合があるため、適切な回復手順ではありません。
イ: チェックポイント時点からコミットが完了しているトランザクションの更新ログ情報を使ってロールフォワードすることによって、データを回復する。
誤り。これはロールフォワードに関する説明であり、異常終了時の処理としては不適切です。
ウ: トランザクションの更新ログ情報を使い異常終了時点までロールフォワードすることによって、データを回復する。
誤り。異常終了時点までのロールフォワードは、コミットされていないデータを反映することになり、整合性が損なわれます。
エ: トランザクションの更新ログ情報を使いロールバックすることによって、データをトランザクション開始前の状態に回復する。
正しい。ロールバックは、異常終了したトランザクションの未完了な変更を取り消し、データをトランザクション開始前の整合性が保たれた状態に戻します。
【答え】
エ: トランザクションの更新ログ情報を使いロールバックすることによって、データをトランザクション開始前の状態に回復する。
出典:令和4年度 秋期 システム監査技術者試験 午前II 問21