The availability of large, relatively inexpensive main memories coupled with the demand for faster response time for real-time database systems brought to the main memory database systems. Since database operations are mostly I/O bounded, elimination of disk access delays can contribute to substantial improvement in transaction response time. However, the migration of data from disk to main memory introduces the critical problem associated with the recovery mechanism. The recovery mechanism must guarantee transaction atomicity and durability in the face of system failures. In this paper, our recovery scheme uses non-volatile main memory to hold an inmemory log so that the log write to disk can be delayed. This stable log buffer can be considered as a reliable disk output queue for log data. Our recovery scheme uses a separate recovery processor to perform logging, checkpointing, recovery from failures, and two checkpoint bit maps for constructing a transaction-consistent checkpoint. Our recovery scheme allows transactions to begin processing as soon as their data is restored. Transactions do not have to wait for the entire database to be reloaded Our recovery scheme will also be beneficial in the event of a partial main memory failure.