ナビゲーションをスキップ

WebLogic Server 環境のコンフィグレーション

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

WebLogic 永続ストアの使い方

以下の節では、永続ストアをコンフィグレーションおよびモニタする方法について説明します。永続ストアは、永続性を必要とする WebLogic Server のサブシステムおよびサービスに対し、組み込みの高性能なストレージ ソリューションを提供します。

 


永続ストアの概要

永続ストアは、永続性を必要とする WebLogic Server のサブシステムおよびサービスに対し、組み込みの高性能なストレージ ソリューションを提供します。たとえば、永続 JMS メッセージを格納したり、ストア アンド フォワード機能を使用して、メッセージを一時的に格納してから送信したりできます。永続ストアは、ファイルベースのストアまたは JDBC 対応データベースの永続性をサポートします。

表 6-1 に、永続ストアへの接続を作成できる WebLogic サービスおよびサブシステムの多くを示します。永続ストアを使用する各サブシステムには、そのサブシステムを特定するためのユニークな接続 ID が指定されます。

表 6-1 永続ストアのユーザ 

サブシステム/サービス

格納対象

詳細についての参照先

診断サービス

ログ レコード、データ イベント、収集されたメトリック

『WebLogic 診断フレームワークのコンフィグレーションと使い方』の「Understanding WLDF Configuration

JMS メッセージ

永続メッセージ、恒久サブスクライバ

『WebLogic JMS プログラマーズ ガイド』の「Understanding the Messaging Models

JTA トランザクション ログ (TLOG)

サーバによって調整された、完了していない可能性のあるコミット済みトランザクションに関する情報

『WebLogic JTA プログラマーズ ガイド』の「Managing Transactions

パス サービス

メッセージのグループからメッセージング リソースへのマッピング

『WebLogic JMS のコンフィグレーションと管理』の「Using the WebLogic Path Service

ストア アンド フォワード (SAF) サービス エージェント

SAF 送信エージェントから SAF 受信エージェントに再転送するメッセージ

『WebLogic ストア アンド フォワードのコンフィグレーションと管理』の「Understanding the Store-and-Forward Service

Web サービス

信頼性のある WebLogic Web サービスの呼び出しによる SOAP 要求メッセージおよび応答メッセージ

『WebLogic Web サービス プログラマーズ ガイド』の「信頼性のある SOAP メッセージングの使い方

EJB タイマー サービス

EJB タイマー オブジェクト

『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド 』の「エンタープライズ JavaBean について

ストアの接続 ID の詳細については、「ストア接続のモニタ」を参照してください。

永続ストアの特長

永続ストアの主な特長は以下のとおりです。

高パフォーマンスのスループットとトランザクション サポート

永続ストアのパフォーマンス上の主な目標はスループットの向上です。複数のサブシステムが同じサーバ インスタンスまたは移行可能な対象を対象指定していれば、これらのサブシステムで同じ永続ストアを共有できます。

この点が、永続ストアを使用するパフォーマンス上の利点です。なぜなら、同じストアを使用する複数のサービスに関係するトランザクションであっても、そのトランザクションのトランザクション マネージャによって永続ストアが単一のリソースとして扱われるためです。たとえば、JMS と EJB のタイマーが 1 つのストアを共有し、JMS メッセージと EJB タイマーが単一のトランザクションで作成された場合、そのトランザクションは 1 フェーズとなり、リソースの書き込みは 1 回しか発生しません。一方、2 フェーズの場合であれば、リソースごとに 2 回ずつで合計 4 回のリソース書き込みが発生し、加えてトランザクション ログでのトランザクション エントリの書き込みが 1 回発生することになります。

ファイル ストアおよび JDBC ストアは、プロセスのクラッシュやハードウェアの電源障害が発生しても、コミットされた更新を失うことなく存続できます。コミットされていない更新は保持されるとは限りませんが、クラッシュ後にトランザクションが部分的に完了した状態で残されることはありません。

ファイル ストアと JDBC ストアの比較

以下に、ファイル ストアと JDBC ストアの類似点と相違点を挙げます。

ファイル ストア データのセキュリティ

ファイル ストア データのセキュリティを確保するには、すべてのファイル ストア ディレクトリに適切なディレクトリ パーミッションを設定する必要があります。データの暗号化が必要な場合は、適切なサード パーティ暗号化ソフトウェアを使用する必要があります。

永続ストアの高可用性

高可能性の点では、永続ファイルベースのストア (デフォルトまたはカスタム) は、「サーバレベル」の移行機能の一部としてその親サーバとともに移行できます。この場合、サービスレベルではなく、サーバレベルで自動または手動で移行できます。詳細については、『WebLogic Server クラスタ ユーザーズ ガイド』の「Server Migration」を参照してください。ただし、ファイルベースのストアは、クラスタ内の移行可能な対象サーバからアクセスできる共有ディスク上にコンフィグレーションする必要があります。

ファイルベースのストアは、JMS サーバおよび JTA トランザクション回復サービスの「サービスレベル」の移行の一部として移行することもできます。この場合、クラスタ内のサーバから別のサーバに移動させることができます。サービスレベルの移行の詳細については、『WebLogic Server クラスタ ユーザーズ ガイド』の「Service Migration」を参照してください。ただし、この場合も、ファイルベースのストアはクラスタ内の移行可能な対象サーバからアクセスできる共有ディスク上にコンフィグレーションする必要があります。

したがって、JMS サーバまたは JTA トランザクション ログの移行後に、リモート マシンに存在する永続ストアにアクセスするアプリケーションがある場合は、以下の高可用性ストレージ ソリューションのいずれかを実装する必要があります。

 


デフォルト永続ストアの使い方

管理サーバを含め、すべてのサーバ インスタンスには、コンフィグレーションが不要なデフォルトの永続ストアがあります。デフォルト ストアはファイルベースのストアで、サーバ インスタンスの data\store\default ディレクトリに格納された一連のファイルにデータを保持します。デフォルト ストア用のディレクトリは、存在しない場合には自動的に作成されます。このデフォルト ストアは、特定のストアを明示的に選択する必要がなく、システムのデフォルトのストレージ メカニズムを使用することで最適に動作するサブシステムから使用することができます。たとえば、永続ストアがコンフィグレーションされていない JMS サーバは、管理対象サーバ用のデフォルトのストアを使用して永続メッセージングをサポートします。

デフォルト ストアは、DefaultFileStoreMBean パラメータを直接操作してコンフィグレーションできます。この MBean がドメインのコンフィグレーション ファイルに定義されていない場合は、DefaultFileStoreMBean がデフォルト値で常に存在していることがコンフィグレーション サブシステムによって保証されます。

また、Administration Console を使用してデフォルト ストアのパラメータを変更することもできます。たとえば、デフォルトのディレクトリの場所や同期書き込みポリシーを変更できます。詳細については、Administration Console オンライン ヘルプの「デフォルト ストアの設定の変更」を参照してください。

デフォルトのファイル ストアを使用するだけでなく、特定のニーズに合わせてカスタム ファイル ストアや JDBC ストアをコンフィグレーションすることもできます。詳細については、「カスタム ファイル ストアと JDBC ストアの使い方」を参照してください。唯一の例外は、トランザクション ログ (TLOG) です。TLOG では、常にデフォルト ストアを使用します。これは、サーバの起動プロセスの初期に必ずトランザクション ログを使用するためです。

デフォルト ストアの場所

デフォルト ストアのデータは、ドメインのルート ディレクトリの servername サブディレクトリにある data\store\default ディレクトリに保持されます。

たとえば、デフォルト ファイル ストアのディレクトリ名が指定されていない場合、次のディレクトリがデフォルトになります。

bea_home\user_projects\domains\domain-name\servers\server-name\data\store\default

domainname はドメインのルート ディレクトリ (通常は c:\bea\user_projects\domains\domainname) です。これは、WebLogic Server プログラム ファイルが格納されるディレクトリ (通常は c:\bea\weblogic90) に対応するディレクトリです。

ただし、DefaultFileStoreMBean パラメータを直接操作するか Administration Console を使用して、デフォルト ストアの格納場所を変更することもできます。詳細については、Administration Console オンライン ヘルプの「デフォルト ストアの設定の変更」を参照してください。

デフォルト ファイル ストアの例

ドメインのコンフィグレーション ファイルでのデフォルト ファイル ストアの定義例を示します。この例では、デフォルトのディレクトリと同期書き込みポリシーの設定がオーバーライドされています。

<server>
<name>myserver</name>
<default-file-store>
<directory>C:/store</directory>
<synchronous-write-policy>Disabled</synchronous-write-policy>
</default-file-store>
</server>

 


カスタム ファイル ストアと JDBC ストアの使い方

デフォルトのファイル ストアを使用するだけでなく、特定のニーズに合わせてファイル ストアや JDBC ストアをコンフィグレーションすることもできます。デフォルト ファイル ストアと同様、カスタム ファイル ストアもディレクトリに格納された一連のファイルにデータを保持します。一方、特定のストレージ デバイスにデータを保持するカスタム ファイル ストアを作成することもできます。ファイル ストアのディレクトリをコンフィグレーションする場合は、そのファイル ストアが配置されているサーバ インスタンスにアクセスできるディレクトリを設定する必要があります。

JDBC ストアは、リレーショナル データベースをストレージとして使用している場合にコンフィグレーションできます。JDBC ストアを使用することで、指定の JDBC データ ストアを介してアクセスできる標準の JDBC 対応データベースに永続メッセージを格納できます。JDBC ストアのデータベース テーブルに格納されたデータには、WLStore という論理名が付けられます。データベースの高可用性とパフォーマンスをコンフィグレーションするかどうかは、データベース管理者の判断です。

永続ストアのコンフィグレーションの詳細については、「カスタム永続ストアを使用すべき状況」を参照してください。

カスタム永続ストアを使用すべき状況

WebLogic Server では、カスタム ファイル ストアや JDBC ストアを作成するためのコンフィグレーション オプションが用意されています。たとえば、次のような状況が考えられます。

永続ストアの作成方法

カスタム永続ストアは、以下の方法でコンフィグレーションできます。

 


カスタム (ユーザ定義) ファイル ストアの作成

以下の節では、カスタム ファイル ストアの例を示し、同期書き込みポリシーを選択する上でのコンフィグレーション ガイドラインについて説明します。

カスタム ファイル ストアを作成する場合は、デフォルトの FileStoreMBean パラメータを直接編集できます。Administration Console を使用してカスタム ファイル ストアを作成する方法については、Administration Console オンライン ヘルプの「ファイル ストアの作成」を参照してください。

カスタム ファイル ストアをコンフィグレーションする主な手順

カスタム ファイル ストアを作成するための主な手順は次のとおりです。

  1. ファイル ストアのデータを格納するディレクトリを作成します。
  2. カスタム ファイル ストアを作成し、作成したディレクトリの場所を指定します。
  3. カスタム ファイル ストアを使用するサブシステムに、以下の方法でカスタム ファイル ストアを関連付けます。

カスタム ファイル ストアの例

ドメインのコンフィグレーション ファイルでのデフォルト ファイル ストアの定義例を示します。この例では、ファイルが /disk1/jmslog ディレクトリに保持されるように定義されています。

<file-store>
<name>SampleFileStore</name>
<target>myserver</target>
<directory>/disk1/jmslog</directory>
</file-store>

表 6-2 に、ファイル ストアの変更可能なコンフィグレーション パラメータを示します。

表 6-2 ファイル ストアのコンフィグレーション オプション

オプション

必須/省略可能

説明

名前

必須

ファイル ストアの名前。ドメイン内のすべてのストアの間でユニークであることが必要。

対象

必須

ファイル ストアを対象指定するサーバ インスタンス。複数のサブシステムが同じサーバ インスタンスまたは移行可能な対象を対象指定していれば、これらのサブシステムで同じストアを共有できる。

ディレクトリ

必須

ファイル ストアを保持するディレクトリのファイル システム上のパス名。

論理名

省略可能

必要に応じて、EJB などのサブシステムでモジュールをクラスタ全体にデプロイする場合に使用する。ただし、クラスタ内のサーバ インスタンスごとに別々の物理ストアが必要になる。このようなコンフィグレーションでは、各物理ストアに固有の名前を付けるが、すべての永続ストアで同じ論理名を共有する。

同期書き込みポリシー

省略可能

必要に応じて、ファイル ストアがディスクにレコードをフラッシュする方法を定義する。指定できる値は、[Direct-Write] (デフォルト)、[Cache-Flush]、および [Disabled]。

詳細については、「同期書き込みポリシーのコンフィグレーションのガイドライン」を参照。

Administration Console を使用してカスタム ファイル ストアをコンフィグレーションする手順については、Administration Console オンライン ヘルプの「ファイル ストアの作成」を参照してください。

同期書き込みポリシーのコンフィグレーションのガイドライン

デフォルトの同期書き込みポリシーである [Direct-Write] では、ファイル ストアのデータが Solaris および Windows オペレーティング システムのディスクに直接書き込まれます。Windows システム上では通常、[Cache-Flush] を選んだ場合よりも速く書き込まれます。

通常、デフォルト ポリシーから [Disabled] に変更すると、ファイル ストアのパフォーマンスは大幅に向上します。その代わり、オペレーティング システムがクラッシュしたり、ハードウェアの障害が発生したりした場合には、メッセージがトランザクション対応であっても、送信したメッセージが失われたり、同じメッセージを重複して受信したりする可能性があります。これは、書き込みがメモリにキャッシュされると、ディスクに正常に格納されるまで待機せず、すぐにトランザクションが完了するためです。オペレーティング システムでは通常のシャットダウン時に未処理の書き込みをすべてフラッシュするので、OS をシャット ダウンするだけではこうしたエラーは発生しません。こうしたエラーは、ビジー状態のサーバの電源を突然遮断することでエミュレートできます。

 


JDBC ストアの作成

以下の節では、JDBC ストアの例を示し、既存の DDL を使用した JDBC ストア用のデータベースの作成について説明します。また、DDL ファイルで Oracle blob レコード カラムを有効にする方法についても説明します。

JDBC ストアを作成する場合は、デフォルトの JDBCStoreMBean パラメータを直接編集できます。Administration Console を使用して JDBC ストアを作成する方法については、Administration Console オンライン ヘルプの「JDBC ストアの作成」を参照してください。

JDBC ストアでプレフィックスを使用する場合のコンフィグレーション ガイドライン、および JDBC データ ソースの推奨設定については、「JDBC ストアのコンフィグレーションのガイドライン」を参照してください。

JDBC ストアをコンフィグレーションする主な手順

JDBC ストアを作成するための主な手順は次のとおりです。

  1. JDBC ストアへのインタフェースとなる JDBC データ ソースまたはマルチ データ ソースを作成します。
  2. JDBC ストアを作成し、これを JDBC データ ソースまたはマルチ データ ソースに関連付けます。
  3. プレフィックス オプションに、コンフィグレーションする JDBC ストア テーブルごとに 1 つのユニークな値をコンフィグレーションすることを強くお勧めします。
  4. JDBC ストアを使用するサブシステムに、JDBC ストアを関連付けます。

JDBC ストアの例

ドメインのコンフィグレーション ファイルでの JDBC ストアの定義例を示します。この例では、JDBC データ ソース MyDataSource を使用しており、論理名が指定されています。

<jdbc-store>
<name>SampleJDBCStore</name>
<target>yourserver</target>
<data-source>MyDataSource</data-source>
<logical-name>Baz</logical-name>
</jdbc-store>

表 6-3 に、JDBC ストアの変更可能なコンフィグレーション パラメータを示します。

表 6-3 JDBC ストアのコンフィグレーション オプション

オプション

必須/省略可能

説明

名前

必須

JDBC ストアの名前。ドメイン内のすべてのストアの間でユニークであることが必要。

対象

必須

JDBC ストアを対象指定するサーバ インスタンス。複数のサブシステムが同じサーバ インスタンスまたは移行可能な対象を対象指定していれば、これらのサブシステムで同じストアを共有できる。

データ ソース

必須

ストアのデータベース テーブル (WLStore) にアクセスするために、この JDBC ストアによって使用される JDBC データ ソースまたはマルチ データ ソース。このデータ ソースまたはマルチ データ ソースは、JDBC ストアと同じサーバ インスタンスを対象指定していなければならない。

注意 : グローバル トランザクションをサポートするようにコンフィグレーションされた JDBC データ ソースは指定できない。したがって、非 XA JDBC ドライバを使用する JDBC データ ソースを指定しなければならない。また、このデータ ソースで [ロギング ラスト リソース] または [2 フェーズ コミットのエミュレート] を有効にすることはできない。

プレフィックス名

省略可能

通常、JDBC ストアのテーブルのプレフィックスは [[[catalog.]schema.]prefix] というフォーマットで指定する。

複数の JDBC ストアを使用する場合は、コンフィグレーションする JDBC ストアごとに 1 つのユニークなプレフィックスを設定する必要がある。プレフィックスを指定しないと、JDBC ストアのテーブル名は単に WLStore となり、データベースでは JDBC 接続の現在のユーザに基づいて暗黙的にスキーマが決定される。また、2 つの JDBC ストアで同じデータベース テーブルを共有することはできない。詳細については、「JDBC ストアでのプレフィックスの使い方」を参照。

論理名

省略可能

必要に応じて、EJB などの WebLogic Server サブシステムでモジュールをクラスタ全体にデプロイする場合に使用する。ただし、クラスタ内のサーバ インスタンスごとに別々の物理ストアが必要になる。このようなコンフィグレーションでは、各物理ストアに固有の名前を付けるが、すべての永続ストアで同じ論理名を共有する。

DDL ファイルからのテーブルの作成

省略可能

JDBC ストアのデータベース テーブル (WLStore) を作成するために、必要に応じて、サポートされている DDL (データ定義言語) ファイルで使用する。このオプションは、JDBC ストアのデータベース テーブルがすでに存在する場合は無視される。詳細については、「デフォルトおよびカスタム DDL ファイルを使用した JDBC ストア テーブルの自動作成」を参照。

Administration Console を使用して JDBC ストアをコンフィグレーションする手順については、Administration Console オンライン ヘルプの「JDBC ストアの作成」を参照してください。

サポートされる JDBC ドライバ

JDBC ストアを使用する場合、JDBC ドライバを介してアクセスできるデータベースであればバッキング データベースにできます。WebLogic Server では、サポートされるデータベース用の一部の JDBC ドライバが自動的に検出されます。

これらのデータベースごとに対応する DDL (データ定義言語) ファイルがあり、WL_HOME\server\lib\weblogic.jar ファイル内の weblogic/store/io/jdbc/ddl ディレクトリに格納されています。WL_HOME は、WebLogic Server の最上位のインストール ディレクトリです。

表 6-4 サポートされる JDBC ドライバと対応する DDL ファイル

データベース

DDL ファイル

Cloudscape

cloudscape.ddl

IBM DB2

db2.ddl
db2v6.ddl

Informix

informix.ddl

Microsoft SQL (MSSQL) Server

msssql.ddl

HP NonStop SQL

nssql.ddl

MySQL

mysql.ddl

Oracle

oracle.ddl
oracle_blob.ddl

Pointbase

pointbase.ddl

Sybase

sysbase.ddl

Times Ten

timesten.ddl

DDL ファイルは、JDBC ストアのデータベース テーブル (WLStore) を作成するための SQL コマンド (末尾がセミコロン) を含むテキスト ファイルです。したがって、このリストに含まれていないデータベースを使用する場合は、そのデータベースに合わせて既存の DDL ファイルを編集します。詳細については、「カスタム DDL ファイルを使用した JDBC ストア テーブルの作成」を参照してください。

デフォルトおよびカスタム DDL ファイルを使用した JDBC ストア テーブルの自動作成

[JDBC ストア : コンフィグレーション] ページには [DDL ファイルからのテーブルの作成] オプションがあります。このオプションを使用すると、JDBC ストアのバッキング テーブル (WLStore) の作成に使用するコンフィグレーション済みの DDL ファイルにアクセスできます。JDBC ストアのバッキング テーブルがすでに存在する場合、このオプションは無視されます。このオプションを使用するのは、サポートされないデータベース用に作成したカスタム DDL ファイルを指定する場合や、以前のリリースの JMS JDBC ストア テーブルを現在の JDBC ストア テーブルにアップグレードする場合などです。

[DDL ファイルからのテーブルの作成] フィールドに DDL ファイル名が指定されておらず、バッキング テーブルが存在しないことが JDBC ストアによって検出されると、データベース ベンダに固有のコンフィグレーション済み DDL ファイルが実行され、自動的にテーブルが作成されます (「サポートされる JDBC ドライバ」を参照してください)。

[DDL ファイルからのテーブルの作成] に DDL ファイル名が指定されており、バッキング テーブルが存在しないことが JDBC ストアによって検出されると、まずファイル パスに指定した DDL ファイルが検索され、見つからない場合は CLASSPATH 内の DDL ファイルが検索されます。ファイルが見つかった時点で、その DDL ファイル内の SQL が実行されて JDBC ストアのバッキング テーブルが作成されます。コンフィグレーション済みのファイルが見つからず、既存のテーブルもない場合、JDBC ストアは起動に失敗します。

カスタム DDL ファイルを使用した JDBC ストア テーブルの作成

サポートされる JDBC ドライバ」のリストにないデータベースを使用する場合は、既存の DDL テンプレート ファイルをコピーし、使用するデータベースに合わせて編集できます。

  1. JDK で用意されている JAR ユーティリティを使用すると、次のコマンドで DDL ファイルを /weblogic/store/io/jdbc/ddl ディレクトリに抽出できます。
  2. jar xf weblogic.jar /weblogic/store/io/jdbc/ddl

    注意 : weblogic/store/io/jdbc/ddl パラメータを省略すると、jar ファイル全体が抽出されます。

  3. 使用しているデータベースに合わせて DDL ファイルを編集します。SQL コマンドは複数行にわたって指定できます。末尾にはセミコロン (;) を付けます。シャープ記号 (#) で始まる行はコメントです。
  4. 変更を保存し、新しい DDL の名前を適切な名前に変更します (例 : mydatabase.ddl)。
  5. Administration Console オンライン ヘルプの「JDBC ストアの作成」の説明に従って JDBC ストアを作成します。
  6. [General Configuration] ページの [DDL ファイルからのテーブルの作成] オプションを使用して、作成したカスタム DDL ファイルを指定します (例 : /mydatabase.ddl)。
  7. 注意 : Windows システムの場合、絶対パス名には必ずドライブ文字を含めます。

Oracle BLOB レコード カラムの有効化

Oracle データベースの場合は、oracle_blob.ddl ファイルを使用すると、レコード カラムの型がデフォルトの LONG RAW 型ではなく BLOB 型の JDBC ストア テーブルを作成できます。oracle_blob.ddl ファイルは、「サポートされる JDBC ドライバ」に示すように、WebLogic CLASSPATH にあらかじめコンフィグレーションされています。

JDBC ストアで Oracle BLOB DDL を使用するには

  1. JDBC ストアを使用するサーバ インスタンスを停止します。
  2. JDBC ストア テーブルの管理」の説明に従って、現在の JDBC テーブルを削除します。
  3. サーバ インスタンスを再起動します。
  4. Administration Console オンライン ヘルプの「JDBC ストアの作成」の説明に従って、新しい JDBC ストアを作成します。
  5. [General Configuration] ページの [DDL ファイルからのテーブルの作成] オプションで、oracle_blob.ddl ファイルの場所として /oracle_blob.ddl を指定します。
  6. [完了] をクリックすると、JDBC ストアのバッキング テーブルが作成されます。

すでに Oracle の LONG RAW カラムに入っているデータを保持する必要がある場合は、この方法で BLOB に切り替えないようにしてください。このような場合は、SQL ALTER TABLE コマンドに関する Oracle ドキュメントを参照してください。

JDBC ストア テーブルの管理

JDBC utils.Schema ユーティリティを使用すると、既存のバージョンを削除することで新しい JDBC ストア データベース テーブル (WLStore) を再生成できます。通常、このテーブルは自動的に作成されるため、このユーティリティを実行する必要はありません。しかし、既存の JDBC ストア データベース テーブルに障害が発生した場合は、utils.Schema ユーティリティを使用して削除できます。

utils.Schema ユーティリティは Java プログラムで、以下の項目を指定するコマンドライン引数をとります。

utils.Schema ユーティリティを使用した JDBC ストア テーブルの削除

utils.Schema コマンドを次のように入力します。

$ java utils.Schema url JDBC_driver [options] DDL_file

注意 : utils.Schema を実行するには、CLASSPATHweblogic.jar ファイルを指定する必要があります。

表 6-5 に、utils.Schema のコマンドライン引数を示します。

表 6-5 utils.Schema のコマンドライン引数

引数

説明

url

データベース接続 URL。この値は、JDBC 仕様の定義に従ってコロン区切りの URL にする。

JDBC_driver

JDBC ドライバ クラスの完全パッケージ名。

options

省略可能なコマンド オプション。

データベースの必要に応じて、以下のものを指定する。

  • ユーザ名とパスワード。次のように指定する。
    -u <username> -p <password>

  • JDBC データベース サーバのドメイン ネーム サーバ (DNS) 名。次のように指定する。
    -s <dbserver>

-verbose オプションも指定可能。このオプションを指定すると、utils.Schema は実行時に SQL コマンドをエコーする。

DDL_file

実行する SQL コマンドが記された DDL テキスト ファイルの絶対パス名。詳細については、「サポートされる JDBC ドライバ」を参照。

たとえば、次のコマンドでは、ユーザ名 user1、パスワード foobar で、Oracle サーバ DEMOMYWLStore という JDBC テーブルが削除されます。

$ echo "drop MYWLStore;" > drop.ddl
$ java utils.Schema 
jdbc:weblogic:oracle:DEMO \
weblogic.jdbc.oci.Driver -u user1 -p foobar -verbose \
drop.ddl

 


JDBC ストアのコンフィグレーションのガイドライン

以下の節では、JDBC ストアのプレフィックスを使用する場合のガイドライン、JDBC ストア用の WebLogic JDBC データ ソースの推奨設定、および JDBC ストアを使用した JMS トランザクションの処理について説明します。

JDBC ストアでのプレフィックスの使い方

JDBC ストア データベースには、WLStore というデータベース テーブルが含まれます。このデータベース テーブルは、WebLogic Server によって自動的に生成され、内部的に使用されます。JDBC ストアには任意指定のプレフィックス名パラメータがあり、これを使用するとより正確にデータベース テーブルにアクセスできます。

JDBC WLStore テーブル名のプレフィックスはコンフィグレーションするのが常にベスト プラクティスです。特に次の場合にはコンフィグレーションする必要があります。

JDBC ストア テーブルの規則

データの消失を避けるため、以下の規則に従ってください。

プレフィックス名のフォーマットのガイドライン

ほとんどのデータベースでは、JDBC ストアのバッキング データベース テーブルのプレフィックス名オプションを、コンフィグレーションした JDBC ストアごとに次のフォーマットで設定する必要があります。これにより、JDBC ストア テーブル名にプレフィックスが付加され、有効なテーブル名になります。

[[[catalog.]schema.]prefix]

[[catalog.]schema.]prefix フォーマット内の各ピリオド記号は重要です。通常、catalog は DBMS が参照するシステム テーブルのセットを識別し、schema はテーブル オーナー (username) の ID に対応します。プレフィックスを指定しないと、JDBC ストアのテーブル名は単に WLStore となり、データベースでは JDBC 接続の現在のユーザに基づいて暗黙的にスキーマが決定されます。

たとえば、データベース管理者は、次のようにプロダクション データベースで販売部門用の固有のテーブルを管理できます。

[[[Production.]JMSAdmin.]Sales]

この場合、テーブルは JMSAdmin スキーマによって Production カタログ内に作成され、SalesWLStore という名前になります。

Oracle などの一部の DBMS ベンダの場合、設定または選択するカタログがないので、このフォーマットは [[schema.]prefix] となります。詳細については、お使いの DBMS のマニュアルでテーブルの完全修飾名に関する説明を参照してください。ただし、その DBMS で指定されている構文が、このオプションに必要なフォーマットとは異なる場合があることに注意します。

警告 : WLStore テーブルがすでにデータベース内にある状態でプレフィックス名の設定を変更する場合は、既存のテーブル データの保持の面で注意が必要です。この場合、データベース管理者が既存のデータベース テーブルの名前を変更して、新たにコンフィグレーションしたテーブルの名前に一致させる必要があります。

JDBC ストア用の JDBC データ ソースの推奨設定

JDBC ストアに JDBC データ ソースまたはマルチ データ ソースを使用する場合は、以下の設定を推奨します。

障害が発生したデータベースへの自動再接続

WebLogic Server には、堅牢な JDBC データ ソースが用意されています。JDBC 接続プールでは、障害が発生したデータベースがオンラインに復旧した場合、WebLogic Server を再起動しなくても、自動的にこのデータベースとの再接続を確立できます。この機能を活用し、JDBC ストアをより堅牢なものとして使用するには、JDBC ストアに関連付けられている JDBC データ ソースの以下のオプションをコンフィグレーションします。

TestConnectionsOnReserve="true"
TestTableName="SYSTABLES"
ConnectionCreationRetryFrequencySeconds="600"

JDBC のデフォルトのテスト テーブル名については、『WebLogic JDBC のコンフィグレーションと管理』の「Connection Testing Options for a Data Source」を参照してください。データベースの再接続の試行数の設定については、『WebLogic JDBC のコンフィグレーションと管理』の「接続作成の再試行の有効化」を参照してください。

WebLogic Type 4 JDBC DB2 ドライバ用に必要な設定

JDBC ストアとして使用するデータ ソースで DB2 用の WebLogic Type 4 JDBC ドライバを使用する場合は、JMS の内部的なバッチ処理の要件を満たすため、BatchPerformanceWorkaround プロパティを「true」に設定する必要があります。

詳細については、『WebLogic Type 4 JDBC ドライバ ガイド』の「バッチ挿入およびバッチ更新に関するパフォーマンスの回避策」を参照してください。

JDBC ストアを使用した JMS トランザクションの処理

JDBC ストアは、グローバル トランザクションをサポートするようにコンフィグレーションされた JDBC データ ソースを使用するようにコンフィグレーションすることはできません。JDBC ストアは、非 XA JDBC ドライバを使用する JDBC データ ソースを使用する必要があります。また、このデータ ソースで [ロギング ラスト リソース] または [2 フェーズ コミットのエミュレート] を有効にすることはできません。

JDBC ストアは、XAResource インタフェースを実装しているため、JDBC ストア自体のリソース マネージャとして動作し、JDBC ドライバ レベルより上位のトランザクションを処理します。つまり、ストア自体が XAResource を実装し、メッセージがデータベースに格納されている場合でもそのデータベースに依存せずにトランザクションを処理します。

このため、JDBC ストアとデータベース (JMS メッセージが格納されているデータベースと同じ場合でも) を使用する場合、それは常に 2 フェーズ コミット トランザクションになります。

JDBC ストアでの JMS トランザクションの使用については、『WebLogic JMS プログラマーズ ガイド』の「WebLogic JMS によるトランザクションの使い方」を参照してください。

パフォーマンスは、以下の方法で向上させることもできます。

 


永続ストアのモニタ

既存の各永続ストアおよび開かれている各ストア接続の統計情報をモニタできます。

ストアのモニタ

各永続ストアは、実行時には PersistentStoreRuntimeMBean インスタンスによって表現されます。以下のオプションが用意されています。

表 6-6 永続ストアの実行時オプション

オプション

説明

CreateCount

この永続ストアに対して発行された作成リクエストの数

ReadCount

この永続ストアに対して発行された読み込みリクエストの数

UpdateCount

この永続ストアによって発行された更新リクエストの数

DeleteCount

この永続ストアによって発行された削除リクエストの数

ObjectCount

この永続ストアに含まれるオブジェクトの数

Connections

この永続ストアのアクティブな接続の数

PhysicalWriteCount

永続ストアがそのデータを恒久ストレージにフラッシュした回数

ストア接続のモニタ

永続ストアは、開かれている各永続ストア接続についても PersistentStoreConnectionRuntimeMBean を登録します。以下のオプションが用意されています。

表 6-7 永続ストア接続の実行時オプション

オプション

説明

CreateCount

この接続に対して発行された作成リクエストの数

ReadCount

この接続に対して発行された読み取りリクエストの数

UpdateCount

この接続によって発行された更新リクエストの数

DeleteCount

この接続によって発行された削除リクエストの数

ObjectCount

この接続に含まれるオブジェクトの数

表 6-8 に、永続ストアへの接続を作成できる WebLogic サービスおよびサブシステムの実行時プレフィックス名のほとんどを示します。

表 6-8 永続ストアの実行時プレフィックス名 

サブシステム/サービス

実行時プレフィックス名

デプロイメント

weblogic.deploy.internal

internal はデプロイメント接続の名前

診断サービス

weblogic.diagnostics.internal

internal は診断アーカイブ接続の論理名

EJB タイマー サービス

weblogic.ejb.timer.internal

internal は、サーバ インスタンス内でユニークに特定される EJB デプロイメント

JMS サービス

JMS サーバ :
weblogic.messaging.jmsServer.internal
internal は JMS サーバ接続の名前

JMS 恒久サブスクライバ :
weblogic.messaging.jmsServer.durablesubs.internal
internal は恒久サブスクライバ接続の名前

JTA トランザクション ログ (TLOG)

weblogic.transaction.internal

internal は TLOG 接続の名前

パス サービス

weblogic.messaging.PathService.internal

internal はパス サービス接続の名前

SAF サービス

SAF エージェント
weblogic.messaging.SAFAgent@server1.internal
internal は SAF エージェントの接続の名前

SAF 恒久サブスクライバ :
weblogic.messaging.SAFAgent@server1.durablesubs.internal
internal は恒久サブスクライバ接続の名前

Web サービス

weblogic.wsee.server.store.internal

internal は Web サービスの接続の名前

 


永続ストアの制限事項

永続ストアには以下の制限があります。

 

ページの先頭 前 次