トランザクション処理(全65問中64問目)
No.64解説へ
チェックポイントを取得するDBMSにおいて,図のような時間経過でシステム障害が発生した。前進復帰(ロールフォワード)によって障害回復できるすべてのトランザクションはどれか。
出典:平成17年春期 問68
- T1
- T2 と T3
- T4 と T5
- T5
正解 ウ問題へ
広告
解説
ロールフォワード(前進復帰)は、データベースシステムに障害が起こったとき、トランザクションの更新後ログを使用することで過去に処理したトランザクションを再現し、システム障害の直前までデータベースの状態を回復させる処理です。
システム障害から復帰すると、データベースの状態はチェックポイント時点のデータに戻ります。トランザクションには、処理がすべて実行されるか・全く実行されないかのどちらか終了する性質(原子性)と、一旦正常終了したトランザクションの結果は、その後システムに障害が発生しても失われない性質(永続性)が要求されますから、復帰後はこの性質を満たすためにロールフォワードやロールバックが行われます。
図の5つのトランザクションは、復帰後の対処によって3つのグループに分かれます。
システム障害から復帰すると、データベースの状態はチェックポイント時点のデータに戻ります。トランザクションには、処理がすべて実行されるか・全く実行されないかのどちらか終了する性質(原子性)と、一旦正常終了したトランザクションの結果は、その後システムに障害が発生しても失われない性質(永続性)が要求されますから、復帰後はこの性質を満たすためにロールフォワードやロールバックが行われます。
図の5つのトランザクションは、復帰後の対処によって3つのグループに分かれます。
- T1
- チェックポイント前にコミットされているので、コミットの内容は復帰後のデータベースに反映されている。よって、何もしない。
- T2、T3
- トランザクション処理中に障害が起こったので、原子性に基づき、データベースをトランザクション開始前の状態に戻す。よって、ロールバックを行う。
- T4、T5
- チェックポイント後、障害発生前にコミットがあったので、永続性に基づき、失われたコミットの内容を復帰後のデータベースに反映させる。よって、ロールフォワードを行う。
広告