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

前進復帰はCP後コミット分、後退復帰は未コミットの更新

応用情報技術者試験2023年度 秋期 午前30/データベース / 障害回復

処理内容表:T1・T2はRead10・Write20、T3・T4はRead100のみ、T5・T6はRead20・Write10。時系列図(左から時間軸、中央に「チェックポイント」の縦帯、右端に「障害発生」の縦線):T1はチェックポイント前に開始しチェックポイント直前でコミット(●)。T2はチェックポイント前に開始し、チェックポイントを跨いでチェックポイント後・障害発生前にコミット(●)。T3はチェックポイント直後に開始し障害発生まで未コミットのまま continue(線のみ、●なし)。T4はチェックポイント前に開始し障害発生まで未コミット(●なし)。T5はチェックポイント後に開始し障害発生前にコミット(●)。T6はチェックポイント後に開始し障害発生まで未コミット(●なし)。凡例:●なしの線=コミットされていないトランザクション、●付きの線=コミットされたトランザクション。
処理内容表:T1・T2はRead10・Write20、T3・T4はRead100のみ、T5・T6はRead20・Write10。時系列図(左から時間軸、中央に「チェックポイント」の縦帯、右端に「障害発生」の縦線):T1はチェックポイント前に開始しチェックポイント直前でコミット(●)。T2はチェックポイント前に開始し、チェックポイントを跨いでチェックポイント後・障害発生前にコミット(●)。T3はチェックポイント直後に開始し障害発生まで未コミットのまま continue(線のみ、●なし)。T4はチェックポイント前に開始し障害発生まで未コミット(●なし)。T5はチェックポイント後に開始し障害発生前にコミット(●)。T6はチェックポイント後に開始し障害発生まで未コミット(●なし)。凡例:●なしの線=コミットされていないトランザクション、●付きの線=コミットされたトランザクション。
トランザクションデータベースに対するRead回数 と Write回数
T1, T2Read 10, Write 20
T3, T4Read 100
T5, T6Read 20, Write 10

選択肢

正解と解説

正解: ロールフォワード:T2, T5/ロールバック:T6

チェックポイント後にコミットしたトランザクションは、更新がまだディスクに反映されていない可能性があるためロールフォワードする。ここではT2とT5が該当し、チェックポイント前にコミット済みのT1は反映済みなので対象外である。障害時に未コミットだったもののうち、更新を行うT6だけがロールバックの対象で、T3とT4はReadだけで更新していないため取り消す必要がない。

選択肢ごとの解説

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

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。