2022年 秋期 システム監査技術者 午前 問21

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

 ア  異常終了時点までの更新ログ情報を破棄することによって、データをトランザクション開始前の状態に回復する。
 イ  チェックポイント時点からコミット完了しているトランザクションの更新をロールフォワードすることによって、データを回復する。
 ウ  トランザクションの更新ログ情報を使い異常終了時点までロールフォワードすることによって、データを回復する。
 エ  トランザクションの更新ログ情報を使いロールバックすることによって、データをトランザクション開始前の状態に回復する。


答え エ


解説
データベースのデータを更新するトランザクションが実行途中に異常終了したので、行う回復処理としては異常終了したトランザクションが更新したデータを元に戻し、トランザクション実行前の状態に戻す必要があります。

 ア  ログを破棄してもデータは回復しません。(×)
 イ  ロールフォワードはデータベースが壊れたときに行う処理です。(×)
 ウ  異常終了したトランザクションの処理を取り消したいので、異常終了時点まで戻すことに意味がありません。(×)
 エ  トランザクションが異常終了したときは、更新ログ情報を使いロールバックを行って、データをトランザクション開始前の状態に戻します。(〇)


キーワード
・データベースの復旧

キーワードの解説
  • データベースの復旧
    データベースに障害が発生した場合、障害発生直前のチェックポイント時点まではデータを戻すことができる。
    チェックポイントから障害発生まででコミットまで行ったトランザクションは、障害発生時には処理が完了しているので、データベースの更新ログを用いて前進復帰する。
    また、障害発生時点で処理中のトランザクションは、データベースの更新ログを用いて後退復帰する。

もっと、「データベースの復旧<」について調べてみよう。

戻る 一覧へ 次へ