平成23年度 特別 午前Ⅱ 問17
データベース
トランザクションに関する問題
データベースのデータを更新中のトランザクションが,実行途中で異常終了した際,更新中のデータに対して行われる処理はどれか。
- ア更新処理をなかったことにするために,ロールバックしてトランザクション開始前の状態に回復する。
- イチェックポイント時点にデータベースを戻し,コミットが完了しているトランザクションの更新をロールフォワードしてデータを回復する。
- ウトランザクション異常の発生時点までの更新ログ情報を破棄して,開始前の状態に回復する。
- エトランザクションの更新ログ情報を使って異常終了時点までロールフォワードして回復する。
答えと解説を見る
✓ これが正解ア更新処理をなかったことにするために,ロールバックしてトランザクション開始前の状態に回復する。
解説
途中で異常終了したトランザクションは、ロールバックで開始前に戻します。
トランザクションは、すべての更新が反映されるか、一つも反映されないかのどちらかでなければなりません。見分ける軸は、異常終了したトランザクションがコミット前かどうかと、障害がそのトランザクション単独のものか、システム全体に及ぶものかです。実行途中で異常終了したトランザクションはコミットされていないので、ログに残る更新前の値を使って途中までの更新を取り消し、開始前の状態に戻します。これがロールバックです。未完了の更新は取り消して元に戻し、完了済みの更新はやり直して反映する、と対で覚えておくと区別できます。
ほかの選択肢はなぜ違うのか
- イチェックポイント時点にデータベースを戻し…:チェックポイントの時点に戻し、コミット済みの更新をロールフォワードするのは、システム全体が停止したときの再始動などで行う回復です。トランザクション一つが途中で止まった場面では、そこまで大がかりな手順はとりません。
- ウトランザクション異常の発生時点までの更新…:更新ログを破棄してしまうと、途中まで書き換えたデータを元の値に戻す手がかりがなくなります。開始前の状態に戻すには、ログに残る更新前の値を使って取り消す必要があります。
- エトランザクションの更新ログ情報を使って異…:異常終了した時点までロールフォワードすると、コミットされていない途中の更新がデータベースに残ってしまいます。中途半端な状態を確定させることになり、データの一貫性が保てません。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
出典:平成23年度 特別 システム監査技術者試験 午前Ⅱ 問17
同じ用語が出る問題
- 令和6年度 秋期 午前Ⅱ 問5:試査に関する問題(トランザクション)
- 令和4年度 秋期 午前Ⅱ 問21:トランザクションに関する問題(データベース)
- 令和3年度 秋期 午前Ⅱ 問25:IVRの説明(データベース)
- 平成30年度 春期 午前Ⅱ 問17:トランザクションログに関する問題(トランザクション)
- 平成21年度 春期 午前Ⅱ 問8:全般統制に該当するもの(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)