最初のページ 戻る 次へ 最後のページ 画像

ケース1-2

write(A,x)終了直後に

システム障害が発生

送金トランザクション

begin

read(A,x)

read(B,y)

x:=x-10000

y:=y+10000

write(A,x)

write(B,y)

commit

項A,Bはバッファ上で更新済

ディスク上を一部更新

トランザクションは未コミット

(アボートでもない)

システムを再起動

バッファは消滅

データベースは一部だけ更新(整合性は保証されない)

データベースを更新前の状態に戻した後(障害回復処理)

送金トランザクションを最初から実行