この章では、Oracle Enterprise Service Busに関する問題について説明します。内容は次のとおりです。
この項では、一般的な問題とその対処方法について説明します。内容は次のとおりです。
Oracle Application Server SOA Suiteの基本インストール・タイプは、開発目的および本稼動前のテストに使用します。Oracle Enterprise Service Bus開発者用スタンドアロン・インストール・タイプはサポート対象外のオプションです。
SOA Suiteの基本インストール・タイプの詳細は、『Oracle Application Serverインストレーション・ガイド』を参照してください。
AQキューに多数の未処理メッセージ(100KBを超える)がある場合、Oracle Database 10.2.0.2ではAQアダプタのデキューがとても遅くなります。
この問題を解決するには、dbms_stats.gather_table_stats
またはdbms_stats.gather_schema_stats
を実行して、問合せ最適化中のキュー表を分析します。
ボリュームとスループット量が多い環境では、コンテナのメモリー使用量が次第に増えていく場合があります。これは、メモリー内データ構造からインスタンス・トラッキング・データがすぐに消去されないためと考えられます。次のように、ORAESBスキーマのESB_PARAMETER
表にSQL文を実行することで、フラッシュ間隔をチューニング(この場合は削減)できます。
INSERT INTO ESB_PARAMETER (PARAM_NAME, PARAM_VALUE) VALUES ('TrackingMessageFlushInterval', '500');
SQL文のPARAM_VALUE
は、500ミリ秒を示しています。
値がすでに存在する場合、SQLのUPDATE
文を使用してパラメータ値を次のように更新します。
UPDATE ESB_PARAMETER SET PARAM_VALUE = '500' WHERE PARAM_NAME = 'TrackingMessageFlushInterval';
ESB_PARAMETER
表を変更後、ESBサーバーを再起動する必要があります。
フィルタ式、XSLデータ変換およびトラッキング・フィールドでは、XPath 1.0仕様に含まれないXPath機能はサポートしていません。ヘッダー・サポート機能は例外で、プレビュー機能は使用できます。プレビュー機能の詳細は、第7.3.1項「プレビュー・モードのOracle Enterprise Service Bus機能」を参照してください。
ホストされたWSDLおよびXSDなど、設計時に使用するすべての外部依存性は、デプロイ時にも使用可能であることが必要です。デプロイ・エンジンは、これらのアーチファクトを使用してメタデータを生成します。これらのアーチファクトが使用可能にならないかぎり、デプロイ・エンジンは、タイムアウトになるまでアーチファクトへのアクセスを試行します。
Oracle Enterprise Service Busのプロジェクト名、スキーマ名、サービス名およびシステム名では、マルチバイト・キャラクタはサポートされていません。その場合、ASCIIキャラクタを使用します。
Oracle Enterprise Service Busでは、マルチバイト・キャラクタ・セット・ペイロード(データ)がサポートされています。マルチバイト・キャラクタの制限は、構成データにのみ適用されます。
この項では、構成に関する問題とその対処方法について説明します。内容は次のとおりです。
第7.2.3項「Internet Explorer使用時のOracle ESB Controlログイン後のアクセスの問題」
第7.2.6項「同じESBシステムに存在する必要があるインバウンド・アダプタ・サービスおよび対応するルーティング・サービス」
ESBサーバーを停止した時に、警告メッセージが表示される場合があります。これは、停止中にESBランタイム・プロセスによりワーカー・スレッドが中断されるために起こります。
警告メッセージは、影響がないため無視してください。
Oracle ESB Controlのウィンドウ・サイズを変更した場合に、スクロールバーが表示されなかったり、その他のレイアウトの問題が発生することがあります。正しいレイアウトを表示するには、Oracle ESB Controlウィンドウを最大化します。
Internet Explorerを使用したOracle ESB Controlへのアクセスに問題が生じる場合は、セキュリティ・オプションを再構成して、ローカルのイントラネット・ゾーンにドメインを追加できます。
Internet Explorerのツールバーから、「ツール」→「インターネット オプション」→「セキュリティ」→「イントラネット」→「サイト」→「詳細設定」を選択後、入力フィールドにドメインを追加します。たとえば、サーバー・ホスト名がesbserver.oracle.com
の場合、ローカルのイントラネット・ゾーンに*.oracle.com
を追加します。
ESBまたは他のアプリケーション(BPELなど)でトランザクションを開始するときには、この項に記載されている更新を両方とも実行して、タイムアウト・エラーを回避します。OC4Jトランザクションのタイムアウト・エラーはすべてのアプリケーションに適用され、Oracle JDeveloperからのデプロイ時のタイムアウト・エラーはOracle Enterprise Service Busにのみ適用されます。ESBによるトランザクション開始時にはesb_config.ini
ファイルのタイムアウト値設定が優先されることに注意してください。
ESBサーバーへのメタデータのインポート中にOC4Jトランザクションのタイムアウト・エラーが発生した場合は、Oracle_Home
/j2ee/home/config/transaction-manager.xml
ファイルのtransaction-timeout
パラメータの値を増やす必要があります。このエラーの発生する理由には、BPELや外部サービスのWSDLが使用不可または遅いなど、様々なものがあります。
Oracle JDeveloperからのデプロイ中にタイムアウト・エラーが発生した場合は、Oracle_Home
/integration/esb/esb_config.ini
ファイルのxa_timeout
パラメータの値を増やす必要があります。ファイルを変更後、ESBサーバーを再起動する必要があります。
Oracle Enterprise Service Busのスタンドアロン・インストール完了後、次のエラー・メッセージが表示される場合があります。
Could not locate file pc.properties in classpath
システムにpc.properties
ファイルを作成するには、次を実行します。
Oracle_Home
/integration/esb/config/pc.properties.esb
をOracle_Home
/integration/esb/config/pc.properties
にコピーします。
システム要件に従ってpc.properties
を編集します。
ESBサーバーを再起動します。
インバウンド・アダプタ・サービスおよび対応するルーティング・サービスは、同じESBシステムにまとめてデプロイする必要があるピア・エンティティです。
同じデータベースに対し複数のESBリポジトリをインストールする場合、2番目のリポジトリのインストールにより、ESB_PARAMETER
表にある既存のESBメタデータ構成が上書きされます。前の値を保持するには、2番目のリポジトリをインストールする前にESB_PARAMETER
表をエクスポートし、2番目のリポジトリのインストールを完了してからESB_PARAMETER
表をインポートします。
ESB_PARAMETER
表のエクスポートおよびインポートの詳細は、『Oracle Application Serverエンタープライズ・デプロイメント・ガイド』のESBメタデータの更新に関する項を参照してください。
デフォルト以外のJMS設定を使用している場合、ESB_PARAMETER
表にいくつかのパラメータを指定して、トピックおよびコネクション・ファクトリのJNDIロケーションを示す必要があります。パラメータは次のとおりです。
PROP_NAME_ERROR_XATCF_JNDI
説明: エラー・トピックのXA JMSコネクション・ファクトリ
例: OracleOJMS/XATCF
PROP_NAME_ERROR_TCF_JNDI
説明: エラー・トピックのXA JMS以外のコネクション・ファクトリ
例: OracleOJMS/TCF
ESB_PARAMETER
表を変更後、ESBの実行時および設計時のサーバーを再起動する必要があります。
MQアダプタは、インストール時にOracle Enterprise Service Busで誤ってトランザクションとして登録されます。そのため、トランザクションがロールバックされた場合に、Oracle ESB Controlに正しくないステータスが表示されます。
ESB_SERVICE_TYPE
表のSERVICE_TYPE
がMQ
と等しい場合には、IS_TRANSACTIONAL
列をN
(Y
ではなく)に設定する必要があります。次のSQL文を使用して、ESB_SERVICE_TYPE
表のESBサービス構成を修正します。
UPDATE ESB_SERVICE_TYPE SET IS_TRANSACTIONAL = 'N' WHERE SERVICE_TYPE = 'MQ';
表を変更後、ESBサーバーを再起動する必要があります。
この項では、ドキュメントの記載内容の誤りについて説明します。内容は次のとおりです。
第7.3.2項「Oracle Enterprise Service BusとOracle Application Server Integration B2B」
第7.3.3項「『Oracle Enterprise Service Busインストレーション・ガイド』に記載されたアカウント名の誤り」
一部のOracle Enterprise Service Bus機能はプレビュー・モードでの使用が可能で、今後のリリースでサポートされる予定です。
今回のリリースでプレビュー機能のものは次のとおりです。
エンドポイント・プロパティ
アダプタ・エンドポイント・プロパティ
SOAPエンドポイント・プロパティ
ヘッダー・サポート
アダプタ用のヘッダー・サポート
SOAPヘッダーのセキュリティ、暗号化、WSアドレスなどに対するヘッダー・サポート
Oracle Enterprise Service BusのOracle Application Server Integration B2Bへの統合
B2B WSILブラウザでは、Oracle Enterprise Service BusとOracle Application Server Integration B2Bの相互運用がパッチ5105622を介して利用できます。
この機能はプレビュー・モードでの使用が可能で、今後のリリースでサポートされる予定です。
関連項目:
|
『Oracle Enterprise Service Busインストレーション・ガイド』の「手順1: 推奨 - デフォルト・パスワードの変更」の項では、Oracle Enterprise Service Busのインストール時に作成されるアカウントの記述に誤りがあります。Oracle Enterprise Service Busのインストールによって作成されるユーザー・アカウントは、マニュアルに記載されたesbadmin
ではなくoc4jadmin
です。