平成21年度 春期 午前Ⅱ 問3
トランザクション処理
ログに関する記述
DBMS が取得するログに関する記述として,適切なものはどれか。
- アトランザクションの取消しに備えて,データベースの更新されたページに対する更新後情報を取得する。
- イ媒体障害からの復旧に備えて,データベースの更新されたページに対する更新前情報を取得する。
- ウロールバック後のトランザクション再実行に備えて,データベースの更新されたページに対する更新後情報を取得する。
- エロールフォワードに備えて,データベースの更新されたページに対する更新後情報を取得する。
答えと解説を見る
✓ これが正解エロールフォワードに備えて,データベースの更新されたページに対する更新後情報を取得する。
解説
ロールフォワードに備えて、更新後情報をログに取得します。
DBMS のログには、更新前の値を記録した更新前情報と、更新後の値を記録した更新後情報があります。見分ける軸は、障害からの回復で値を前へ進めるのか、後ろへ戻すのかです。媒体障害などでデータベースを失ったときは、バックアップから戻したうえで、その後にコミットされた更新を更新後情報で順に反映し直します。これがロールフォワードで、そのために更新後情報が必要です。反対に、トランザクションを取り消すロールバックでは、更新前情報で値を元へ戻します。進めるなら更新後情報、戻すなら更新前情報、と方向で組み合わせて覚えると整理できます。
ほかの選択肢はなぜ違うのか
- アトランザクションの取消しに備えて,データ…:トランザクションを取り消すには、書き換えた値を元へ戻さなければなりません。戻す先の値を持っているのは更新前の値を記録したログのほうで、更新後の値をいくら記録しても取消しには使えません。
- イ媒体障害からの復旧に備えて,データベース…:媒体障害ではデータベースそのものが失われるので、バックアップを戻したあと、コミット済みの更新を積み直す必要があります。積み直しに使うのは更新後の値であり、更新前の値では復旧の目的に合いません。
- ウロールバック後のトランザクション再実行に…:ロールバックしたトランザクションをもう一度実行するのは、ログから値を写すのではなく、トランザクションの処理そのものをやり直すことです。この目的のために更新後の値を取得しておくという説明は、ログの役割と合っていません。
この問題の用語
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:平成21年度 春期 データベーススペシャリスト試験 午前Ⅱ 問3
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問18:ブロックチェーンに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問17:デッドロックに関する問題(DBMS)
- 令和7年度 秋期 午前Ⅱ 問12:ロールフォワードに関する問題(DBMS)
- 令和5年度 秋期 午前Ⅱ 問19:DRDoSに関する問題(ログ)
- 令和2年度 10月 午前Ⅱ 問23:フェールオーバ処理の順序(ログ)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)