To achieve high concurrency in a database system has meant building a system that copes well with important special cases. recent work on multi-level systems suggests a system-atic path to high concurrency. A multi-level system using locks permits restrictive high level locks when subtransactions commit, enhancing concurrency. this is possible because sub-transactions can be undone via high level compensation actions rather than by restoring a prior lower level state. we describe a recovery scheme, called multi-level recovery (MLR) that logs this high level undo operation with the commit record for the substransaction that it compensates, posting log records to only a single log. A variant of the method copes with nested transactions, and both nested and multi-level transactions can be treated in a unified fashion.