データベースのデータを更新中のトランザクションが、実行途中で異常終了した際、更新中のデータに対して行われる処理はどれか。
ア | 更新処理をなかったことにするために、ロールバックしてトランザクション開始前の状態に回復する。 |
イ | チェックポイント時点にデータベースを戻し、コミットが完了しているトランザクションの更新をロールフォワードしてデータを回復する。 |
ウ | トランザクション以上の発生時点までの更新ログ情報を破棄して、開始前の状態に回復する。 |
エ | トランザクションの更新ログを使って異常終了時点までロールフォワードして回復する。 |
答え ア
【解説】
異常終了したトランザクションで行われたデータの更新を元に戻す処理なので更新処理をなかったことにするために、ロールバックしてトランザクション開始前の状態に回復する。(ア)になります。
イ | データベースが物理的に壊れたときに行う回復手段です。 |
ウ | 更新ログを破棄しても、データベースはトランザクション開始前の状態には戻りません。 |
エ | 更新ログを使って異常終了時点までロールフォワードしても回復しません。 (問題の分析時に、現象を再現させるためこの処理を行うことがあります。) |
【キーワード】
・ロールフォワード
・ロールバック