平成25年度 春期 午前Ⅱ 問14
トランザクション処理
ロールフォワードに関する問題
データベースの障害回復処理に関する記述のうち,適切なものはどれか。
- ア異なるトランザクション処理プログラムが,同一データベースを同時更新することによって生じる論理的な矛盾を防ぐために,データのブロック化が必要となる。
- イシステムが媒体障害以外の原因によって停止した場合,チェックポイントの取得以前に終了したトランザクションについての回復作業は不要である。
- ウデータベースの媒体障害に対して,バックアップファイルをリストアした後,ログファイルの更新前情報を使用してデータの回復処理を行う。
- エトランザクション処理プログラムがデータベースの更新中に異常終了した場合には,ログファイルの更新後情報を使用してデータの回復処理を行う。
答えと解説を見る
✓ これが正解イシステムが媒体障害以外の原因によって停止した場合,チェックポイントの取得以前に終了したトランザクションについての回復作業は不要である。
解説
チェックポイント前に終わった処理は、システム障害の回復で扱いません。
チェックポイントでは、それまでにバッファ上で更新されたデータをデータベースに書き出します。そのため、チェックポイントの取得以前に終了したトランザクションの更新は、すでにデータベースに反映されています。媒体障害ではなくシステムが停止しただけなら、データベースの媒体そのものは無事なので、これらのトランザクションについてはやり直しも取消しも必要ありません。回復作業の対象は、チェックポイント以降にコミットしたトランザクション(ロールフォワードする)と、停止の時点で未完了だったトランザクション(ロールバックする)です。障害の種類ごとに、更新前情報と更新後情報のどちらを使うかを組で覚えると見分けられます。
ほかの選択肢はなぜ違うのか
- ア異なるトランザクション処理プログラムが,…:同じデータを同時に更新して生じる矛盾を防ぐのは、ロックなどによる排他制御の役目です。ブロック化は複数のレコードをまとめて入出力するための記録の工夫であり、同時更新の矛盾を防ぐ仕組みではありません。
- ウデータベースの媒体障害に対して,バックア…:媒体障害では、バックアップをリストアしたあと、その後にコミットされた更新を再現する必要があります。使うのはログの更新後情報によるロールフォワードで、更新前情報を使うという記述は逆です。
- エトランザクション処理プログラムがデータベ…:更新の途中で異常終了したトランザクションは、途中までの更新を取り消して元に戻します。必要なのはログの更新前情報によるロールバックで、更新後情報を使うという記述は取り違えています。
この問題の用語
- 排他制御同じデータを同時に更新しても、矛盾が起きないようにする仕組みです。先の処理が終わるまで、後の処理を待たせて防ぎます。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- 作業工程を組み立てる、一つひとつの仕事の単位のことです。開始と終了、所要日数をもち、順序をつないで全体の日程を作ります。
- バックアップ失っても元に戻せるよう、データの複製を別に取っておくこと。取るだけでなく、戻せるかを確かめておくのが要点です。
出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問14
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問18:ブロックチェーンに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問14:べき等に関する問題(バックアップ)
- 令和5年度 秋期 午前Ⅱ 問14:べき等に関する問題(バックアップ)
- 令和3年度 秋期 午前Ⅱ 問16:MVCCに関する問題(排他制御)
- 平成29年度 春期 午前Ⅱ 問17:隔離性水準に関する問題(作業)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)