平成24年度 秋期 情報セキュリティスペシャリスト試験 午前Ⅱ 問21
データベース
トランザクションに関する問題
データベースのデータを更新するトランザクションが,実行途中で異常終了したとき,更新中のデータに対して行われる処理はどれか。
- ア異常終了時点までの更新ログ情報を破棄することによって,データをトランザクション開始前の状態に回復する。
- イチェックポイント時点からコミットが完了しているトランザクションの更新をロールフォワードすることによって,データを回復する。
- ウトランザクションの更新ログ情報を使って異常終了時点までロールフォワードすることによって,データを回復する。
- エロールバックすることによって,データをトランザクション開始前の状態に回復する。
答えと解説を見る
✓ これが正解エロールバックすることによって,データをトランザクション開始前の状態に回復する。
解説
未完了の更新は、ロールバックで開始前の状態に戻します。
トランザクションは、一連の更新をすべて反映するか、まったく反映しないかのどちらかにする処理の単位です。実行の途中で異常終了した場合、そのトランザクションはコミットされていないので、途中までの更新を残してはいけません。そこで、更新前の値を記録したログを使って、行った更新を取り消します。これがロールバックで、データはトランザクション開始前の状態に戻ります。回復の方法を選ぶときは、対象の更新がコミット済みかどうかを軸に考えます。
ほかの選択肢はなぜ違うのか
- ア異常終了時点までの更新ログ情報を破棄する…:更新ログ情報を捨ててしまうと、どの値をどう戻せばよいかが分からなくなります。開始前の状態に戻すには、記録しておいた変更前の値を使う必要があり、ログを破棄するという手順は逆です。
- イチェックポイント時点からコミットが完了し…:チェックポイントから、コミットが済んだトランザクションの更新をやり直すのは、システム障害の後に行う回復です。途中で異常終了した一つのトランザクションを取り消す処理とは場面が違います。
- ウトランザクションの更新ログ情報を使って異…:異常終了した時点まで更新をやり直すと、コミットしていない途中の変更がデータに残ってしまいます。未完了のトランザクションの更新は再現するのではなく、打ち消すべきものです。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
出典:平成24年度 秋期 情報セキュリティスペシャリスト試験 午前Ⅱ 問21
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問21:コミット処理を完了するタイミング(トランザクション)
- 令和3年度 春期 午前Ⅱ 問21:デッドロックに関する問題(トランザクション)
- 令和2年度 10月 午前Ⅱ 問21:コミット処理を完了するタイミング(トランザクション)
- 平成30年度 春期 午前Ⅱ 問21:コミットに関する問題(トランザクション)
- 平成27年度 春期 情報セキュリティスペシャリスト試験 午前Ⅱ 問21:2相コミットプロトコルの問題(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)