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

令和5年度 秋期 午前 問30

データベース

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

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

〔トランザクションの処理内容〕

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

〔時間の流れ〕

左から右へ時間が進む。途中に「チェックポイント」,右端に「障害発生」の縦線。
線の右端の ● はコミットされたことを示す(● が無い線はコミットされていない)。

T1 … 始まり ─── ● (チェックポイントより前にコミット)
T2 … チェックポイント前に始まり ─── チェックポイントを越えた先で ●
T3 … チェックポイントの後に始まり ─── 障害発生まで(● 無し)
T4 … チェックポイント前に始まり ─── 障害発生まで(● 無し)
T5 … チェックポイントの後に始まり ─── 障害発生より前で ●
T6 … チェックポイントの後に始まり ─── 障害発生まで(● 無し)
答えと解説を見る

✓ これが正解アロールフォワード T2, T5 / ロールバック T6

解説

書いていないトランザクションは回復の対象外です。

設問は、システム障害の発生後に DBMS を再立上げするとき、ロールフォワードすべきものとロールバックすべきものの組合せを問うています。確かめる点は二つあり、両方を見ないと外します。一つ目は処理内容の表です。読出しだけでデータベースを一度も書き換えていないものは、進めるものも戻すものもないので、回復の対象になりません。二つ目は時間の図です。チェックポイントは、それまでの更新内容をバッファからディスクへまとめて書き出す点なので、その前にコミットが済んでいるものは、すでに書き終わっています。したがって進めるのは、チェックポイントより後にコミットしたもの、すなわち T2 と T5 です。戻すのは、コミットしないまま障害を迎えたもののうち更新を行ったもの、すなわち T6 だけです。正解はこの組合せになります。

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

この問題の用語

出典:令和5年度 秋期 応用情報技術者試験 午前 問30

同じ用語が出る問題

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