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

平成23年度 特別 午前Ⅱ 問13

トランザクション処理

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

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 だけで書込みが無く、戻す更新がありません。書込みのある T6 だけが後退復帰です。コミットの時点、チェックポイントの位置、書込みの有無を順に確かめるのが解き方です。

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

この問題の用語

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

同じ用語が出る問題

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