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, for example:
Thu Nov 04 16:32:06 EDT 2010: Booting Derby version The Apache Software Foundation - Apache Derby - 10.7.1.0 - (1031070): instance a816c00e-012c-1896-832c-00002ded7282 on database directory C:\sampledb with class loader sun.misc.Launcher$AppClassLoader@7d772e 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_21-b06 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.