| Oracle® Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド 11g リリース1 (11.1.1.4.0) B55916-03  | 
  | 
![]() 前  | 
![]() 次  | 
この付録では、Oracle SOA Suiteを使用する際に発生する可能性がある問題のトラブルシューティング方法について説明します。
この付録の内容は、次のとおりです。
B.7項「SOAインフラストラクチャの障害後にデプロイメント・アーカイブのEJBトランザクション・タイムアウト値を更新する」
B.9項「ペイロードが大きいことによって発生するMaxMessageSizeExceededExceptionエラーの解決」
B.10項「IPv4とIPv6をサポートするデュアル・スタック・ホスト上のOracle Enterprise Manager Fusion Middleware Controlへのアクセス」
次の(両方ではなく)いずれかの方法で管理対象サーバーを起動および停止することをベスト・プラクティスとしてお薦めします。管理対象サーバーをコマンドラインから起動して、Oracle Enterprise Manager Fusion Middleware Controlから停止する(または、その逆)など、これらの方法を組み合せないでください。
Oracle Enterprise Manager Fusion Middleware Control
この方法を使用する場合は、ノード・マネージャが起動され実行中である必要があります。Oracle Enterprise Manager Fusion Middleware Controlから実行される管理対象サーバーのすべての起動および停止は、ノード・マネージャによって追跡されます。この方法では、サーバーの状態は問題にはなりません。
コマンドライン
この方法を使用する場合、サーバーの状態はノード・マネージャによって追跡されません。このため、サーバーをコマンドラインから起動し、Oracle Enterprise Manager Fusion Middleware Controlから停止すると、Oracle WebLogic管理サーバーはステータスを判断するためにノード・マネージャにアクセスしますが、「不明」という状態が返されます。
Oracle Enterprise Manager Fusion Middleware Controlからサーバーを停止および起動する手順は、次のとおりです。
「WebLogicドメイン」を展開します。
管理対象サーバー(例: soa_server1という名前のサーバー)を選択します。
「制御」→「停止」の順に選択します。
「制御」→「起動」の順に選択します。
コマンドラインからの管理対象サーバーの起動および停止の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suiteインストレーション・ガイド』を参照してください。
システム・プロパティを使用してプロキシ・サーバーを指定するには、クライアント・アプリケーションを通常の方法で記述し、クライアント・アプリケーションを実行するとき、Javaシステム・プロパティを指定します。
setenv PROXY_SETTINGS "-DproxySet=true -Dhttp.proxyHost=www-myproxy.us.mycompany.com -Dhttp.proxyPort=80 -Dhttp.nonProxyHosts=localhost|*.us.mycompany.com |0:0:0:0:0:0:0:1|fe80:0:0:0:250:56ff:fe31"
| 
 注意: http.proxyHostおよびhttp.proxyPortなどのプロキシ・プロパティの値を指定する場合は、http.nonProxyHostsプロパティも指定します。 | 
本番システムには、多数のコンポジット・インスタンスおよびフォルトが含まれることがあり、情報の取得が比較的遅くなると、SOA Oracle Enterprise Manager Fusion Middleware Controlの各ページでタイムアウトが発生する可能性があります。ページのロード効率を最適化するには、ページをロードするときにすべてのメトリック情報のロードを無効化する「SOAインフラストラクチャの共通プロパティ」ページのプロパティ設定を有効化します。インスタンスとフォルトのメトリックは、サーバーから必要に応じて取得できます。
ナビゲータで「soa-infra」をクリックします。
値が表示されるのは、「最新のコンポジット・インスタンス」セクションの「実行中」フィールドと「合計」フィールド、および「デプロイ済コンポジット」セクションの「インスタンス」列です。これらの値が大きいと、このページや類似した情報を持つ他のページをロードするときに、時間がかかる場合があります。

「SOAインフラストラクチャ」メニューから、「SOA管理」→「共通プロパティ」の順に選択します。
「データ数の表示」セクションで、インスタンス数とフォルト数のメトリックのフェッチの無効化チェック・ボックスを選択します。
「適用」をクリックします。
「SOAインフラストラクチャ」の「ダッシュボード」ページに戻ります。
以前に表示されていた値がリンクに置き換えられています。
リンクをクリックします。

選択したリンクの値が計算されます。計算が完了すると、メッセージに合計値が表示されます。

このプロパティの設定方法については、第3.1項「SOAインフラストラクチャ・プロパティの構成」を参照してください。
| 
 注意: 
  | 
使用中のJARファイル数、またはJDK 6/JREによるファイル記述子の使用(あるいはその両方)によっては、実行時またはコンパイル時に、次のエラーが発生する可能性があります。
Message send failed: Too many open files
このエラーを解決するには、ファイル記述子の数を少なくとも4096に増やします。
descriptorsの値を識別するには、limitコマンド(C shellの場合)またはulimitコマンド(Bash shellの場合)を使用します。通常、1024の値は低すぎます(特にJDK 6の場合)。
% limit
cputime      unlimited
filesize     unlimited
datasize     unlimited
stacksize    10240 kbytes
coredumpsize unlimited
memoryuse    unlimited
vmemoryuse   unlimited
descriptors  1024
memorylocked 500000 kbytes
maxproc      46720
rootユーザーでオペレーティング・システムにログインします。
/etc/security/limits.confファイルを編集してdescriptorsの値を大きくします。
この例の場合、すべてのユーザーについて制限を4096に増やすと、limits.confファイルは、次のようになります。
#<domain> <type> <item> <value> # #* soft core 0 #* hard rss 10000 #@student hard nproc 20 #@faculty soft nproc 20 #@faculty hard nproc 50 #ftp hard nproc 0 #@student - maxlogins 4 # End of file @svrgroup soft memlock 500000 @svrgroup hard memlock 500000 * soft nofile 4096 * hard nofile 4096
端末を閉じてから再度開き、変更内容を有効にします。システムの再起動は不要です。
データベース表領域が拡張されていない場合は、実行時処理に影響を与える可能性があります。メッセージが処理または保持されず、次のような例外エラーがログ・ファイルに表示される可能性があります。これは、Oracle BPEL Process Managerではインスタンス・データの格納をデータベースに依存しているためです。データベースが使用可能でない場合は、実行時処理に影響を与えます。
INFO: MediatorServiceEngine returning after processing the request for operation = processResponse [EL Warning]: 2009.01.14 11:46:16.783--UnitOfWork(32372128)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 1.1 (Build SNAPSHOT-20081007)): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.BatchUpdateException: ORA-01691: unable to extend lob segment SH_SOAINFRA.SYS_LOB0000145067C00007$$ by 1024 in tablespace SH_SOAINFRA Error Code: 1691 Query: InsertObjectQuery(com.collaxa.cube.persistence.dto.AuditTrail@199b33d) [EL Warning]: 2009.01.14 11:46:16.782--UnitOfWork(32372128)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 1.1 (Build SNAPSHOT-20081007)): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.BatchUpdateException: ORA-01691: unable to extend lob segment SH_SOAINFRA.SYS_LOB0000145067C00007$$ by 1024 in tablespace SH_SOAINFRA . . . . . .
表領域は、サイズ制限に達したときに、それ自体が指定のサイズだけ拡張するように設定してください。自動拡張を有効にしない場合は、表領域がクリティカルまたは警告のしきい値サイズに達したことを示すアラートが生成されたときに、必ず対応してください。サイズ・アラートには、表領域サイズを手動で大きくすることで対応できます。
次のような状況では、接続タイムアウト・エラーが発生する可能性があります。
処理に30秒以上かかる大きなペイロードのSOAコンポジット・アプリケーションを実行する場合。
Oracle Enterprise Manager Fusion Middleware Controlの「Webサービスのテスト」ページから、大きいペイロードを使用してストレス・テストを起動している場合。
ファイル・アダプタ・サービスを使用して、コンポジットに大量のメッセージ・ファイル(100万)を渡している場合。
Oracle Enterprise Manager Fusion Middleware Controlでインスタンス数とフォルト数のメトリックを取得している場合。
トランザクション・タイムアウト・プロパティを増加して、タイムアウト・エラーの発生を回避する手順は、次のとおりです。
Oracle WebLogic管理コンソールにログインします。
「JTA」をクリックします。
「タイムアウト」の値を変更します(デフォルトは30です)。
「保存」をクリックします。
Oracle WebLogic Serverを再起動します。
Oracle WebLogic Server管理コンソールの「デプロイメント」→展開されたSOAインフラストラクチャ・アプリケーション→「FacadeFinderBean」→「構成」タブで、「FacadeFinderBean」プロパティのトランザクション・タイムアウト値を更新すると、SOAインフラストラクチャの再起動後に次のエラーが発生することがあります。
java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy223 implementing oracle.bpel.services.workflow.verification.IVerificationService,org.springframe work.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [oracle.bpel.services.workflow.verification.IVerificationService] for property 'verificationService': no matching editors or conversion strategy found Message icon - Warning Errors were encountered while performing this operation.
また、SOAインフラストラクチャのステータスも失敗として表示されます。
このエラーはFacadeFinderBeanに固有のものではありません。SOAインフラストラクチャ・アプリケーションの一部であるすべてのEJBにも当てはまります。
このエラーを解決するには、デプロイメント・アーカイブのトランザクション・タイムアウト設定を手動で変更する必要があります。
トランザクション・タイムアウト設定を更新する手順は、次のとおりです。
デプロイメント・アーカイブでfabric-ejb.jarファイルを開きます。
META-INF/weblogic-ejb-jar.xmlファイル内のトランザクション・タイムアウト値を大きくします。
JARファイルを作成しなおします。
第3.2項「管理対象サーバーとSOAインフラストラクチャの停止と起動」の説明に従って、SOAインフラストラクチャが含まれている管理対象サーバーを再起動します。
| 
 注意: この問題は、SOAインフラストラクチャの一部としてデプロイされたEJBを更新するときにも発生することがあります。この問題が発生した場合は、それらのEJBに含まれている対応するJARファイルを同様の方法で更新する必要があります。 | 
データベースへの接続が遅いと、次のエラー・メッセージを受信する場合があります。
Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.1.0) (Build 090304)): oracle.toplink.exceptions.DatabaseException Internal Exception: java.sql.SQLException: Internal error: Cannot obtain XAConnection weblogic.common.resourcepool.ResourceDeadException: Pool SOADataSource has been disabled because of hanging connection tests, cannot allocate resources to applications.
このことが発生した場合は、次の手順を実行します。
DOMAIN_HOME\bin\setSOADomainEnv.cmdファイルを開きます。
太字で表示されている行を非コメント化します。
# 8331492: Value of weblogic.resourcepool.max_test_wait_secs is 10 # seconds. It can be increased by uncommenting line below if your database # connections are slow. See SOA documentation for more details. EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES} -Dweblogic.resourcepool.max_test_wait_secs=30" export EXTRA_JAVA_PROPERTIES
変更を保存して、管理対象のOracle WebLogic Serverを再起動します。
デプロイ済のSOAコンポジット・アプリケーションに大きなペイロード(たとえば、12 MB)を指定し、そのペイロードを表示するために、監査証跡で「XML文書の表示」をクリックすると、MaxMessageSizeExceededExceptionエラーが発生することがあります。このエラーは、次のJVMパラメータを設定することによって解決できます。
次のファイルを開きます。
UNIXオペレーティング・システムでは、$MIDDLEWARE_HOME/user_projects/domains/domain_name/bin/setDomainEnv.shを開きます。
Windowsオペレーティング・システムでは、MIDDLEWARE_HOME\user_projects\domains\domain_name\bin\setDomainEnv.batを開きます。
次の値を指定してweblogic.MaxMessageSizeプロパティを追加します。
EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES}
-Dweblogic.MaxMessageSize=20000000"
export EXTRA_JAVA_PROPERTIES 
サーバーを再起動します。
IPv4とIPv6の両方がサポートされているデュアル・スタック・ホスト上でOracle SOA Suiteを実行する場合は、Oracle Enterprise Manager Fusion Middleware ControlのIPv6のURLにIPv4クライアントがアクセスするには、表B-1に示されているようにetc/hostsファイルを更新する必要があります。
Safariブラウザを使用する場合は、Oracle Enterprise Manager Fusion Middleware ControlでのWSDLファイルの内容の表示に関する、次の制限と回避策に留意してください。Mozilla Firefoxは正常に動作するため、この回避策は必要ありません。
SOAコンポジット・アプリケーションのホーム・ページに移動します。
ページの上部にある「WSDLおよびエンドポイントURIの表示」リンクをクリックします。
表示されている「WSDL」リンクをクリックします。
選択したWSDLの内容が表示されていない空白ページが開きます。
回避策として、次の追加の手順を実行します。
このページの右上隅にある現在のページのメニューを表示するアイコンをクリックします。
表示されたメニューから「ソースの表示」を選択します。
これにより、選択したWSDLの内容が別のページに表示されます。
Oracle Enterprise Manager Fusion Middleware Controlで、一部のローエンドのホストにおいて、デプロイ済のSOAコンポジット・アプリケーションのインスタンスIDのフロー・ダイアグラムが、初回に表示されない場合があります。かわりに、リソースのロードに失敗しましたというメッセージを受信します。
このことを回避するには、フローのトレース・ページを閉じ、インスタンスIDをクリックして、フローのトレース・ページに戻ります。