How to perform recovery using
nonquiecent checkpointing using UNDO/REDO logging
After a
system failure,
the REDO log file can be
in one of
2 possible states:
How to perform recovery using
nonquiecent checkpointing using UNDO/REDO logging
After a
system failure,
the REDO log file can be
in one of
2 possible states:
Key to understanding the general recovery algorithm used in
UNDO/RED logging
We need to figure out
where to stop searching
for uncommitted/committed transactions
in the UNDO/REDO log
Limiting the search range for
uncommitted transactions in the UNDO/RED log
Transactions
T1, T1, ..., Tk
were uncommitted when
checkpointing starts
Limiting the search range for
uncommitted transactions in the UNDO/RED log
The earliest possible
uncommitted transaction
in the UNDO/REDO log must be
one of
these:
Limiting the search range for
uncommitted transactions in the UNDO/RED log
Comment:
this is
not the portion of
the UNDO/REDO log records that we need
to use (= consult) !!
Limiting the search range for
UNDO log records in the UNDO/RED log
The
portion of the
log records that we need
to use (= consult)
to
UNDO
uncommitted transactions is:
The reason is given in the
next slide...
Limiting the search range for
UNDO log records in the UNDO/RED log
Reason:
So we need some UNDO values
stored
before the checkpoint START to
perform the UNDO operation
Summary: how to
UNDO incomplete transactions using
UNDO/REDO logging
Summary: how to
UNDO incomplete transactions using
UNDO/REDO logging
Limiting the
search range
for REDO log records
in the UNDO/RED log
Checkpoint has
completed successfully
I.e.:
the dirty data updated by
all transactions
have been written to disk
Therefore,
we can conclude that...
Limiting the
search range
for REDO log records
in the UNDO/RED log
Therefore,
we can conclude that:
(We don't need to
REDO these updates anymore !!!)
Limiting the
search range
for REDO log records
in the UNDO/RED log
How to
REDO updates made by
committed transactions
in UNDO/REDO logging
How to
REDO updates made by
committed transactions
in UNDO/REDO logging
Summary:
how to
REDO committed transactions using UNDO/REDO logging
Summary:
how to
REDO committed transactions using UNDO/REDO logging
Pseudo code of the Recovery Algorithm for UNDO/REDO logging
- Step 1
Pseudo code of the Recovery Algorithm for UNDO/REDO logging
- Step 2
Pseudo code of the Recovery Algorithm for UNDO/REDO logging
- Step 2
Pseudo code of the Recovery Algorithm for UNDO/REDO logging
- Step 2
Example
Recovery Algorithm for UNDO/REDO logging
Example
Recovery Algorithm for UNDO/REDO logging
Example
Recovery Algorithm for UNDO/REDO logging
Example
Recovery Algorithm for UNDO/REDO logging
Recovery procedure:
Example
Recovery Algorithm for UNDO/REDO logging
Note:
See:
^^^^^^^
Example 2
Recovery Algorithm for UNDO/REDO logging
Example 2
Recovery Algorithm for UNDO/REDO logging
Example 2
Recovery Algorithm for UNDO/REDO logging
Example 2
Recovery Algorithm for UNDO/REDO logging
UNDO recovery:
Limit the
UNDO log records used:
Example 2
Recovery Algorithm for UNDO/REDO logging
UNDO recovery:
Recovering using the
UNDO log records:
Example 2
Recovery Algorithm for UNDO/REDO logging
REDO recovery:
Recovering using the
REDO log records:
Example 3
Recovery Algorithm for UNDO/REDO logging
Example 3
Recovery Algorithm for UNDO/REDO logging
Example 3
Recovery Algorithm for UNDO/REDO logging
Example 3
Recovery Algorithm for UNDO/REDO logging
UNDO recovery:
Limit the
UNDO log records used:
Example 3
Recovery Algorithm for UNDO/REDO logging
UNDO recovery:
Recovering using the
UNDO log records:
Recovering from
case 2 in UNDO/REDO logging
Portion of the
UNDO/REDO log needed to
UNDO
the incomplete transactions:
Recovering from
case 2 in UNDO/REDO logging
Portion of the
UNDO/REDO log needed to
REDO
the committed transactions:
Recovering from
case 2 in UNDO/REDO logging
Portion of the
UNDO/REDO log needed to
REDO
the committed transactions:
Recovering from
case 2 in UNDO/REDO logging
Portion of the
UNDO/REDO log needed to
REDO
the committed transactions:
❮
❯