データベースのデータを更新するトランザクションが、実行途中で異常終了したとき、更新中のデータに対して行われる処理はどれか。
ア |
異常終了時点までの更新ログ情報を破棄することによって、データをトランザクション開始前の状態に回復する。 |
イ |
チェックポイント時点からコミット完了しているトランザクションの更新をロールフォワードすることによって、データを回復する。 |
ウ |
トランザクションの更新ログ情報を使って異常終了時点までロールフォワードすることによって、データを回復する。 |
エ |
ロールバックすることによって、データをトランザクション開始前の状態に回復する。 |
答え エ
【解説】
ア |
ログを破棄してもデータは回復しません。 |
イ |
ロールフォワードはデータベースが壊れたときに行う処理です。 |
ウ |
異常終了したトランザクションの処理を取り消したいので、異常終了時点まで戻すことに意味がありません。 |
エ |
トランザクションが異常終了したときは、ロールバックを行い、データをトランザクション開始前の状態に戻します。 |
【キーワード】
・データベースの復旧
【キーワードの解説】
- データベースの復旧
データベースに障害が発生した場合、障害発生直前のチェックポイント時点まではデータを戻すことができる。
チェックポイントから障害発生まででコミットまで行ったトランザクションは、障害発生時には処理が完了しているので、データベースの更新ログを用いて前進復帰する。
また、障害発生時点で処理中のトランザクションは、データベースの更新ログを用いて後退復帰する。
もっと、「データベースの復旧」について調べてみよう。
戻る
一覧へ
次へ
|