[ホーム] -
[Windows 2008 FAQ 一覧] - [ロールバックとロールフォワードの違い]
ロールバックとロールフォワードの違いは以下の通りです。
ロールバック・・・トランザクションのコミット前にトランザクションをキャンセルしてトランザクション開始時の状態に戻すこと。
例:商品購入のトランザクション
(1)トランザクション開始
(2)お客の口座から代金引き落とし
(3)商品在庫を1個減らす
(4)発送用在庫を1個増やす
(5)commit(コミット)
このトランザクションで(2)を実行した時点で障害が発生した場合、代金だけ引き落とされ商品が発送されない。よってこの場合は(1)のトランザクション開始前の状態に戻す必要があるが、この処理をロールバックと呼ぶ。ロールバックに使用されるデータ(ジャーナルファイル)はロールバックセグメント(RBS)に記憶されている。
ロールフォワード・・・ハードディスクなど記憶装置に障害が発生した場合に普及する。取得したバックアップを復元し、その後バックアップ後に更新されたトランザクションを更新する。