情報処理安全確保支援士令和4年秋期 午前T 問9

午前T 問9

チェックポイントを取得するDBMSにおいて,図のような時間経過でシステム障害が発生した。前進復帰(ロールフォワード)によって障害回復できるトランザクションだけを全て挙げたものはどれか。
am1/29.gif/image-size:471×256
  • [出典]
  • 応用情報技術者
    令和4年秋期 問29と同題

分類

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

正解

解説

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

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

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

Pagetop