Derby データベースにアクセスするために、環境をセットアップします。
Derby とは、The Apache Software Foundation の Apache Derby オープン・ソース・プロジェクトに基づいた DB2® データベース製品を指します。Derby データベース・サポートは、Windows® 上のブローカー・コンポーネントだけに組み込まれています。
このトピックでは、Windows 上で Derby をサポートするのに必要とされるプロセス、サービス、IP ポート、およびデータベース・ファイルについて説明します。
Derby データベースには、関連したセキュリティー管理がなく、最適化が実行されていません。 これらの理由から、Derby は実稼働環境では使用しないでください。
ブローカーは、データベースへの接続に ODBC を使用します。Derby は、ODBC をサポートしないネイティブ Java™ データベース・エンジンです。 DB2 Run-Time Client は、ODBC が Derby データベースにアクセスするためのドライバーを提供します。DB2 Run-Time Client は、ブローカーと Derby データベース間の ODBC 接続を提供および管理する目的でのみ使用されます。 これは、DB2 データベースを提供しないため、DB2 の完全インストールが通常必要とするリソースを消費しません。
外部プログラムから ODBC を通して Derby データベースへアクセスできるように、ネットワーク・サーバーを作成して開始する必要があります。mqsicreatedb コマンドを使用して Derby データベースを最初に作成すると、Windows サービスも作成されます。このサービスは IBM MQSeries® Broker DatabaseInstanceMgr6 と呼ばれます。Windows の起動時に自動的に開始し、それに伴ってネットワーク・サーバーも開始します。このサービスは、mqsicreatedb コマンドで指定されていたユーザー名で実行されます。
mqsicreatedb コマンドを使用して作成するすべての Derby データベースは、データベース・インスタンス・マネージャーおよびネットワーク・サーバーの 1 つのインスタンスによってサービスを提供します。ネットワーク・サーバーが機能する前に、TCP/IP ポート番号が必要になります。 Derby 用のデフォルトのポート番号は 1527 です (Derby データベースの作成時にこのポートを使用)。 mqsicreatedb コマンドを発行して Derby データベースを初めて作成する際に、異なるポート番号を指定できます。ただし、ネットワーク・サーバーのセットアップ後には、まず mqsideletedb を使用してすべての Derby データベースを除去しなければ、ポート番号を変更することはできません。
mqsilist DatabaseInstanceMgr コマンドを実行して、mqsicreatedb コマンドによって作成されたデータベースすべてのリストを作成します。 最後の Derby データベースが除去された後、mqsideletedb コマンドを使用して データベース・インスタンス・マネージャーおよびネットワーク・サーバーを除去できます。
Windows サービスを実行するためのユーザー名のパスワードを変更する場合は、mqsichangedbimgr コマンドを使用して新しいパスワードでサービスを更新します。また、mqsichangedbimgr コマンドを使用して、サービスのユーザー名を変更することもできます。mqsistart および mqsistop コマンドを使用して、データベース・インスタンス・マネージャーのコンポーネントを始動および停止します。
mqsicreatedb コマンドを使用して作成できるデータベースの数は、使用できるシステム・リソースによってのみ制限されます。作成されたデータベースの数にかかわりなく、最大 1 つの データベース・インスタンス・マネージャーが作成されます。1 つのコンピューターに WebSphere® Message Broker の複数インスタンスをインストールした場合は、すべてのインストール済み環境がデータベース・インスタンス・マネージャー・コンポーネントの 1 つのインスタンスを使用することになります。
mqsideletedb コマンドを使用して、mqsicreatedb コマンドによって作成されるすべてのリソースを消去します。 最後の Derby データベースが削除されると、データベース・インスタンス・マネージャーおよびネットワーク・サーバーも停止および除去されます。mqsideletedb コマンドを使用してデータベース・ファイルを削除できない場合、それらを手動で削除することができます。