Booting databases

The default configuration for Derby is to boot (or start) a database when an application first makes a connection to it. When Derby boots a database, it checks to see if recovery needs to be run on the database, so in some unusual cases booting can take some time.

You can also configure your system to automatically boot all databases in the system when it starts up; see "derby.system.bootAll" in the Derby Reference Manual. Because of the time needed to boot a database, the number of databases in the system directory affects startup performance if you use that configuration.

Once a database has been booted within a Derby system, it remains active until the Derby system has been shut down or until you shut down the database individually.

When Derby boots a database, a message is added to the log file. The message includes the Derby version that the database was booted with, along with information about the Java version, the user's working directory, and the location of the Derby system directory, if the user specified it using the derby.system.home property. If derby.system.home was not specified, its value is reported as null, as in the following example:

Wed Mar 02 17:06:58 EST 2011:
 Booting Derby version The Apache Software Foundation - Apache Derby 
-  10.8.0.0 - (1076370): instance a816c00e-012e-789c-116d-000000bbdd88
on database directory C:\sampledb with class loader 
sun.misc.Launcher$AppClassLoader@11b86e7 
Loaded from file:C:\db-derby-10.7.1.0-bin\lib\derby.jar
java.vendor=Sun Microsystems Inc.
java.runtime.version=1.6.0_24-b07
user.dir=C:\
os.name=Windows XP
os.arch=x86
os.version=5.1
derby.system.home=null
Database Class Loader started - derby.database.classpath=''

The number of databases running in a Derby system is limited only by the amount of memory available in the JVM.

Related concepts
Defining the system directory
The error log
derby.properties
Double-booting system behavior
Recommended practices
Related tasks
Shutting down the system