過去問解きまくり研究所 ホーム

令和7年度 秋期 午前Ⅱ 問12

トランザクション処理

ロールフォワードに関する問題

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

トランザクションデータベースに対するRead回数 と Write回数
T1,T2Read 10,Write 20
T3,T4Read 100
T5,T6Read 20,Write 10

トランザクションの実行状況(時間軸の図):

凡例(原典の逐語):
  ────  はコミットされていないトランザクションを示す。
  ────● はコミットされたトランザクションを示す。

時間 →
T1: チェックポイント前に開始 ─── チェックポイント前に● (コミット)
T2: チェックポイント前に開始 ─── チェックポイントをまたぎ,障害発生前に● (コミット)
T3: チェックポイント後に開始 ─── 障害発生時点まで続く(コミットされていない)
T4: チェックポイント前に開始 ─── チェックポイントをまたぎ,障害発生時点まで続く(コミットされていない)
T5: チェックポイント後に開始 ─── 障害発生前に● (コミット)
T6: チェックポイント後に開始 ─── 障害発生時点まで続く(コミットされていない)

選択肢は原典ではロールフォワード・ロールバックの表。

答えと解説を見る

✓ これが正解アロールフォワード:T2,T5 / ロールバック:T6

解説

T2・T5 はロールフォワード、更新した未コミットの T6 はロールバックです。

チェックポイントでは更新内容がデータベースに書き出されるので、それより前にコミットした T1 は回復処理の対象外です。チェックポイントのあとに障害発生までにコミットした T2 と T5 は、更新がデータベースに書かれていないおそれがあるので、ログを使ってロールフォワードします。障害発生時にコミットしていない T3、T4、T6 のうち、取り消す必要があるのはデータベースを更新したものだけです。T3 と T4 は Read だけで Write がないので戻す更新がなく、Write のある T6 だけをロールバックします。見分ける軸は、コミットした時点とチェックポイントの前後、そして Write の有無の二つです。

ほかの選択肢はなぜ違うのか

この問題の用語

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

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)