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:\ 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.