データベースのデータを更新するトランザクションが、実行途中で異常終了したとき、更新中のデータに対して行われる処理はどれか。
ア | 異常終了時点までの更新ログ情報を破棄することによって、データをトランザクション開始前の状態に回復する。 |
イ | チェックポイント時点からコミット完了しているトランザクションの更新をロールフォワードすることによって、データを回復する。 |
ウ | トランザクションの更新ログ情報を使い異常終了時点までロールフォワードすることによって、データを回復する。 |
エ | トランザクションの更新ログ情報を使いロールバックすることによって、データをトランザクション開始前の状態に回復する。 |
答え エ
【解説】
データベースのデータを更新するトランザクションが実行途中に異常終了したので、行う回復処理としては異常終了したトランザクションが更新したデータを元に戻し、トランザクション実行前の状態に戻す必要があります。
ア | ログを破棄してもデータは回復しません。(×) |
イ | ロールフォワードはデータベースが壊れたときに行う処理です。(×) |
ウ | 異常終了したトランザクションの処理を取り消したいので、異常終了時点まで戻すことに意味がありません。(×) |
エ | トランザクションが異常終了したときは、更新ログ情報を使いロールバックを行って、データをトランザクション開始前の状態に戻します。(〇) |
【キーワード】
・データベースの復旧