A method for starting up a database system, comprising allocating memory
spaces for three buffers; initializing two of the buffers; partially
initializing the third buffer where the third buffer is larger than the
other two; instructing the memory manager to initialize the remainder of
the third buffer in the background process; performing recovery
operations; and opening the database system for use. The database is
operated in an open phase while the remainder of the third buffer is
initialized in the background and ran in parallel to the recovery
operation that may extend beyond the completion of opening the database.
Thus opening the database prior to completion of full initialization and
initializing the third buffer in the background improves the startup time
of the database which becomes significant when the size of the third
buffer is very large (e.g., 500 GB+).