令和4年度 秋期 午前 問29
データベース
チェックポイントに関する問題
チェックポイントを取得する DBMS において,図のような時間経過でシステム障害が発生した。前進復帰(ロールフォワード)によって障害回復できるトランザクションだけを全て挙げたものはどれか。
チェックポイント システム障害発生
時間 ──────────┬───────────────────────────┬─────────→
┆ ┆
開始 T1 コミット┆ ┆
├──────────────┤ ┆
┆ ┆
開始 ┆ T2 ┆(未コミットのまま障害へ)
├─────────┼───────────────────────────┤┈┈┈
┆ ┆
開始 ┆ T3 ┆(未コミットのまま障害へ)
├────┼───────────────────────────┤┈┈┈
┆ ┆
開始 ┆ T4 コミット ┆
├──────────────┼────────────┤ ┆
┆ ┆
┆ 開始 T5 コミット ┆
┆ ├───────────────┤ ┆
図の読み取り: T1 はチェックポイントより前に開始しコミット。T2・T3 は開始のあと
コミットしないまま障害を迎える。T4 はチェックポイント前に開始し、あとでコミット。
T5 はチェックポイント後に開始し、障害前にコミット。
- アT1
- イT2 と T3
- ウT4 と T5
- エT5
答えと解説を見る
✓ これが正解ウT4 と T5
解説
コミット済みでチェックポイントより後のものが対象です。
設問は、チェックポイントを取得する DBMS でシステム障害が起きたとき、前進復帰によって障害回復できるトランザクションだけを挙げたものを選ばせています。判断は二つの問いに分けられます。一つは、そのトランザクションがコミットまで終わっているかどうか。もう一つは、そのコミットがチェックポイントより後かどうかです。チェックポイントは、その時点までの更新を主記憶からディスクへ確実に書き出した印なので、それより前に済んだ更新はすでにディスク上にあり、手を入れる必要がありません。図の五本を当てはめると、コミットが印より後にあるのは T4 と T5 の二本です。正解は、この二本を挙げたものになります。T4 は開始が印より前ですが、見るべきなのは開始の位置ではなくコミットの位置です。
ほかの選択肢はなぜ違うのか
- アT1:確定も印より前に済んでおり、更新はすでにディスクへ書き出されています。回復の手続きそのものが不要な側にあたるので、やり直して進める対象には入りません。
- イT2 と T3:どちらも確定しないまま障害を迎えています。この場合はログに残る更新前の値を使って取り消す向きの処置が必要で、進める向きの処置では元に戻せません。
- エT5:進める向きの処置が必要なものを一本だけに絞っており、印より前に始まって印より後に確定した一本を取りこぼしています。開始の位置に引きずられると起こる読み違えです。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
出典:令和4年度 秋期 応用情報技術者試験 午前 問29
同じ用語が出る問題
- 令和7年度 秋期 午前 問29:多版同時実行制御に関する問題(トランザクション)
- 令和6年度 秋期 午前 問31:チェックポイントに関する記述(DBMS)
- 令和6年度 秋期 午前 問27:ロールバックに関する問題(トランザクション)
- 令和6年度 春期 午前 問25:ストアドプロシージャの利点(DBMS)
- 令和5年度 秋期 午前 問30:ロールフォワードに関する問題(DBMS)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)