A system and method for replaying a log file without performing a total
cache flush. The log replay is performed in three phases, a
pre-processing phase that determines which portions of the log file are
to be replayed, a redo phase where certain transactions are redone and an
undo phase where certain transactions are rolled back. After performing
the log replay only the data dirtied during the undo phase is flushed
from the cache, thereby decreasing the amount of time required for the
log replay operation.