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

平成27年度 春期 午前Ⅱ 問14

トランザクション処理

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

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

解説

チェックポイント後にコミットした更新はやり直し、未コミットの更新は取り消します。

システム障害の後は、最後のチェックポイントを起点に回復します。チェックポイントでは、それまでの更新がデータベースに書き出されています。チェックポイントより前にコミットしたT1は、更新がすでに反映済みなので何もしません。チェックポイントの後、障害の前にコミットしたT2とT5は、更新がデータベースに書き出されていない可能性があるので、ログの更新後情報でロールフォワードします。障害時点で未コミットのものは取り消しますが、T3とT4はReadだけでWriteがないため、取り消すべき更新がありません。Writeを含むT6だけがロールバックの対象です。コミットの時期と、更新があるかどうかの二つで分けるのがこの問いの要点です。

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

この問題の用語

出典:平成27年度 春期 データベーススペシャリスト試験 午前Ⅱ 問14

同じ用語が出る問題

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