ソフトウェア開発技術者平成17年春期 午前問68

問68

チェックポイントを取得するDBMSにおいて,図のような時間経過でシステム障害が発生した。前進復帰(ロールフォワード)によって障害回復できるすべてのトランザクションはどれか。
68.gif/image-size:461×250
  • T1
  • T2 と T3
  • T4 と T5
  • T5
  • [出題歴]
  • 応用情報技術者 R4秋期 問29
  • 応用情報技術者 H27秋期 問30

分類

テクノロジ系 » データベース » トランザクション処理

正解

解説

ロールフォワード(前進復帰)は、データベースシステムに障害が起こったとき、トランザクションの更新後ログを使用することで過去に処理したトランザクションを再現し、システム障害の直前までデータベースの状態を回復させる処理です。

システム障害から復帰すると、データベースの状態はチェックポイント時点のデータに戻ります。トランザクションには、処理がすべて実行されるか・全く実行されないかのどちらか終了する性質(原子性)と、一旦正常終了したトランザクションの結果は、その後システムに障害が発生しても失われない性質(永続性)が要求されますから、復帰後はこの性質を満たすためにロールフォワードやロールバックが行われます。

図の5つのトランザクションは、復帰後の対処によって3つのグループに分かれます。
T1
チェックポイント前にコミットされているので、コミットの内容は復帰後のデータベースに反映されている。よって、何もしない。
T2、T3
トランザクション処理中に障害が起こったので、原子性に基づき、データベースをトランザクション開始前の状態に戻す。よって、ロールバックを行う。
T4、T5
チェックポイント後、障害発生前にコミットがあったので、永続性に基づき、失われたコミットの内容を復帰後のデータベースに反映させる。よって、ロールフォワードを行う。
68a.gif/image-size:336×217
以上より、前進復帰の対象となるのは「最後のチェックポイントからシステム障害発生までの間」にコミットされたトランザクションとなります。したがって正解は「T4とT5」です。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop