令和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におけるシステム障害からの回復手順では、障害発生時点でのトランザクションの進行状況によって、ロールフォワード(前進復帰)とロールバック(後退復帰)を使い分けます。
ロールフォワードの対象
障害発生前にコミット(処理完了)しているトランザクションが対象です。ログファイルの更新後ログを用いて、トランザクションの結果をデータベースに反映させます。今回のケースでは、T2とT5が障害発生前にコミットされているため、ロールフォワードの対象となります。ロールバックの対象
障害発生時に実行中(未コミット)であったトランザクションが対象です。ログファイルの更新前ログを用いて、トランザクション開始前の状態に戻します。今回のケースでは、T6が障害発生時に実行中であるため、ロールバックの対象となります。
※ 障害発生前にアボート(異常終了)したトランザクションや、チェックポイント前に完了してデータベースへの書き出しが済んでいるトランザクション(T1、T3など)は、回復処理の対象外となります。
各選択肢の解説
- ア: 正解です。障害発生前にコミット済みのT2, T5をロールフォワードし、実行中だったT6をロールバックします。
- イ: T3は回復処理の対象外であるため、ロールバック対象に含めるのは誤りです。
- ウ: T1はチェックポイント取得時に既に完了し、データベースに反映されているため、ロールフォワードの対象外です。
- エ: T1をロールフォワード対象、T3をロールバック対象に含めている点が両方とも誤りです。