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

平成28年度 秋期 午前 問30

データベース

トランザクションの組合せ

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

原典の表(上に文字で写した):

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

原典の図(上に文字で写した・時間は左から右へ流れる):

                チェックポイント        障害発生
T1  ───────●    |                    |
T2  ──────────|─────────●          |
T3            |  ───────────────────|
T4  ──────────|─────────────────────|
T5            |  ─────────●          |
T6            |  ──────────────────|

─────  はコミットされていないトランザクションを示す。
─────● はコミットされたトランザクションを示す。
ロールフォワードロールバック
アT2, T5T6
イT2, T5T3, T6
ウT1, T2, T5T6
エT1, T2, T5T3, T6
答えと解説を見る

✓ これが正解アT2, T5 T6

解説

更新の有無・コミット・記録点の前後で分けます。

設問は、障害の後の再立上げで、ロールフォワードすべきトランザクションとロールバックすべきトランザクションの組合せを選ばせています。ふるいは三つあり、順に掛けます。まず、データベースを書き換えたかどうかを見ます。読み出すだけのものは、進め直す更新も取り消す更新も持たないので、どちらの対象にもなりません。次に、コミット済みかどうかを見ます。コミット済みの更新はログを使って進め直し、未コミットの更新は取り消して元に戻します。最後に、チェックポイントより前か後かを見ます。チェックポイントの時点までの更新は既に書き出されているので、それより前にコミットしたものを進め直す必要はありません。三つを順に当てると、進め直すのは T2 と T5、取り消すのは T6 になります。

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

この問題の用語

出典:平成28年度 秋期 応用情報技術者試験 午前 問30

同じ用語が出る問題

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