正解 エ 次の問題へ

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

ア 異常終了時点までの更新ログ情報を破棄することによって、データをトランザクション開始前の状態に回復する。

イ チェックポイント時点からコミット完了しているトランザクションの更新をロールフォワードすることによってデータを回復する。

ウ ドラザクションの更新ログ情報を使って異常終了時点までロールフォワードすることによって、データを回復する。

エ ロールバックすることによって、データをトランザクション開始前の状態に回復する。

解説

ア 不正解
 更新ログ情報はトランザクションをコミットした段階でログファイルに出力されます。ログバッファの更新ログを破棄するという意味では間違いとも言い切れませんが、ロールバックが抜けているので不完全です。

イ 不正解
 データベースに障害が発生した時の、バックアップからのリカバリ処理の説明です。ロールフォワードに加えて、コミットが完了していないトランザクションのロールバックも併せて行います。

ウ 不正解
 異常終了したトランザクションのデータを回復するのは危険です。ロールバック後に問題を取り除いて再実行するべきなので間違いです。

エ 正解
 正しい説明です。