応用情報技術者試験ナビ ロゴ 応用情報技術者試験ナビ
次回試験日:2025年4月20日(あと1日)

応用情報技術者試験 令和4年秋 午前問29 解説付き過去問

問題

チェックポイントを取得するDBMSにおいて、図のような時間経過でシステム障害が発生した。 前進復帰(ロールフォワード)によって障害回復できるトランザクションだけを全て挙げたものはどれか。

正解

解説

この問題は、データベースにおける障害発生時の回復手法としてのロールフォワード(前進復帰)に関する理解が問われています。特に、どのトランザクションがログを基に復元される対象となるかを正しく判断できるかが重要です。

  1. ロールフォワードの概要
    ロールフォワードとは、システム障害からの回復処理において、直前のチェックポイント以降に「コミット」されたトランザクションの更新内容を、ログを用いて再実行することです。
    これにより、トランザクションの永続性(コミットされた処理は失われてはならない)を保証します。

  2. トランザクションの状態別分類
    図の中の各トランザクションは次のように分類されます。
    1. T1
      チェックポイント以前にすでにコミットされているため、ログによる復元も不要です。

    2. T2・T3
      チェックポイント後に開始されたものの、障害発生時点までにコミットされていないため、ロールバック(巻き戻し)の対象になります。

    3. T4・T5
      チェックポイント後に開始され、かつ障害発生前にコミットされているため、ロールフォワードにより再実行される対象となります。

  3. ポイントの整理
    ロールフォワードでは、「チェックポイント以降に開始され、かつ障害発生前にコミットされたトランザクション」が対象となります。図から該当するのはT4とT5です。

したがって、ロールフォワードによって回復されるトランザクションは「T4とT5」であり、これが正解です。