平成23年度 特別 データベーススペシャリスト試験 午前Ⅱ 問13
テクノロジ/データベースDBMS をシステム障害発生後に再立上げするとき,前進復帰(ロールフォワード)すべきトランザクションと後退復帰(ロールバック)すべきトランザクションの組合せとして,適切なものはどれか。ここで,トランザクションの中で実行される処理内容は次のとおりとする。 トランザクション|データベースに対する Read 回数と Write 回数 T1,T2|Read 10,Write 20 T3,T4|Read 100 T5,T6|Read 20,Write 10 (注:本サイトでは原問題の表を文字表記に変換しています)

出典:平成23年度 特別 データベーススペシャリスト試験 午前Ⅱ 問13
- ア前進復帰:T2,T5/後退復帰:T6
- イ前進復帰:T2,T5/後退復帰:T3,T6
- ウ前進復帰:T1,T2,T5/後退復帰:T6
- エ前進復帰:T1,T2,T5/後退復帰:T3,T6
正解:ア
解説
チェックポイント以降にコミットされた更新トランザクションは前進復帰(ロールフォワード),障害発生時点で未コミットの更新トランザクションは後退復帰(ロールバック)の対象になります。ただし,Write操作を行っていない読取り専用のトランザクション(T3,T4)は,更新内容がないため回復処理の対象にはなりません。図より,T1はチェックポイントより前にコミット済みのため,その更新内容は既に安全に反映されており,前進復帰の対象にする必要はありません。チェックポイント後にコミットしたT2,T5が前進復帰の対象,障害発生時点で未コミットのT6が後退復帰の対象になります。
選択肢ごとの解説
- ア正しい。T3,T4はWriteを行っていないため対象外,T1はチェックポイント前にコミット済みのため対象外です。チェックポイント後にコミットしたT2,T5が前進復帰,障害発生時点で未コミットのT6が後退復帰の対象になります。
- イ誤り。T3はWriteを行っていない読取り専用トランザクションであり,コミットの有無にかかわらず後退復帰の対象にはなりません。
- ウ誤り。T1はチェックポイントより前に既にコミットされ,その更新内容はチェックポイント時点で安全に反映されているため,前進復帰の対象にする必要はありません。
- エ誤り。T1はチェックポイント前にコミット済みのため対象外であり,またT3はWriteを行っていない読取り専用トランザクションのため,後退復帰の対象にはなりません。