Explain how a database could be recovered via reprocessing. why is this generally not feasible?
From Transaction Processing, we know that every transaction should reach a commit point (or abort). What happens when the database or DBMS fails before commit (or abort)? The Database Recovery subsystem supports recovery and the Durability (the “D” in ACID) property to ensure
data can never be lost. Textbook Resources for Database Recovery
Manual Reprocessing
Automated Recovery with Rollback / Rollforward
Recovery Example
Time Operation TA TB TC R_R Amy Bill Carl 1 Begin Transaction TA Begin .05 45 38 51 2 Begin Transaction TB Begin .05 45 38 51 3 Begin Transaction TC Begin .05 45 38 51 4 TA Shared Lock R_R SL(R_R) .05 45 38 51 5 TA Read R_R Read(R_R) .05 45 38 51 6 TB Shared Lock R_R SL(R_R) .05 45 38 51 7 TC Excl. Lock R_R (wait) .05 45 38 51 8 TA Excl. Lock Amy XL(Amy) (wait) .05 45 38 51 9 TA Read Amy Read(Amy) (wait) .05 45 38 51 10 TB Read R_R Read(R_R) (wait) .05 45 38 51 11 TB Excl. Lock Bill XL(Bill) (wait) .05 45 38 51 12 TB Read Bill Read(Bill) (wait) .05 45 38 51 13 TB Write Bill Write(Bill) (wait) .05 45 39.9 51 14 TA Write Amy Write(Amy) (wait) .05 47.3 39.9 51 15 TA Release Lock Amy Release(Amy) (wait) .05 47.3 39.9 51 16 TB Release Lock R_R Release(R_R) (wait) .05 47.3 39.9 51 17 TB Release Lock Bill Release(Bill) (wait) .05 47.3 39.9 51 18 TB Commit Commit (wait) .05 47.3 39.9 51 19 TA Release Lock R_R Release(R_R) (wait) .05 47.3 39.9 51 20 TC Excl. Lock Granted XL(R_R) .05 47.3 39.9 51 21 TC Read R_R Read(R_R) .05 47.3 39.9 51 22 TC Write R_R Write(R_R) .03 47.3 39.9 51 SYSTEM CRASH
|