IPA過去問ドリル

平成23年度 特別 データベーススペシャリスト試験 午前Ⅱ 問13

テクノロジ/データベース

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

平成23年度 特別 データベーススペシャリスト試験 午前Ⅱ 問13の図

出典:平成23年度 特別 データベーススペシャリスト試験 午前Ⅱ 問13

正解:ア

解説

チェックポイント以降にコミットされた更新トランザクションは前進復帰(ロールフォワード),障害発生時点で未コミットの更新トランザクションは後退復帰(ロールバック)の対象になります。ただし,Write操作を行っていない読取り専用のトランザクション(T3,T4)は,更新内容がないため回復処理の対象にはなりません。図より,T1はチェックポイントより前にコミット済みのため,その更新内容は既に安全に反映されており,前進復帰の対象にする必要はありません。チェックポイント後にコミットしたT2,T5が前進復帰の対象,障害発生時点で未コミットのT6が後退復帰の対象になります。

選択肢ごとの解説

  • 正しい。T3,T4はWriteを行っていないため対象外,T1はチェックポイント前にコミット済みのため対象外です。チェックポイント後にコミットしたT2,T5が前進復帰,障害発生時点で未コミットのT6が後退復帰の対象になります。
  • 誤り。T3はWriteを行っていない読取り専用トランザクションであり,コミットの有無にかかわらず後退復帰の対象にはなりません。
  • 誤り。T1はチェックポイントより前に既にコミットされ,その更新内容はチェックポイント時点で安全に反映されているため,前進復帰の対象にする必要はありません。
  • 誤り。T1はチェックポイント前にコミット済みのため対象外であり,またT3はWriteを行っていない読取り専用トランザクションのため,後退復帰の対象にはなりません。
データベーススペシャリストの過去問を演習モードで解く