Using Derby databases on Windows

Derby refers to IBM Cloudscape Version 10.0, a database product that is built on the Derby database from the Apache Software Foundation. Cloudscape does not modify Derby in any way, but provides additional function including installers. Derby database support is embedded in the broker component on Windows only.

This topic describes the processes, services, IP ports, and database files used to support Derby on Windows.

Security

With the current implementation of Derby in WebSphere Event Broker, no security controls are available, and no optimizations have been performed. For these reasons, it is strongly recommended that you do not use Derby in a production environment.

DB2 Run-Time Client use

WebSphere Event Broker uses ODBC to connect to Derby databases. Derby is a native Java database engine without ODBC support. The DB2 Run-Time Client provides the drivers that allow ODBC to access Derby databases. The DB2 Run-Time Client is used only for providing and managing the ODBC connection between WebSphere Event Broker and the Derby databases. It does not provide a DB2 database and therefore does not consume the resources that a full DB2 installation normally requires.

Database Instance Manager (managing, creating, deleting, and running databases)

A running network server is required for WebSphere Event Broker to be able to access Derby databases through ODBC. The network server provides access to Derby databases from external programs. When you create the first Derby database using the mqsicreatedb command, a Windows service is also created. The service is called IBM MQSeries Broker DatabaseInstanceMgr6 and starts automatically when Windows starts, under the user name that you supplied with the mqsicreatedb command. The service is referred to as DatabaseInstanceMgr component, and starts the network server. DbInstMgr is the internal component name of the Database Instance Manager.

All Derby databases that you create using the mqsicreatedb command are served by one instance of the DatabaseInstanceMgr and network server. Before the network server can function, it requires a TCP/IP port number. The default port number for Derby is 1527 (use this when creating the Derby database). You can specify a different port number when you issue the mqsicreatedb command to create a Derby database for the first time. However, you cannot subsequently change the port number after a network server has been set up, without first using mqsideletedb to remove all Derby databases.

Issue the mqsilist DatabaseInstanceMgr command to produce a list all of the databases that have been created by the mqsicreatedb command. You can remove the DatabaseInstanceMgr and the network server after the last Derby database has been deleted, using the mqsicreatedb command. If the password of the user name under which the Windows service runs is changed, use the mqsichangedbimgr command to update the service with the new password. You can also use the mqsichangedbimgr command to change the user name of the service. Use the mqsistart and mqsistop commands to start and stop the DatabaseInstanceMgr component.

Multiplicity (brokers, dbiMgrs, installations, databases)

There is no limit to the number of databases that you can create with the mqsicreatedb command. A maximum of one DatabaseInstanceMgr is created irrespective of how many databases have been created. If there are multiple simultaneous installations of WebSphere Event Broker Version 6.0, these use a single instance of the DatabaseInstanceMgr component.

Uninstall broker description, and considerations

Use the mqsideletedb command to clear all resources created by the mqsicreatedb command. When the last Derby database is deleted, the DatabaseInstanceMgr and network server are also stopped and removed. If the database files cannot be deleted using the mqsideletedb command, it is possible to delete them manually.

Related concepts
Issuing database commands on Windows
Related reference
mqsicreatedb command
mqsideletedb command
mqsichangedbimgr command