メッセージング・エンジンのデータ・ストアを空にすると、
そのメッセージング・エンジンを削除することなく、パーシスタント運用情報を破棄できるようになります。
このタスクについて
メッセージング・エンジンのパーシスタント運用情報は、メッセージの配信および送信に関するパーシスタント・メッセージおよび関連情報として保管されます。
WebSphere® Application Server 構成からメッセージング・エンジンとその宛先を削除せずに、この情報を破棄するには、メッセージング・エンジン・データ・ストアを空にします。
注意:
- データ・ストアを空にすると、保持されていたパーシスタント・メッセージはすべて失われますが、作成した宛先は残ります。
- 注意してデータ・ストアを完全に空にしてください。データ・ストアが一部分しか空になっていないと、予測不能な動作が発生します。
手順
- メッセージング・エンジンおよびアプリケーション・サーバーが停止済みであることを確認します。
- データ・ストアを空にします。
方法はいくつかあります。
- (デフォルトのデータ・ストアでの場合と同様に) 組み込み Derby データベースを使用しており、そのデータベースにメッセージング・エンジン・データ・ストア用のテーブルがちょうど含まれている場合、データベースが使用するファイルを削除します。 これによりデータベースが削除されます。
メッセージング・エンジンを次に始動したときに、これに置き換わる空のデータベースが作成されます。
重要: アプリケーション・データ用に同じデータベースを使用している場合は、この後のステップでそれ以外の RDBMS について説明するように、代わりにデータ・ストアのテーブルを空にする必要があります。
- ファイル・システム内にあるデータベースのデータ・ディレクトリーを探します。
データベースで使用されるファイルが格納されているディレクトリーの名前は、
メッセージング・エンジンのデータ・ストアで使用される JDBC データ・ソースの構成にあるデータベース名と同じです。
デフォルトでは以下のようになっています。
${USER_INSTALL_ROOT}/profiles/dmgr/databases/com.ibm.ws.sib/messagingEngineName
- ディレクトリーを削除します。Derby データベース用に別のログ・ディレクトリーを構成している場合は、それも削除します。ファイルを削除できないことがわかった場合、アプリケーション・サーバーも停止していることを確認してください (メッセージング・エンジンは停止したがアプリケーション・サーバーは停止していない場合、
ファイルを削除することはできません)。
- Derby Network Server データベースを使用している場合も同様に手順を使用しますが、ファイルを削除する前に Derby Network Server も停止します。 メッセージング・エンジンを始動する前に、Derby Network Server を再始動する必要があります。WebSphere Application Server Network Deployment の USER_INSTALL_ROOT は、通常、WebSphere Application Server (基本) のインストール時に変更されます。データ・ストアが ${USER_INSTALL_ROOT}/profiles/dmgr には見つからず、${USER_INSTALL_ROOT}/profiles/profileName で見つかる場合があります。
ここで、profileName は、インストール時にユーザーが指定した名前です。
- その他の RDBMS を使用している場合は、RDBMS の管理ツールを使用して、データ・ストアのテーブルを空にすることができます。 テーブルからすべてのデータを除去するか、テーブルを除去してから再作成することができます。
ほとんどの RDBMS は、テーブルからすべてのデータを除去する TRUNCATE TABLE ステートメントをサポートしています。これは、テーブルとその権限を完全に保持したままでデータ・ストア・テーブルを空にする方法であるため、推奨されています。
RDBMS が TRUNCATE TABLE ステートメントをサポートしていない場合 (例えば DB2® はサポートしていません) は、DELETE ステートメントを使用して、すべてのテーブルからすべての行を削除することができます。ただし、RDBMS におけるリソースの制限から、テーブルに多数のデータが含まれている場合、この方法は実用的でない可能性があります。
その場合、テーブルを除去してから、必要な索引と権限を使用して再作成してください。
ヒント: WebSphere Application Server
によるデータ・ストア・テーブルの作成を使用可能に設定してある場合は、DROP
TABLE ステートメントを使用してテーブルを除去できます。
メッセージング・エンジンは、次に始動されたときに、これらに置き換わる空のテーブルを作成します。
WebSphere Application Server (基本) によるデータ・ストア・テーブルの作成を使用不可にしている場合は、メッセージング・エンジンを始動する前に、除去したテーブルを再作成する必要があります。
ヒント: sibDDLGenerator コマンドの -drop オプションを使用することで、テーブルを除去するための DDL を生成することができます。
オプション: バスから除去することでメッセージング・エンジンを削除した場合は、これで再作成できるようになります。
- メッセージング・エンジンおよびアプリケーション・サーバーを始動します。