Derby는 Apache Software Foundation의 Derby 데이터베이스에 빌드된 데이터베이스 제품인 IBM Cloudscape 버전 10.0을 나타냅니다. Cloudscape는 Derby를 수정하지 않지만 설치 프로그램을 포함하여 추가 기능을 제공합니다. Derby 데이터베이스 지원은 Windows에서만 브로커 구성요소에 임베드됩니다.
이 주제에서는 Windows에서 Derby를 지원하는 데 사용되는 프로세스, 서비스, IP 포트 및 데이터베이스 파일에 대해 설명합니다.
WebSphere Message Broker에 현재 구현된 Derby의 경우 보안 제어를 사용할 수 없으며 최적화가 수행되어있지 않습니다. 이러한 이유로, 프로덕션 환경에서는 Derby를 사용하지 않는 것이 바람직합니다.
WebSphere Message Broker는 ODBC를 사용하여 Derby 데이터베이스에 연결합니다. Derby는 ODBC 지원이 없는 고유 Java 데이터베이스 엔진입니다. DB2 런타임 클라이언트는 ODBC가 Derby 데이터베이스에 액세스할 수 있도록 하는 드라이버를 제공합니다. DB2 런타임 클라이언트는 WebSphere Message Broker와 Derby 데이터베이스 간 ODBC 연결을 제공하고 관리하기 위해서만 사용됩니다. 이것은 DB2 데이터베이스를 제공하지 않으므로 일반적으로 전체 DB2 설치에 필요한 자원을 사용하지 않습니다.
WebSphere Message Broker가 ODBC를 통해 Derby 데이터베이스에 액세스하려면 실행 중인 네트워크 서버가 필요합니다. 네트워크 서버는 외부 프로그램에서 Derby 데이터베이스에 대한 액세스를 제공합니다. mqsicreatedb 명령을 사용하여 첫 번째 Derby 데이터베이스를 작성할 때 Windows 서비스도 작성됩니다. 서비스는 IBM MQSeries Broker DatabaseInstanceMgr6이라고 하며 Windows가 시작될 때 mqsicreatedb 명령과 함께 제공한 사용자 이름으로 자동 시작됩니다. 서비스는 DatabaseInstanceMgr 구성요소로 참조되며 네트워크 서버를 시작합니다. DbInstMgr은 데이터베이스 인스턴스 관리자의 내부 구성요소 이름입니다.
mqsicreatedb 명령을 사용하여 작성하는 모든 Derby 데이터베이스는 DatabaseInstanceMgr의 한 인스턴스 및 네트워크 서버에 의해 제공됩니다. 네트워크 서버가 작동하려면 TCP/IP 포트 번호가 필요합니다. Derby에 대한 디폴트 포트 번호는 1527입니다. (Derby 데이터베이스 작성 시 이 번호를 사용하십시오.) mqsicreatedb 명령을 발행할 때 다른 포트 번호를 지정하여 처음 Derby 데이터베이스를 작성할 수 있습니다. 그러나, 먼저 mqsideletedb를 사용하여 모든 Derby 데이터베이스를 제거하지 않으면 네트워크 서버가 설정된 후 포트 번호를 변경할 수 없습니다.
mqsilist DatabaseInstanceMgr 명령을 발행하여 mqsicreatedb 명령에 의해 생성된 모든 데이터베이스의 목록을 생성하십시오. mqsicreatedb 명령을 사용하여 마지막 Derby 데이터베이스가 삭제된 후 DatabaseInstanceMgr 및 네트워크 서버를 제거할 수 있습니다. Windows 서비스가 실행되는 사용자 이름의 암호가 변경되면 mqsichangedbimgr 명령을 사용하여 서비스를 새 암호로 갱신하십시오. 또한 mqsichangedbimgr 명령을 사용하여 서비스의 사용자 이름도 변경할 수 있습니다. DatabaseInstanceMgr 구성요소를 시작 및 중지하려면 mqsistart 및 mqsistop 명령을 사용하십시오.
mqsicreatedb 명령으로 작성할 수 있는 데이터베이스 수에는 제한이 없습니다. 한 DatabaseInstanceMgr의 최대값은 데이터베이스가 작성된 수에 상관 없이 작성됩니다. WebSphere Message Broker 버전 6.0의 다중 동시 설치가 있을 경우, 이 설치는 DatabaseInstanceMgr 구성요소의 단일 인스턴스를 사용합니다.
mqsideletedb 명령을 사용하여 mqsicreatedb 명령으로 작성된 모든 자원을 지우십시오. 마지막 Derby 데이터베이스가 삭제되면 DatabaseInstanceMgr 및 네트워크 서버도 중지되고 제거됩니다. mqsideletedb 명령을 사용하여 데이터베이스 파일을 삭제할 수 없는 경우 수동으로 삭제할 수 있습니다.