Storage, Execution & Recovery Internals

ARIES and Crash Recovery

ARIES recovers a steal/no-force system in three conceptual passes: analysis reconstructs transaction and dirty-page state, redo repeats history to restore the exact pre-crash state, and undo rolls back loser transactions using compensation log records that make rollback itself restartable.
  • Steal requires undo.
  • No-force requires redo.
  • Analysis rebuilds recovery tables.
  • Redo repeats history.
  • Restart undo takes losers back to transaction begin.
  • CLRs make undo idempotent and restartable.
ARIES restart passes
Why each record exists
MetadataRecovery question
prevLSN / lastLSNWhat is the previous action for this transaction?
pageID + pageLSNIs this page action already reflected?
recLSNHow early might redo for this dirty page be needed?
CLR + undoNextLSNWhich undo completed, and where should undo continue?
commit/end statusWinner, loser, or fully completed?