Reference Work Entry

Encyclopedia of Database Systems

pp 1784-1789

Multi-Level Recovery and the ARIES Algorithm

  • Gerhard WeikumAffiliated withMax-Planck Institute for Informatics


In contrast to basic database recovery with page-level logging and redo/undo passes, multi-level recovery is needed whenever the database system uses fine-grained concurrency control, such as index-key locking or operation-based “semantic” conflict testing, or when log records describe composite operations that are not guaranteed to be atomic by single page writes (as a consequence of concurrency control or for other reasons). Advanced methods perform logging and recovery at multiple levels like pages and data objects (records, index entries, etc.). Page-level recovery is needed to ensure the atomicity and applicability of higher-level operations, and also for efficient redo. Higher-level recovery is needed to perform correct undo for composite operations of loser transactions. In addition, logged actions at all levels must be testable at recovery-time, by embedding extra information in database pages, typically using log sequence numbers (LSNs), and appropriate log ...

This is an excerpt from the content