令和5年度 秋期 午前Ⅱ 問15
トランザクション処理
ロールフォワードに関する問題
a〜cそれぞれの障害に対して,DBMSはロールフォワード又はロールバックを行い回復を図る。適切な回復手法の組合せはどれか。
- a デッドロックによるトランザクション障害
- b ハードウェアの誤動作によるシステム障害
- c データベースの記録媒体が使用不可能となる媒体障害
選択肢は原典ではa・b・cの表。
- アa:ロールバック / b:ロールフォワード又はロールバック / c:ロールバック
- イa:ロールバック / b:ロールフォワード又はロールバック / c:ロールフォワード
- ウa:ロールフォワード / b:ロールバック / c:ロールフォワード又はロールバック
- エa:ロールフォワード又はロールバック / b:ロールフォワード / c:ロールバック
答えと解説を見る
✓ これが正解イa:ロールバック / b:ロールフォワード又はロールバック / c:ロールフォワード
解説
デッドロックはロールバック、システム障害は両方、媒体障害はロールフォワードです。
回復手法は、障害でどの範囲のデータが失われたかで決まります。デッドロックによるトランザクション障害では、デッドロックを解消するために選ばれたトランザクションを取り消すので、ロールバックで更新前の状態に戻します。システム障害では、主記憶上の内容が失われます。チェックポイント以降にコミット済みのトランザクションはログを使ってロールフォワードで反映し、障害時に未コミットだったトランザクションはロールバックで取り消すので、両方を使います。媒体障害ではデータベースそのものが失われるので、バックアップを復元してからログでロールフォワードします。何が失われたかを先に考えると組合せが決まります。
ほかの選択肢はなぜ違うのか
- アa:ロールバック / b:ロールフォワー…:デッドロックとシステム障害の手法は合っていますが、媒体障害をロールバックとしている点が違います。記録媒体が使えなくなるとデータベース自体が失われるので、バックアップを戻してから更新を積み直すロールフォワードが必要です。
- ウa:ロールフォワード / b:ロールバッ…:デッドロックによるトランザクション障害をロールフォワードとしている点が違います。デッドロックの解消では選んだトランザクションを取り消すので、行うのは更新前の状態に戻すロールバックです。
- エa:ロールフォワード又はロールバック /…:デッドロックで両方を使うとしている点、媒体障害をロールバックとしている点が違います。デッドロックでは取り消すだけで済み、媒体障害ではバックアップから更新を積み直す必要があります。
この問題の用語
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:令和5年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問15
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問18:ブロックチェーンに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問17:デッドロックに関する問題(DBMS)
- 令和7年度 秋期 午前Ⅱ 問16(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問12:ロールフォワードに関する問題(DBMS)
- 令和7年度 秋期 午前Ⅱ 問2:概念データモデルの説明(DBMS)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)