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

データベーススペシャリスト 令和5年秋期 午前Ⅰ 問9

トランザクションがコミットされると、DBMSは更新情報をメモリバッファとログファイルに書き出します。ログファイルは即座にディスクに書き出され、メモリバッファの内容は定期的にディスクに反映されます。このタイミングを「チェックポイント」といい、チェックポイント以前にコミットしたトランザクションのディスクへの反映が保証されます。

システム障害後、データベースはチェックポイントの状態に戻り、ロールバックとロールフォワードでデータベースを障害発生直前の状態に回復します。ロールフォワードはコミット済みのトランザクションを反映し、ロールバックは未コミットのトランザクションを元の状態に戻します。

図から、T1はリカバリ不要、T2とT5はロールフォワード、T6はロールバック対象です。T3とT4は書き込みがないためロールバック対象外です。