平成27年度秋期 応用情報技術者試験 午前 問30
チェックポイントを取得するDBMSにおいて,図のような時間経過でシステム障害が発生した。前進復帰(ロールフォワード)によって障害回復できるトランザクションだけを全て挙げたものはどれか。

- ア T1
- イ T2とT3
- ウ T4とT5
- エ T5
解答・解説を見る
正解:ウ
AI解説
正解はウ(T4とT5)。障害回復では,チェックポイント(その時点のメモリ上の更新内容をディスクに書き出した地点)以降にコミットが完了したトランザクションは,更新結果がディスクに反映済みとは限らないため,ログの更新後情報を使って前進復帰(ロールフォワード)する。障害発生時点で未コミットのトランザクションは更新前情報で後退復帰(ロールバック)する。図ではチェックポイント後にコミットしたT4・T5がロールフォワード対象である。 ア: T1はチェックポイント前にコミット済みで,更新内容はチェックポイント時点でディスクに反映されているため回復処理は不要である。 イ: T2・T3は障害発生時点でコミットしていないため,更新前情報によるロールバックの対象である。 ウ: 正しい。チェックポイント後・障害前にコミットを完了したT4とT5が,更新後情報によるロールフォワードの対象である。 エ: T5だけでなくT4もチェックポイント後にコミットしているので,T5のみでは不十分である。 💡 「コミット済み→ロールフォワード(ただしチェックポイント前完了分は不要)」「未コミット→ロールバック」の2分類で機械的に判定する。基準は障害時点でコミットしているか,そのコミットがチェックポイントの後かの2点だけである。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。