Recovery Techniques:
- Salvation program: Run after a crash to attempt to restore the
system to a valid state. No recovery data used. Used when all other
techniques fail or were not used. Good for cases where buffers were lost in
a crash and one wants to reconstruct what was lost...(4,5)
- Incremental dumping: Modified files copied to archive after job
completed or at intervals. (3,4)
- Audit trail: Sequences of actions on files are recorded. Optimal
for "backing out" of transactions. (Ideal if trail is written out before
changes). (1,2,3)
- Differential files: Separate file is maintained to keep track of
changes, periodically merged with the main file. (2,3)
- Backup/current version: Present files form the current version of
the database. Files containing previous values form a consistent backup
version. (2,3)
- Multiple copies: Multiple active copies of each file are
maintained during normal operation of the database. In cases of failure,
comparison between the versions can be used to find a consistent version.
(6)
- Careful replacement: Nothing is updated in place, with the
original only being deleted after operation is complete. (2,6)
(Parens and numbers are used to indicate which levels from above are
supported by each technique).
Combinations of two techniques can be used to offer similar protection
against different kinds of failures. The techniques above, when implemented,
force changes to:
- The way data is structured (4,5,6).
- The way data is updated and manipulated (7).
- nothing (available as utilities) (1,2,3).