過去問解きまくり研究所 ホーム

平成27年度 秋期 午前 問30

データベース

トランザクションに関する問題

チェックポイントを取得する DBMS において,図のような時間経過でシステム障害が発生した。前進復帰(ロールフォワード)によって障害回復できるトランザクションだけを全て挙げたものはどれか。

〔図〕(左から右へ時間が進む。チェックポイントと,その後のシステム障害発生の 2 本の縦線がある)

T1  開始 ─ コミット            … 2 本ともチェックポイントより前
T2  開始 ─────────────────→   … 開始はチェックポイント前・コミットせず障害発生
T3        開始 ───────────→   … 開始はチェックポイント後・コミットせず障害発生
T4  開始 ─────── コミット      … 開始はチェックポイント前・コミットはその後で障害前
T5        開始 ─── コミット    … 開始・コミットともチェックポイント後で障害前
答えと解説を見る

✓ これが正解ウT4 と T5

解説

コミットがチェックポイントより後の更新をやり直します。

設問は、チェックポイントを取得する DBMS で障害が起きたとき、前進復帰で回復できるトランザクションを選ばせています。五つのトランザクションを見分けるのに必要な問いは二つだけです。一つ目は、障害の時点でコミットを終えていたかどうかです。前進復帰は、コミット済みの更新をログからやり直す操作なので、終えていないものは初めから対象になりません。二つ目は、その更新がチェックポイントの時点で磁気ディスクへ書き出されていたかどうかです。チェックポイントでは、それまでの更新が主記憶からディスクへ書き出されるので、そこまでに済んでいた分は障害の後もそのまま残っています。この二つを当てると、コミットを済ませていて、しかもそのコミットがチェックポイントより後にあるものだけが残ります。開始がチェックポイントより前であっても、コミットが後なら更新はまだ書き出されていないので、やり直しが必要です。見るべきなのは開始の位置ではなくコミットの位置で、そこがこの設問の狙いです。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成27年度 秋期 応用情報技術者試験 午前 問30

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)