ヘッダーをスキップ
Oracle® Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド
11g リリース1 (11.1.1.4.0)
B55916-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

B Oracle SOA Suiteのトラブルシューティング

この付録では、Oracle SOA Suiteを使用する際に発生する可能性がある問題のトラブルシューティング方法について説明します。

この付録の内容は、次のとおりです。

B.1 管理対象サーバーの起動および停止のベスト・プラクティス

次の(両方ではなく)いずれかの方法で管理対象サーバーを起動および停止することをベスト・プラクティスとしてお薦めします。管理対象サーバーをコマンドラインから起動して、Oracle Enterprise Manager Fusion Middleware Controlから停止する(または、その逆)など、これらの方法を組み合せないでください。

Oracle Enterprise Manager Fusion Middleware Controlからサーバーを停止および起動する手順は、次のとおりです。

  1. 「WebLogicドメイン」を展開します。

  2. 管理対象サーバー(例: soa_server1という名前のサーバー)を選択します。

  3. 「制御」「停止」の順に選択します。

  4. 「制御」「起動」の順に選択します。

コマンドラインからの管理対象サーバーの起動および停止の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suiteインストレーション・ガイド』を参照してください。

B.2 プロキシ・サーバーの指定

システム・プロパティを使用してプロキシ・サーバーを指定するには、クライアント・アプリケーションを通常の方法で記述し、クライアント・アプリケーションを実行するとき、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プロパティも指定します。

B.3 インスタンスおよびフォルトのメトリックのあるページのロードの最適化

本番システムには、多数のコンポジット・インスタンスおよびフォルトが含まれることがあり、情報の取得が比較的遅くなると、SOA Oracle Enterprise Manager Fusion Middleware Controlの各ページでタイムアウトが発生する可能性があります。ページのロード効率を最適化するには、ページをロードするときにすべてのメトリック情報のロードを無効化する「SOAインフラストラクチャの共通プロパティ」ページのプロパティ設定を有効化します。インスタンスとフォルトのメトリックは、サーバーから必要に応じて取得できます。

  1. ナビゲータで「soa-infra」をクリックします。

  2. 値が表示されるのは、「最新のコンポジット・インスタンス」セクションの「実行中」フィールドと「合計」フィールド、および「デプロイ済コンポジット」セクションの「インスタンス」列です。これらの値が大きいと、このページや類似した情報を持つ他のページをロードするときに、時間がかかる場合があります。

    soaadmin_fetch1.gifの説明が続きます
    図版soaadmin_fetch1.gifの説明

  3. 「SOAインフラストラクチャ」メニューから、「SOA管理」「共通プロパティ」の順に選択します。

  4. 「データ数の表示」セクションで、インスタンス数とフォルト数のメトリックのフェッチの無効化チェック・ボックスを選択します。

  5. 「適用」をクリックします。

  6. 「SOAインフラストラクチャ」の「ダッシュボード」ページに戻ります。

  7. 以前に表示されていた値がリンクに置き換えられています。

  8. リンクをクリックします。

    soaadmin_fetch2.gifの説明が続きます
    図版soaadmin_fetch2.gifの説明

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

    soaadmin_fetch3.gifの説明が続きます
    図版soaadmin_fetch3.gifの説明

このプロパティの設定方法については、第3.1項「SOAインフラストラクチャ・プロパティの構成」を参照してください。


注意:

  • リンクをクリックして、インスタンス数とフォルト数のメトリックを取得しようとすると、Oracle Enterprise Manager Fusion Middleware Controlがタイムアウトする場合は、トランザクション・タイムアウト・プロパティの値を増やします。詳細は、B.6項「接続タイムアウトの解決」を参照してください。

  • 「再計算」をクリックすると、再計算がすぐに実行されますが、進行状況インジケータは表示されません。ただし、データに対する更新は画面に反映されます。


B.4 開いているファイルが多すぎることが原因で発生したメッセージの失敗の解決

使用中のJARファイル数、またはJDK 6/JREによるファイル記述子の使用(あるいはその両方)によっては、実行時またはコンパイル時に、次のエラーが発生する可能性があります。

Message send failed: Too many open files 

このエラーを解決するには、ファイル記述子の数を少なくとも4096に増やします。

  1. 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
    
  2. rootユーザーでオペレーティング・システムにログインします。

  3. /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
    
  4. 端末を閉じてから再度開き、変更内容を有効にします。システムの再起動は不要です。

B.5 表領域の拡張による実行時の問題の回避

データベース表領域が拡張されていない場合は、実行時処理に影響を与える可能性があります。メッセージが処理または保持されず、次のような例外エラーがログ・ファイルに表示される可能性があります。これは、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 
. . .
. . .

表領域は、サイズ制限に達したときに、それ自体が指定のサイズだけ拡張するように設定してください。自動拡張を有効にしない場合は、表領域がクリティカルまたは警告のしきい値サイズに達したことを示すアラートが生成されたときに、必ず対応してください。サイズ・アラートには、表領域サイズを手動で大きくすることで対応できます。

B.6 接続タイムアウトの解決

次のような状況では、接続タイムアウト・エラーが発生する可能性があります。

トランザクション・タイムアウト・プロパティを増加して、タイムアウト・エラーの発生を回避する手順は、次のとおりです。

  1. Oracle WebLogic管理コンソールにログインします。

  2. 「JTA」をクリックします。

  3. 「タイムアウト」の値を変更します(デフォルトは30です)。

  4. 「保存」をクリックします。

  5. Oracle WebLogic Serverを再起動します。

B.7 SOAインフラストラクチャの障害後にデプロイメント・アーカイブのEJBトランザクション・タイムアウト値を更新する

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にも当てはまります。

このエラーを解決するには、デプロイメント・アーカイブのトランザクション・タイムアウト設定を手動で変更する必要があります。

トランザクション・タイムアウト設定を更新する手順は、次のとおりです。

  1. デプロイメント・アーカイブでfabric-ejb.jarファイルを開きます。

  2. META-INF/weblogic-ejb-jar.xmlファイル内のトランザクション・タイムアウト値を大きくします。

  3. JARファイルを作成しなおします。

  4. 第3.2項「管理対象サーバーとSOAインフラストラクチャの停止と起動」の説明に従って、SOAインフラストラクチャが含まれている管理対象サーバーを再起動します。


    注意:

    この問題は、SOAインフラストラクチャの一部としてデプロイされたEJBを更新するときにも発生することがあります。この問題が発生した場合は、それらのEJBに含まれている対応するJARファイルを同様の方法で更新する必要があります。

B.8 データベース接続値を増やす

データベースへの接続が遅いと、次のエラー・メッセージを受信する場合があります。

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.

このことが発生した場合は、次の手順を実行します。

  1. DOMAIN_HOME\bin\setSOADomainEnv.cmdファイルを開きます。

  2. 太字で表示されている行を非コメント化します。

    # 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 
    
  3. 変更を保存して、管理対象のOracle WebLogic Serverを再起動します。

B.9 ペイロードが大きいことによって発生するMaxMessageSizeExceededExceptionエラーの解決

デプロイ済のSOAコンポジット・アプリケーションに大きなペイロード(たとえば、12 MB)を指定し、そのペイロードを表示するために、監査証跡で「XML文書の表示」をクリックすると、MaxMessageSizeExceededExceptionエラーが発生することがあります。このエラーは、次のJVMパラメータを設定することによって解決できます。

  1. 次のファイルを開きます。

    • UNIXオペレーティング・システムでは、$MIDDLEWARE_HOME/user_projects/domains/domain_name/bin/setDomainEnv.shを開きます。

    • Windowsオペレーティング・システムでは、MIDDLEWARE_HOME\user_projects\domains\domain_name\bin\setDomainEnv.batを開きます。

  2. 次の値を指定してweblogic.MaxMessageSizeプロパティを追加します。

    EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES}
    -Dweblogic.MaxMessageSize=20000000"
    export EXTRA_JAVA_PROPERTIES 
    
  3. サーバーを再起動します。

B.10 IPv4とIPv6をサポートするデュアル・スタック・ホスト上のOracle Enterprise Manager Fusion Middleware Controlへのアクセス

IPv4とIPv6の両方がサポートされているデュアル・スタック・ホスト上でOracle SOA Suiteを実行する場合は、Oracle Enterprise Manager Fusion Middleware ControlのIPv6のURLにIPv4クライアントがアクセスするには、表B-1に示されているようにetc/hostsファイルを更新する必要があります。

表B-1 etc/hostsファイルのIPv4とIPv6の設定

クライアント etc/hostsファイルを次のように編集します

IPv4クライアント上で:

xx.xxx.xxx.xxx myhost10-ipv6 

ここで、xx.xxx.xxx.xxxはIPv6のIPアドレスです。

IPv6クライアント上で:

fdf5:74cc:db0a::0:1  myhost10-ipv6 myhost10-ipv6.us.oracle.com

注意: fdf5:74cc:db0a::0:1は、使用するホスト環境に適した値に置き換えます。


B.11 Safariブラウザを使用してWSDLファイルの内容を表示する場合の制限

Safariブラウザを使用する場合は、Oracle Enterprise Manager Fusion Middleware ControlでのWSDLファイルの内容の表示に関する、次の制限と回避策に留意してください。Mozilla Firefoxは正常に動作するため、この回避策は必要ありません。

  1. SOAコンポジット・アプリケーションのホーム・ページに移動します。

  2. ページの上部にある「WSDLおよびエンドポイントURIの表示」リンクをクリックします。

  3. 表示されている「WSDL」リンクをクリックします。

    選択したWSDLの内容が表示されていない空白ページが開きます。

    回避策として、次の追加の手順を実行します。

  4. このページの右上隅にある現在のページのメニューを表示するアイコンをクリックします。

  5. 表示されたメニューから「ソースの表示」を選択します。

    これにより、選択したWSDLの内容が別のページに表示されます。

B.12 一部のローエンドのホストで、フロー・ダイアグラムが初回に表示されない

Oracle Enterprise Manager Fusion Middleware Controlで、一部のローエンドのホストにおいて、デプロイ済のSOAコンポジット・アプリケーションのインスタンスIDのフロー・ダイアグラムが、初回に表示されない場合があります。かわりに、リソースのロードに失敗しましたというメッセージを受信します。

このことを回避するには、フローのトレース・ページを閉じ、インスタンスIDをクリックして、フローのトレース・ページに戻ります。