令和7年度 秋期 データベーススペシャリスト試験 午前II 問12

テクノロジデータベース

この問題は2025(R7)秋 データベーススペシャリスト 午前IIに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

DBMSをシステム障害発生後に再立上げするとき,ロールフォワードすべきトランザクションとロールバックすべきトランザクションの組合せとして,適切なものはどれか。ここで,トランザクションの中で実行される処理内容は次のとおりとする。

トランザクションの処理内容
図の説明テキスト

トランザクションの処理内容を示す表。

トランザクション データベースに対する Read 回数 と Write 回数
T1, T2 Read 10, Write 20
T3, T4 Read 100
T5, T6 Read 20, Write 10
トランザクションの実行タイミングと状態
図の説明テキスト

横軸を時間としたトランザクション(T1〜T6)の実行タイミングと状態を示す図。途中に「チェックポイント」の縦枠、その右側に「障害発生」の縦線が引かれている。

  • T1: チェックポイント前に開始し、チェックポイント前に終了(黒丸)
  • T2: チェックポイント前に開始し、チェックポイントと障害発生の間に終了(黒丸)
  • T3: チェックポイント前に開始し、障害発生まで終了していない(黒丸なし)
  • T4: チェックポイント内で開始し、障害発生まで終了していない(黒丸なし)
  • T5: チェックポイント後に開始し、障害発生前に終了(黒丸)
  • T6: チェックポイント後に開始し、障害発生まで終了していない(黒丸なし)

【凡例】

  • 直線のみ: はコミットされていないトランザクションを示す。
  • 直線の終端に黒丸: はコミットされたトランザクションを示す。

解答・解説を読む

正解: 選択肢

DBMSにおけるシステム障害からの回復手順では、障害発生時点でのトランザクションの進行状況によって、ロールフォワード(前進復帰)とロールバック(後退復帰)を使い分けます。

  • ロールフォワードの対象
    障害発生前にコミット(処理完了)しているトランザクションが対象です。ログファイルの更新後ログを用いて、トランザクションの結果をデータベースに反映させます。今回のケースでは、T2T5が障害発生前にコミットされているため、ロールフォワードの対象となります。

  • ロールバックの対象
    障害発生時に実行中(未コミット)であったトランザクションが対象です。ログファイルの更新前ログを用いて、トランザクション開始前の状態に戻します。今回のケースでは、T6が障害発生時に実行中であるため、ロールバックの対象となります。

※ 障害発生前にアボート(異常終了)したトランザクションや、チェックポイント前に完了してデータベースへの書き出しが済んでいるトランザクション(T1T3など)は、回復処理の対象外となります。

各選択肢の解説

  • : 正解です。障害発生前にコミット済みのT2, T5をロールフォワードし、実行中だったT6をロールバックします。
  • : T3は回復処理の対象外であるため、ロールバック対象に含めるのは誤りです。
  • : T1はチェックポイント取得時に既に完了し、データベースに反映されているため、ロールフォワードの対象外です。
  • : T1をロールフォワード対象、T3をロールバック対象に含めている点が両方とも誤りです。