平成23年度 特別 システム監査技術者試験 午前Ⅱ 問17
テクノロジ/データベースデータベースのデータを更新中のトランザクションが,実行途中で異常終了した際,更新中のデータに対して行われる処理はどれか。
出典:平成23年度 特別 システム監査技術者試験 午前Ⅱ 問17
- ア更新処理をなかったことにするために,ロールバックしてトランザクション開始前の状態に回復する。
- イチェックポイント時点にデータベースを戻し,コミットが完了しているトランザクションの更新をロールフォワードしてデータを回復する。
- ウトランザクション異常の発生時点までの更新ログ情報を破棄して,開始前の状態に回復する。
- エトランザクションの更新ログ情報を使って異常終了時点までロールフォワードして回復する。
正解:ア
解説
更新中のトランザクションが実行途中で異常終了した場合,そのトランザクションによる更新処理をなかったことにするため,更新前ログ情報を使ってロールバックし,トランザクション開始前の状態に回復します。チェックポイントを起点としたロールフォワードは,システム障害からの再始動時にコミット済みの更新を反映するための処理であり,個々のトランザクションの異常終了時の処理ではありません。
選択肢ごとの解説
- ア正しい。更新処理をなかったことにするために,ロールバックしてトランザクション開始前の状態に回復します。
- イ誤り。チェックポイント時点からのロールフォワードによる回復は,システム障害(媒体障害など)からの再始動時に行う処理であり,個々のトランザクションの異常終了時に行う処理ではありません。
- ウ誤り。更新ログ情報を破棄してしまうと,開始前の状態への正しい回復ができなくなります。
- エ誤り。ロールフォワードは,正常にコミットされた更新内容を反映するための処理であり,異常終了した未完了のトランザクションに対して行う処理ではありません。