WebLogic Integration のデータベースを準備するには、WebLogic Platform ツールと、使用する RDBMS に最適なアプリケーションが必要です。WebLogic Platform の一般的な要件と推奨事項については、『WebLogic Platform 10.2 でサポート対象のコンフィグレーション』を参照してください。
WebLogic Integration の詳細については、以下のトピックを参照してください。
データベースのコンフィグレーション
WebLogic Integration ソリューションは単一サーバまたはクラスタ環境用にコンフィグレーションできます。データベース リソースをコンフィグレーションするには、以下の手順を実行します。
重要推奨事項
以下では、WebLogic Integration データベース リソースに関する重要な推奨事項について説明します。
- JDBC 接続プールをコンフィグレーションする場合
- WebLogic Integration の
cgDataSource を機能するようにコンフィグレーションする必要があります。使用するレポート データ テーブルが cgDataSource 以外のデータ ストアで参照されている場合は、bpmArchDataSource を有効なプールとして定義し、WebLogic Integration Administration Console を使用してレポート データ データストアとしてコンフィグレーションする必要があります。WebLogic Integration Administration Console でレポート データ データストアをコンフィグレーションする方法については、『WebLogic Integration Administration Console の使用』の「システム コンフィグレーション」にある「Configuring the Archive Data Store」を参照してください。
- 開発モードで WebLogic Integration データベース テーブルを削除する場合
- WebLogic Server が動作していることを確認します。WebLogic Server が動作していない状態で WebLogic Integration テーブルを削除した場合、WebLogic Integration は再起動しません。開発モードでの初期起動が成功すると、クッキー ファイル (
WLI8.1.2_db_tables_checked および WLI8.1.2_db_tables_checked.backup ) が domain/wliconfig ディレクトリに保存されます。これらのファイルが存在する場合、開発モードでの 2 回目以降の再起動時にデータベース作成が機能しません。そのため、WebLogic Server の次回起動時までの間に WebLogic Integration のデータベース テーブルが削除された場合は WebLogic Integration での処理対象となるテーブルは存在せず、WebLogic Server でも作成されません。正常な処理に戻すには、クッキー ファイルを削除して再起動する必要があります。
以下のトピックも参照してください。
コンフィグレーションに DB2 が含まれている場合 :
- DB2 出力バッファのサイズをチューニングして、トレーディング パートナ管理のトランザクション アクティビティに対応します。出力バッファが小さすぎると、非同期サービス キューで例外が送出されます。
コンフィグレーションに Sybase が含まれている場合 :
- WebLogic Integration アプリケーションで交換されるメッセージの標準的なサイズに合うように、Sybase の
procedure cache をデフォルトの 3271 から変更します。procedure cache percent は 25% に設定する必要があります。この数値は、Sybase Server がロック、ユーザ接続、およびサーバ コード自体に必要なメモリを割り当てた後に、プロシージャ キャッシュに割り当てられるメモリのパーセンテージを指定するものです。メッセージ サイズが procedure cache のサイズを超えると、メッセージは BEA-463014 例外により失敗する場合があります。
- 大きいログ セグメントを作成し、ログ セグメントのサイズが特定の割合に達したときにデータベース管理者に通知を送信するしきい値プロセスを作成します。データベース管理者は手動でログをダンプして、負荷が高いときにログが満杯にならないようにする必要があります。
ワークリストで Sybase を使用する場合 :
create_dtabase.sql: データベースを作成してログインします。メインの WLI データベースを作成する必要があります。GroupSpace を使用する場合は、そのデータベースも作成します。また、追加の各コンテンツ管理リポジトリ用のデータベースも作成する必要があります。create_devices.sql によって作成されるデバイスが使用され、インデックスはそれぞれの WEBLOGIC_INDEX セグメントに配置されます。データベースのデータベース所有者 (dbo) ユーザにエリアスが追加されます。
このスクリプトのコピーを作成し、作成する各データベースの適切なデータベース名、データベース ユーザ、パスワードで <<WEBLOGIC>> を置き換えます。データベース サイズとログ サイズも必要に応じて調整します。
作成するデータベースが開発用データベースである (したがって、データベースの回復は特に重要ではない) 場合は、コメントを解除し、チェックポイントでのログの切り詰めに関するオプションを true に設定できます。
アプリケーションでデータベースまたは RowSet コントロールの作成に WebLogic Workshop を使用する場合は、コメントを解除し、トランザクションでの DDL に関するオプションを true に設定します。そうしないと、create コマンドが正常に動作しません。
メインの WebLogic Portal データベースの通常の名前は次のとおりです。
- データベース名 : WEBLOGIC
- データベース スキーマ ユーザ : WEBLOGIC
- パスワード : WEBLOGIC
注意 : |
WEBLOGIC_INDEX インデックス セグメントの名前は変更しないでください。 |
これらの値でスクリプトを実行すると、WEBLOGIC データベース、WEBLOGIC_INDEX ファイル グループ、WEBLOGIC データベース所有者 (dbo) ユーザ ログインが作成されます。WEBLOGIC をデータベースの dbo ユーザにするために、エリアスが作成されます。また、WEBLOGIC データベースが WEBLOGIC ユーザのデフォルト データベースとして設定されます。
GroupSpace を使用するには、追加のデータベースを作成する必要があります。GroupSpace データベースの通常の名前は次のとおりです。
- データベース名 : WEBLOGIC
- データベース スキーマ ユーザ : WEBLOGIC
- パスワード : WEBLOGIC
コンフィグレーションに Oracle が含まれている場合 :
- プロダクション環境にデプロイされている WebLogic Workshop Web サービスに対してテーブルを作成する場合、他のデータ型を含まない 1 つ以上のテーブルスペースに
BLOB データおよび CLOB データを格納する必要があります。
- 以下の WebLogic Integration システム テーブルに、
BLOB カラムまたは CLOB カラムが含まれます。
WLI_CALENDAR
WLI_PROCESS_DOCUMENT
WLI_PROCESS_EVENT
WLI_PROCESS_TRACKING
WLI_WORKLIST_DATA
WLI_MT_CONTENT
- 以下のアーカイブ テーブルに、
BLOB カラムまたは CLOB カラムが含まれます。
WLI_DOCUMENT_DATA
WLI_TASK_ARCHIVING
WLI_TASK_DATA_ARCHIVING
- これらのすべてのテーブルの
BLOB データおよび CLOB データは、他のデータから分離し、USERS テーブルスペースには保存しないようにする必要があります。USERS テーブルスペースに BLOB データまたは CLOB データを格納すると、このテーブルスペースの格納領域がすべて消費されることがあります。
- 以下のテーブル作成スクリプトをテンプレートにして、
BLOB データ用の新規テーブルスペースを持つ会話テーブルを作成できます。
CREATE TABLE <*tableName*>(
CG_ID varchar(768) not null,
LAST_ACCESS_TIME number(19,0),
CG_DATA BLOB,
PRIMARY KEY (CG_ID)
)
LOB("CG_DATA") STORE AS ( TABLESPACE <*blobTablespace*> )
- エンティティ Bean に
Exclusive 同時方式を指定して、クラスタ環境での Oracle のロックの競合を最小限にする必要があります (その他のデータベース タイプの場合は、環境内のエンティティ Bean の同時方式に Database を指定します)。Exclusive はデフォルトの同時方式です。
- データベース接続プロセスをチューニングし、WebLogic 実行プロセスの
Threadcount をアプリケーションの負荷に合わせて適切に設定します。データベースに同時に送信されたメッセージを処理できる接続プロセスの数が少なすぎる場合、ORA-27101 例外が発生します。WebLogic 実行スレッド プールのコンフィグレーションについては、『WebLogic Server パフォーマンス チューニング ガイド』の「実行キューの作成」を参照してください。データベース接続プロセスのチューニングについては、Oracle DBA にお問い合わせください。
- トレーディング パートナが参加している会話において、実行時およびアーカイブ テーブルで交換および永続化されるメッセージが多数含まれる場合、Oracle データベースで使用可能なカーソル数が不十分になり、次のような例外が送出されることがあります。
java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1 ORA-0100: maximum open cursors exceeded
この状態を回避するには、各 JDBC 接続プールの Statement キャッシュのサイズを 0 に設定します。ステートメント キャッシュをコンフィグレーションするには、次の手順に従います。
- WebLogic Server Administration Console を起動します。変更を行うには、左側のペインで [ロックして編集] をクリックします。
- 左ペインで [サービス|JDBC|データ ソース] をクリックして、現在のドメインにあるデータ ソースのリストを表示します。
- コンフィグレーションするデータ ソースをクリックします。
- [コンフィグレーション] タブをクリックし、[接続プール] タブをクリックします。
- [Statement キャッシュ サイズ] に、接続プール インスタンスごとにキャッシュされるステートメントの数として「
0 」(ゼロ) を入力します。
- [保存] をクリックして、変更を保存します。変更が有効になります。
- データ ソースごとに手順 2 ~ 6 を繰り返します。
JDBC データ ソースの詳細については、Administration Console オンライン ヘルプの「JDBC データ ソースのコンフィグレーション」を参照してください。
トレーディング パートナ管理リポジトリは、リポジトリ自身のデータベース テーブルの NOTES フィールドを LONG データ型として、また、WLI_TPM_XML_ELEMENT フィールドを TEXT データ型として Oracle データベースに実装します。これらのデータ型を使用すると、特定のデータベース管理機能が妨げられる場合があります。
import や export などのユーティリティを使用する場合は、最長の LONG 値を含めて、各行がメモリに格納できる長さであることが必要です。LONG 値の長さは最大で 2GB になるため、import および export が動作しない可能性があります。
LONG フィールドを含むテーブルでは、move ユーティリティを使用できません。
LONG データを専用のテーブルスペースに分離することはできません。
LONG カラムがあるテーブルを Oracle のレプリケーション サービスを使用してレプリケートすることはできません。
LONG カラムがあるテーブルをパーティション化することはできません。
コンフィグレーションに Pointbase が含まれている場合 :
- カスタム モードで Configuration Wizard を使用して、デフォルト (
9093 ) 以外の Pointbase ポートを指定した場合、startWebLogic スクリプト (Windows の場合、startWebLogic.cmd ) を編集し、startPointBase スクリプトを起動する行で、startPointBase コマンドの後に -port=XXXX オプションを追加します。XXXX には適切なポート値を指定します。
- プロセス変数に格納されたデータのサイズが 4MB を超える場合は、データベースの会話の状態テーブルを手動で作成または変更し、カラム サイズを、プロセス変数に格納されたデータのサイズよりも大きくします。開発時、これらのテーブルは一般的には WebLogic Workshop によって自動的に作成され、ソースのアプリケーション、パッケージ、またはファイル名に基づいて名前が付けられます (
JWS_WLIPROD_BPM_ORDERPROCESSOR など)。プロセス変数に格納されたデータのサイズが会話の状態テーブルのカラム サイズを超えた場合は、現在のプロセスのすべての会話が終了します。
コンフィグレーションに MS SQL が含まれる場合は、次の手順が必要です。
- MS SQL DB と JTA を設定する
- MS SQL DB 用に WLI ドメインを作成する
- sqljdbc.dll および instjdbc.sql ファイルを WL_HOME\server\lib ディレクトリから MS SQL Server データベース サーバの SQL_Server_Root/bin ディレクトリにコピーします。WL_HOME は WebLogic Server のインストール先ディレクトリ (c:\bea\wlserver_10.0 など) です。
- データベース サーバから、ISQL ユーティリティを使用して instjdbc.sql スクリプトを実行します。システム管理者は、instjdbc.sql を実行する前に、マスター データベースをバックアップしておく必要があります。
コマンド プロンプトで、次の構文を使用して instjdbc.sql スクリプトを実行します。 ISQL -Usa -Psa_password -Sserver_name -ilocation\instjdbc.sql 各値の説明は次のとおりです。
- sa_password はシステム管理者のパスワード。
- server_name は SQL Server が存在するサーバの名前。
- location は instjdbc.sql の絶対パス (このスクリプトは手順 1 で SQL_Server_Root/bin ディレクトリにコピーしました)。
または、instjdbc.sql からテキストをコピーして、MS SQL Server Query Analyzer で実行します。
注意 : instjdbc.sql スクリプトによって、多数のメッセージが生成されます。通常、これらのメッセージは無視してかまいません。ただし、システム管理者は、実行エラーを示すメッセージがないか出力を確認する必要があります。最後のメッセージでは、instjdbc.sql が正常に実行されたことが示されているはずです。JDBC XA プロシージャを格納したり、既存のプロシージャに対する変更を記録したりするのに十分なスペースがマスター データベースにない場合、スクリプトは失敗します。
- Microsoft SQL Server データベースの DTC (Distributed Transaction Coordinator) サービスを起動します。
- WL_HOME\portal\db\sql_server\admin\create_database.sql スクリプトをテンプレートとして使用して、データベースを作成します。このスクリプトでは、コンフィグレーション ウィザードを使用してドメインを作成する際に他の SQL スクリプトによって使用される WEBLOGIC_INDEX を使ってデータベースを作成します。
MS SQL Server のデータベース管理の詳細については、「Using Microsoft SQL Server」(http://edocs.bea.com/e-docs/wlp/docs102/db/SQL.html) (英語版) を参照してください。
注意 : WebLogic Portal がインストールされていない場合、create_database.sql ファイルはこのインストールで使用できません。
関連トピック
- 『WebLogic Integration Administration Console の使用』の「システム コンフィグレーション」
- WebLogic Integration データストアの管理方法について説明しています。
- 『WebLogic Integration ソリューションの管理』の「トレーディング パートナ Bulk Loader の使用」
- トレーディング パートナ管理データをインポート、エクスポート、および削除する方法について説明しています。
|