Home » Database » Database miscellaneous » Question

Database miscellaneous

  1. Consider the following log sequence of two transactions on a bank account, with initial balance 12000, that transfer 2000 to a mortagage payment and then apply a 5% interest.
    1. T1 start
    2. T1 B old = 1200 new = 10000
    3. T1 M old = 0 new = 2000
    4. T1 commit
    5. T1 start
    6. T2 B old = 10000 new = 10500
    7. T2 commit
    Suppose the database system crashes just before log record is written. When the system is started, which one statement is true of the recovery procedure?
    1. We must redo log record 6 to set B to 10500
    2. We must redo log record 6 to set B to 10000 and the redo log records 2 and 3.
    3. We need not redo log records 2 and 3 because transaction T1 has committed
    4. We can apply redo and undo operations in arbitrary order because they are idempotent
Correct Option: B

We must undo log record 6 to set B to 10000 and then redo log records 2 and 3 because system fail before commit operation. So we need to undone active transactions(T2) and redo committed transactions (T1) Note: Here we are not using checkpoints.
Checkpoint : Checkpoint is a mechanism where all the previous logs are removed from the system and stored permanently in a storage disk. Checkpoint declares a point before which the DBMS was in consistent state, and all the transactions were committed.
Recovery : When a system with concurrent transactions crashes and recovers, it behaves in the following manner?
⇒ The recovery system reads the logs backwards from the end to the last checkpoint.
⇒ It maintains two lists, an undo-list and a redo-list.
⇒ If the recovery system sees a log with and or just, it puts the transaction in the redo-list.
⇒ If the recovery system sees a log with but no commits or abort log found, it puts the transaction in undo-list.
All the transactions in the undo-list are then undone and their logs are removed. All the transactions in the redo-list and their previous logs are removed and then redone before saving their logs.
So Answer is B We must redo log records 2 and 3 and undo log record 6.



Your comments will be displayed only after manual approval.