Oracle® Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理 12c (12.2.1.2.0) E82770-02 |
|
![]() 前へ |
この付録の内容は次のとおりです。
トラブルシューティングを容易にするために、Oracle Enterprise Manager Fusion Middleware Controlで、ロギング・レベルを「TRACE:32 FINEST」レベルに設定することをお薦めします。この項では、このレベルに設定するロガーについて説明します。
トラブルシューティングのためにロギング・レベルを設定する手順は、次のとおりです。
表B-1に、確認するログ・ファイルと取得するスレッド・ダンプを示します。
表B-1 ログ・ファイルとスレッド・ダンプ
出力 | 説明 |
---|---|
サーバー診断ログ |
次のファイルを確認します。 $DOMAIN_HOME/servers/server_name/logs/server_name-diagnostic.log たとえば、 これは、ログ出力を入手できる場所です。デフォルトでは、最新分100 MBの診断ログのみが保持されます。 |
サーバー・ログ |
|
サーバー・コンソールの出力 |
|
サーバーのスレッド・ダンプ |
オペレーティング・システムのコマンド・プロンプトで、次のように入力します。 kill -3 managed_server_process_ID
また、Oracle WebLogic Server管理コンソールを使用することもできます。
出力がコンソール・ログに表示されます。 |
OWSMメッセージ・ログ |
次のログに、ネットワーク上のすべてのSOAPメッセージがキャプチャされます。 $DOMAIN_HOME/servers/server_name/logs/owsm/msglogging/diagnostic.log
このログは、デフォルトでは無効になっています。このログを有効にするには、次の手順を実行します。
|
この項では、パラレル・パージと表のパーティション化の問題をトラブルシューティングする方法について説明します。監査レベルの推奨事項も示します。
PL/SQLパージ・スクリプトを使用して、またはOracle Enterprise Manager Fusion Middleware Controlの「自動パージ」ページからインスタンスおよび拒否メッセージを削除できます。詳細は、「データベース増分の管理」を参照してください。
この項では、Oracle SOA Suiteデータベースが管理されておらず、領域を再利用する必要がある状況について説明します。また、この項では、日々の通常の実行に適切なパラメータ設定の識別方法についても説明します。
領域の再利用を試行する際は、パージ・スクリプトを頻繁に実行して、作成されているより大幅に多くのSOAコンポジット・アプリケーションを削除する必要があります。これは、長い待機キューを回避するために監視する必要があるホストおよびデータベース・リソースに影響を与えます。
削除するSOAコンポジット・アプリケーションの目標数は、明確に定めておくことが必要です。そうしないと、パージ・スクリプトが過度に強力に構成される可能性があります。次の内容について説明します。
適切な並列度(DOP)値を指定する際は、ハードウェア・リソースを考慮する必要があります。DOPは、データベースによってスケジュールされるジョブの数と、ホスト上で同時に実行されるプロセスの数を識別します。
パラレル・パージ・ジョブはI/O集中型です。これは、CPUのみに負荷がかかるのではないことを意味します。ただし、次の式は出発点で、この後で、なんらかの増分を識別するためのテストと監視が必要とされます。
DOP <= PARALLEL_THREADS_PER_CPU x CPU_COUNT
パージ・ジョブは同時に実行されますが、実際にはリソースの競合を回避するために、30秒ずつ遅延させて実行されます。パージ・ジョブが同じSOAコンポジット・アプリケーションをめぐって競合することはないので、この遅延は小さな競合を回避するためではありません。この遅延は、パージ・ジョブの経過時間と関係します。たとえば、DOPが10の場合は、10番目のパージ・ジョブが270秒間スリープしてから開始することを意味します(つまり、(DOP - 1) * 30 sec)
。
大きなDOP数を指定した場合は、max_runtime
パラメータを適切に設定する必要があります。
領域を再利用する際は、当然のことながら、パージ・スクリプトの各実行でできるだけ多くのSOAコンポジット・アプリケーションを削除したいと考えます。しかし、スクリプトは適切なSOAコンポジット・アプリケーションのデータを解析する必要があり、これはパージの経過時間を独占する可能性があります。
そのため、日付およびmax_count
パラメータを適度に設定して頻繁にパージ・スクリプトを実行することで、このデータを削減する必要があります。これを削減するには、パラレル・パージを頻繁に、おそらく1時間に2回程度スケジュールすることが必要です。
解析するSOAコンポジット・アプリケーションのセットは、次のパラメータによって識別されます。
min_creation_date
max_creation_date
retention_date
max_count
解析の経過時間を短縮するには、適度なmax_count
パラメータ設定が最も効果的な方法です。出発点としてmax_count
パラメータを小さく(50,000程度に)設定し、少しずつ増加して最適な値を見つけてください。表のサイズを縮小すると、max_count
パラメータと日付の範囲を増加させることができます。
注意:
この削減方法は常に有効ではありません。より大量のデータを解析するために、パラレル問合せを使用することが必要な場合もあります。
削減候補のSOAコンポジット・アプリケーションの解析は、主として複数のINSERT
...
SELECT
文によって実行されます。解析するSOAコンポジット・アプリケーションのセットが大きくなるほど、データベースのコストベースのオプティマイザは全表スキャンの実行を支持するようになります。表の大きな部分を通過する必要がある場合は、マルチブロックI/Oコールを実行する全表スキャンを実行するほうが索引アクセスよりも高速になる可能性があります。
パラレル問合せは、複数スレーブ・プロセスにわたって作業を調整および分散させることで、全表スキャンのパフォーマンスを大幅に改善できます。さらに、INSERT
の部分のPARALLEL
ヒントが、APPEND
モードで実行されます。これはダイレクト・パス挿入によってパフォーマンスをさらに向上させます。
スケジュールされたパージ・ジョブと同様に、パラレル問合せスレーブはI/O集中型で、CPUのみに負荷がかかるわけではありません。ただし、PARALLEL
ヒントのDOPを選択する際は、次の式を出発点とすると役立ちます。
DOP <= PARALLEL_THREADS_PER_CPU x CPU_COUNT
注意:
パラレル・パージ・ジョブの数を識別するためのDOP設定と、パラレル問合せスレーブの数を識別するためのDOP設定があります。これらのDOP設定は両方とも、ホスト上で実行されるプロセスの量を左右しますが、同時にではありません。INSERT
...
SELECT
文が最初に実行されてデータの解析が行われ、その後でパラレル・パージ・ジョブのスケジューリングが実行されます。
INSERT... SELECT
文では、PARALLEL
ヒントを、INSERT
キーワードまたはSELECT
の後、あるいは両方の後に指定できます。したがって、INSERT
操作とSELECT
操作の並列処理は互いに独立しています。文全体の適切なDOPは、次の優先順位ルールを使用して識別されます。
文のINSERT
部分のPARALLEL
ヒント。
セッションの設定。
INSERT
表のDOP。
文内の任意の表の最大DOP設定。
パラレルDMLを実行するには、スクリプト内で次の文を実行する必要があります。
ALTER SESSION FORCE PARALLEL DML STATEMENT
たとえば、この文のDOPは、INSERT
では2
、SELECT
では4
となっています。しかし、優先順位ルールに従うと、文全体のDOPは2
になります。
INSERT /*+ PARALLEL(TBL_INS,2) */ INTO TBL_INS SELECT /*+ PARALLEL(TBL_SEL,4) */ * FROM TBL_SEL;
注意:
必要な場合は、パージ・スクリプト内でDELETE
およびSUBSELECT
コマンドにパラレル問合せを適用することもできます。
Oracleの表のパーティション化では、大きな表をパーティションと呼ばれるより小さく扱いやすいセグメントに分解することで、大きな表のメンテナンスに関する多くの問題に対処します。SOAスキーマには、Oracleデータベースのレンジ・パーティション化を利用するためのパーティション・キーが装備されています。
パーティション化の詳細は、「コンポーネント表のパーティション化」を参照してください。
パフォーマンス上の理由から、Oracle SOA Suiteサービス・コンポーネント(Oracle B2Bを除く)には、参照整合性を規制するための外部キー制約はありません。この制約がない場合、マスター表と詳細表の関係は、詳細表の不確定な参照を回避するように保護する必要があります。
同一レベル・パーティション化は、マスター表と詳細表をその外部キー制約に基づいてパーティション化するデータベース・パーティション化機能です。この機能は、関連するマスター行と詳細行を同じ日付範囲にグループ化する表パーティションを作成します。このグループ化によって、パーティションが削除された場合に不確定な参照が作成されることがなくなります。
この機能を模倣するために、Oracle SOA Suiteにはビジネス・フロー・インスタンスの作成日をコンポーネントのマスター表(Oracle BPEL Process Manager、Oracle Mediatorおよびヒューマン・ワークフロー)にプッシュ・ダウンする機能が装備されています。SOAインフラストラクチャは、他のすべてのコンポーネントが依存する最上位のコンポーネントであるため、この方法ではすべての依存行が日付範囲によってグループ化されます。
たとえば、SCA_FLOW_INSTANCE
表のCREATED_TIME
列のタイムスタンプは、次の表にプッシュ・ダウンされます。
Oracle BPEL Process Managerマスター表CUBE_INSTANCE
の列CPST_INST_CREATED_TIME
、その後これはCUBE_SCOPE.CI_PARTITON_DATE
といった依存表にプッシュ・ダウンされます。
Oracle Mediatorマスター表MEDIATOR_INSTANCE
の列COMPOSITE_CREATION_DATE
、その後これは依存表にプッシュ・ダウンされます。
注意:
依存表はそのマスターを使用してパーティション化する必要があり、どの場合も、最上位のSOAインフラストラクチャであるSCA_FLOW_INSTANCE
表はパーティション化する必要があります。
同一レベル・パーティション化を完了するには、すべての表パーティションは同じ名前と日付範囲を使用する必要があります。
要約すると、同一レベル・パーティション化とは、関連付けられた依存表の行が、それらのマスター表の行と同じパーティション・キー範囲を持つ1つのパーティションに存在することを意味します。したがって、同一レベル・パーティションのそれぞれの詳細行の状態は、その行に関連するマスター表の行から推測できます。
レンジ・パーティションではその行をサブパーティションにハッシュして、SOAコンポジット・アプリケーションのレンジ - ハッシュ・パーティション化を実装できます。ハッシュ・サブパーティションはI/Oの分散において効果がある可能性がありますが、Oracle SOA Suiteの表をパーティション化する際は現在推奨されていません。
キーのハッシュは等価性の述語(=
、IN
)と一緒に使用すると効果のある方法で、Oracle BPEL Process Manager CIKEY
表など、候補として適したキー付きの表がいくつか存在します。ただし、レンジ - ハッシュ・パーティションだけでは、ハッシュ・キーの一意性を提供しません。コストベースのオプティマイザが一意性を識別するには、問合せで表の全パーティションを検索する必要があります(全表スキャン)。パーティション・プルーニングは検索するパーティションの範囲を絞り込むことで役立ちますが、Oracle SOA Suiteではこの機能は使用されません。(「パーティション・プルーニング」を参照。)したがって、コストベースのオプティマイザが一意性を識別する際に全表スキャンを回避するために、索引が検索されてハッシュ・サブパーティションがバイパスされます。
時間隔パーティション化はレンジ・パーティション化の拡張で、必要に応じてパーティションを自動的に作成するようにデータベースに指示します。
検証スクリプトは現在、グループのすべての表でパーティション名が同じであることを要求します。時間隔パーティション化システムは、パーティションごとに異なるパーティション名を生成します。したがって、これはサポートされません。
グローバル・ハッシュ索引の使用は、Oracle SOA Suiteの表のパーティション化とは独立しています。
Oracle SOA Suiteは絶え間なく行を挿入し、索引キーの多くは単調増加します。BTREE構造の索引はこれらのキーを挿入し、Oracle Real Application Clusters (Oracle RAC)の設定全体で非常にホットになる可能性がある数個のデータベース・ブロックのみをターゲットにします。これは通常AWRレポート内で、過剰なバッファ・ビジー待機として示されます。多数のデータベース・ブロックにわたって索引キーをランダムに分散させるために、グローバル・ハッシュ索引を使用します。
レンジ・パーティション・キーが述語として使用されている場合は、オプティマイザは検索するパーティションの数をプルーニングできます。Oracle SOA Suiteおよび特にOracle Enterprise Manager Fusion Middleware Controlは、現在SQL問合せでパーティション・キーを使用しないので、このパフォーマンス機能を利用しません。
同一レベル・パーティション化の要件によって、パーティション・キーは、コンポーネントの作成日ではなくSOAコンポジット・アプリケーションの作成日を使用して移入されます。コンポーネント(Oracle BPEL Process Manager、Oracle Mediatorおよびヒューマン・ワークフロー)には自らの作成日があり、これはコンソールの問合せで使用されます。
Oracle BPEL Process Managerの例としては、次のようなものがあげられます。
パーティション・キー: 表CUBE_INSTANCE
列CPST_INST_CREATED_TIME
作成日: 表CUBE_INSTANCE
列CREATION_DATE
特に行移行スクリプトを使用したときは、パーティション化された表をパージすることが必要になる場合があります。これは、メンテナンスのために表のパーティション化を行うという目的にそぐわないことで、ALTER
TABLE
... DROP
PARTITION
コマンドによってデータが一括して削除される可能性があります。
パーティション化された表をパージしようとすると、多くの場合、解析パフォーマンスの問題が発生します。パーティションをパージする必要がある場合は、パーティションの縮小も行ってください。詳細は、「領域管理の理解」を参照してください。
この項では、Oracle SOA Suiteスキーマに書き込まれるデータとSOAコンポジット・アプリケーションの監査レベルを下げる方法についてのチューニング情報を提供します。
SOAインフラストラクチャ・レベルのデフォルトの「監査レベル」は、「本番」に設定されます。データベースの増大を制限してパフォーマンスを最適化するには、SOAインフラストラクチャ・レベルで設定を「オフ」にし、かわりに、デバッグまたはモニタリングが必要なコンポジットのコンポジット・レベルで監査をオンにすることをお薦めします。コンプライアンス要件がユーザーの監査要件の粒度を決定する場合もあります。
次の画像は、コンポジットのホーム・ページからコンポジットの監査レベルを設定したところです。
注意:
SOAインフラストラクチャ・レベルの監査レベル設定は、Oracle Enterprise Manager Fusion Middleware Controlの「SOAインフラストラクチャの共通プロパティ」ページを使用して変更できます。SOAインフラストラクチャ・レベルの監査をオフにする方法の詳細は、SOAインフラストラクチャ・プロパティの構成を参照してください。
コンポジット・レベルの監査レベル設定の詳細は、「SOAコンポジット・アプリケーションのホーム・ページでのアプリケーションの状態管理」を参照してください。
監査を無効にすると(ビジネス要件でそれが可能な場合)、パフォーマンスが大幅に向上します。「本番」を「オフ」に変更すると、(個々のコンポーネントの監査設定をチューニングしないで)パフォーマンスを改善できます。ただし、監査を無効にできない場合は、次の手順に従って監査レベルを下げることをお薦めします。
監査証跡が不要な同期BPELコンポーネントの場合は、次の設定を使用します。
inMemoryOptimization
= true
completionPersistPolicy
= faulted
このように設定すると、同期プロセスはインスタンス・フォルトが発生した場合のみ監査証跡に表示されます。
inMemoryOptimization
およびcompletionPersistPolicy
の設定の詳細は、Oracle SOAスイートでのSOAアプリケーションの開発のデプロイメント・ディスクリプタのプロパティを参照してください。
注意:
これらの設定は同期BPELプロセスに使用し、非同期BPELプロセスには使用しないでください。
この項では、接続およびトランザクション・タイムアウトの問題をトラブルシューティングする方法について説明します。
次のような状況では、接続タイムアウト・エラーが発生する可能性があります。
処理に30秒以上かかる大きなペイロードのSOAコンポジット・アプリケーションを実行する場合。
Oracle Enterprise Manager Fusion Middleware Controlの「Webサービスのテスト」ページから、大きいペイロードを使用してストレス・テストを起動している場合。
ファイル・アダプタ・サービスを使用して、コンポジットに大量のメッセージ・ファイル(100万)を渡している場合。
トランザクション・タイムアウト・プロパティを増やして、こうしたタイムアウト・エラーを回避する手順は、次のとおりです。
30
です)。 大量の電子メール通知(たとえば、200,000通)が送信された場合、接続タイムアウト・エラーが発生する可能性があります。
そのようなタイムアウト・エラーを回避するには、次のようにします。
データベースへの接続が遅いと、次のエラー・メッセージが表示される場合があります。
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.
このことが発生した場合は、次の手順を実行します。
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にも当てはまります。
このエラーを解決するには、デプロイメント・アーカイブのトランザクション・タイムアウト設定を手動で変更する必要があります。
トランザクション・タイムアウト設定を更新する手順は、次のとおりです。
リモートWebサービスに対して長時間実行した同期コールが、JTAトランザクション・ロールバック・エラーで終了する場合があります。(SOAサーバーに対するコールなど)非同期コールを行うトランザクションを実行すると、アプリケーションがエラーを返す場合もあります。サーバー・ログには、この動作の原因となる可能性があるJTAトランザクション・タイムアウトが示されます。
Oracle WebLogic Server管理コンソールで、JTAトランザクションのタイムアウトをチェックする手順は次のとおりです。
Oracle WebLogic Server管理コンソールにログインします。
「ドメイン構造」で、「サービス」→「JTA」の順に選択して、タイムアウト値をチェックします。
トランザクションが30秒を超えると常にタイムアウトする場合に、それがカスタム・コンポジット同期クライアント呼出しの場合は、設計アプローチを再検討する必要があります。場合によっては、非同期トランザクションとして外部Webサービスを呼び出す方法が最善となります。
長時間実行される同期トランザクションをサポートするためにJTAを増加させることは、単なる暫定的なメカニズムです。JTAトランザクション・タイムアウト設定の変更の詳細は、「接続タイムアウトの解決」を参照してください。
同期クライアントの呼出しに長時間がかかる場合は、システムにパフォーマンスの問題がないかどうかをチェックして、それらの解決を試みます。
JTAタイムアウト設定との関連でsyncMaxWaitTimeプロパティとBPELのEJBトランザクション・タイムアウト設定の適切な値をチェックした後でのみ、必要に応じてJTAタイムアウトの値を増加します。
syncMaxWaitTimeプロパティの表示および変更の詳細は、「BPELプロセス・サービス・エンジン・プロパティの構成」を参照してください。
BPEL EJBトランザクション・タイムアウト設定を表示および変更するには、次の手順を実行します。
Oracle WebLogic Server管理コンソールにログインします。
「ドメイン構造」で、「デプロイメント」をクリックします。
「soa-infra」→「EJB」の順に展開します。
次のEJBを更新します。
- BPELActivityManagerBean
- BPELDeliveryBean
- BPELDispatcherBean
- BPELEngineBean
- BPELFinderBean
- BPELInstanceManagerBean
- BPELProcessManagerBean
- BPELSensorValuesBean
- BPELServerManagerBean
「保存」をクリックします。
Oracle WebLogic Serverを再起動します。
非同期トランザクションについては、BPEL EJBトランザクション・タイムアウトとJTAトランザクション・タイムアウトの両方の値をチェックして、必要に応じて調整します。
次に示すパイプの破損エラーが表示されたら、Oracle WebLogic Server管理コンソールでHTTP POSTタイムアウト値を大きくしてください。
<BEA-000000> <got FabricInvocationException, Cikey=73410002, FlowId=10001, Current Activity Key=73460002-BpInv0-BpSeq0.3-3, Current Activity Label=Invoke_1, ComponentDN=default/TestClientWSMEDWSBPELFAProj!2.0*soa_ b2e412f3-1167-4a9a-bbe0-73795f0743d4/BPELProcess1 java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
HTTP POSTタイムアウト値を大きくする手順は、次のとおりです。
120
に増やします。この項では、ランタイムの問題をトラブルシューティングする方法について説明します。
決まった数のワーク・マネージャ・スレッドが受信処理に割り当てられているため、Oracle SOA Suiteでスレッドの上限に達した場合、次に示す例外メッセージが表示されます。Oracle SOA Suiteは正常に処理をバック・アウトし、リソースのボトルネックによりスタック・スレッドのシナリオが発生することを防ぎます。このエラーが表示されたら、要求を再送信する必要があります。
<Mar 11, 2014 2:10:16 PM PDT> <Error> <HTTP> <BEA-101017> <[ServletContext@207971169[app:soa-infra module:/soa-infra path:null spec-version:3.0]] Root cause of ServletException. java.lang.Exception: Unable to acquire the workmanager thread resource in order to process requests directed at compsoite default/POProcessing!1.0*soa_7a9c6320-c26e-4df2-b29f-7b80782d3693 at oracle.integration.platform.blocks.deploy.CompositeLazyLoader.load(CompositeLa zyLoader.java:112) at . . . . . .
エンドポイントを参照できない場合、または不適切なデプロイメント・プラン・ファイルを使用してコンポジットがデプロイされている場合は、次のエラーが表示されます。
oracle.fabric.common.FabricException: Cannot read WSDL
この問題を診断する手順は次のとおりです。
BPELプロセスには、未解決の起動メッセージやコールバック・メッセージ、指定のしきい値の時間に完了していないアクティビティなど、リカバリ可能なアクティビティを自動的にリカバリしようとする自動リカバリ機能が装備されています。ただし、自動リカバリ機能は、数個のインスタンスのリカバリのみを試行し、固定された回数だけ再試行します。一部のインスタンスが自動的にリカバリされない場合は、自動リカバリ・パラメータの構成によってそれらのインスタンスはピックアップされないと考えられます。
この問題の解決方法:
自動的にリカバリするメッセージの最大数を設定します。
デフォルトでは、Oracle BPEL Process Managerの自動リカバリ機能は、それぞれのリカバリ試行ごとに送信する50件のメッセージを処理します。これはmaxMessageRaiseSizeプロパティによって制御されます。
ナビゲーション・ペインで、「soa-infra」(SOA_cluster_name)を右クリックします。
「SOA管理」→「BPELプロパティ」→「詳細BPEL構成プロパティ」→「RecoveryConfig」の順に選択します。
「RecurringScheduleConfig」→「maxMessageRaiseSize」と「StartupScheduleConfig」→「maxMessageRaiseSize」の両方を開きます。
それぞれのデフォルト値は50
です。負の値に設定すると、データベースから選択されたすべてのメッセージがリカバリのために送信されます。0
(ゼロ)の値を指定すると、メッセージはデータベースから選択されません(事実上のリカバリの無効化)。50を超えるメッセージをリカバリするには、その値にプロパティ値を設定します。サーバーに対するリカバリの影響を制限するには、このプロパティを使用します。
1つのメッセージに対して自動リカバリを試行する最大回数を設定します。
また、同じリカバリ可能インスタンスで実行する自動リカバリ試行の回数も構成できます。入力した値によって、起動メッセージおよびコールバック・メッセージがリカバリされる最大回数が指定されます。値が0
(デフォルト値)の場合、すべてのメッセージがリカバリされます。1つのメッセージに対するリカバリ試行の数が、指定された値を超過すると、そのメッセージにはリカバリ不能のマークが付けられます。
Oracle Enterprise Manager Fusion Middleware Controlで起動メッセージとコールバック・メッセージの自動リカバリ試行を構成する手順は次のとおりです。
ナビゲーション・ペインで、「soa-infra」(SOA_cluster_name)を右クリックします。
「SOA管理」→「BPELプロパティ」→「詳細BPEL構成プロパティ」の順に選択します。
「MaxRecoverAttempt」を選択し、「値」フィールドに値を入力します。
「適用」をクリックします。
自動リカバリは、使用しないほうがよい場合もあります。サービスが多重呼出し不変でない場合は、破損が発生する可能性があります。さらに、自動リカバリ機能はコンポジットを、最後に保存された状態にリストアしますが、これは非同期の呼出しや待機などの直後の可能性があります。したがって、大量のリカバリを実行する前に、プロセスの動作とそれが次に何をするかを理解しておくことが重要です。大量の自動リカバリは、コンポジット・エラーの根本原因が修正された後(たとえば、利用できなかったサービスが利用可能になった後や領域不足のデータベースが修正された後など)でのみ試行してください。また、自動リカバリによって、エラー・シナリオで予期しないロードがトリガーされる可能性もあります。これにより、リモート・サーバー上でブロックするスレッド数が増加して、結果としてSOAサーバーで次々とハングが発生する可能性があります。
詳細は、「Oracle BPEL Process Managerの自動リカバリの構成」を参照してください。
BPELプロセス・フローでエラーが発生すると、それが呼び出したすべてのアクティビティとともに再試行されます。これは望ましくない場合もあります。
プロパティGlobalTxMaxRetry(デフォルト値は3
)は、再試行可能としてエラーが識別されたときに実行する再試行回数を指定します。たとえば、Webサービスを数回呼び出した後で、データ・ソース・エラーによってデハイドレーションが失敗した場合は、これは再試行可能なエラーとして識別され、前のデハイドレーション状態のすべてのアクティビティが再試行されます。再試行されているアクティビティが多重呼出し不変でない場合(つまり、それらの状態が再試行ごとに変化する可能性があり、同じ動作の提供が保証されない場合)は、複数回の再試行によって問題が生じる可能性があります。
この状況を修正するには、composite.xml
ファイルのパートナ・リンク設定セクションでidempotent
をfalse
に設定して多重呼出し不変でないアクティビティを明確にマークすることでコンポジットをカスタマイズして、再試行を防止します。
<property name="bpel.partnerLink.partner_link_name.idempotent">false</property>
idempotent
プロパティはOracle Enterprise Manager Fusion Middleware Controlでは設定できません。
また、システムMBeanブラウザでGlobalTxMaxRetryを0
に設定することもできます。
GlobalTxMaxRetryを設定する手順は、次のとおりです。
idempotent
プロパティの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のパートナ・リンク操作レベルでの冪等性の管理に関する項を参照してください。
アプリケーション・トランザクションが完了していないとします。たとえば、注文書のステータスが処理中のままになっている、といった場合です。ビジネス・フロー・インスタンスをチェックすると、コンポジットが実行状態でスタックしていることがわかります。この場合は、コンポーネントはおそらく動作していません。多分失敗しており、リカバリが必要な場合があります。
フォルトは次のような様々な理由で発生する可能性があります。
BPELアクティビティがエラー(たとえば、ビジネス・エラー、セキュリティ認証エラー、他のエラーなど)によって失敗した場合。
BPELアクティビティが、利用できない外部Webサービスを呼び出した場合。
管理者がOracle Enterprise Manager Fusion Middleware Controlを使用してBPELアクティビティをすでに終了している場合。
BPELアクティビティが非同期ADFサービスを呼び出して、メッセージがAQ JMSキューでスタックした場合。
BPELアクティビティが非同期ADFサービスを呼び出したが、Oracle SOA Suiteが利用できないために、コールバック・メッセージが到着しなかった場合。
BPELアクティビティが同期ADFサービスを呼び出し、これに長時間かかっている場合(またはハングしている場合)。
ネットワーク・エラーが発生した場合。
この問題を診断する手順は次のとおりです。
Oracle Enterprise Manager Fusion Middleware Controlにログインします。
ナビゲータ・ペインで、「domain_name」→「SOA」に移動します。
「soa-infra」(SOA_cluster_name)をクリックします。
「フロー・インスタンス」タブをクリックします。
ビジネス・フロー・インスタンスを検索し、フローIDをクリックします。
「フローのトレース」ページが表示されます。
インスタンスが表示されない場合(および「SOAインフラストラクチャの共通プロパティ」ページで「監査レベル」が「オフ」に設定されていない場合)は、メッセージがOracle SOA Suiteの外部でスタックしていることを意味します。
メッセージがOracle Mediatorに到達したものの、BPELフローをインスタンス化していない場合は、エラーが原因でBPELインスタンスが最初からロールバックされている可能性があります。
BPELフローが存在する場合は、通常は「フローのトレース」ページの「フォルト」セクションに、根本原因をトレースできる失敗したサービスが表示されます。
「トレース」セクションで、BPELプロセスをクリックします。
BPEL監査証跡を開いて、サービスが失敗した正確なポイントを表示します。
この情報は、BPELフロー・トレースの「フォルト」タブでも確認できます。これはまた、フォルトをリカバリできるかどうかも示します。
「raw XMLの表示」リンクをクリックします。
このリンクから同じ情報を確認して、エラーを表示できます。例:
... <message>Faulted while invoking operation "modifyUserRoles" on provider "UserService". </message><details> ... <tns:message>JBO-27023: Failed to validate all rows in a transaction.</tns:message> <tns:severity>SEVERITY_ERROR</tns:severity> ... <message>The transaction was rolled back. The work performed for bpel instance "451042" was rolled back to the previous dehydration point, but the audit trail has been saved. You can recover the instance from the recovery console by resubmitting the callback message or activity for execution.</message
インスタンスは前のデハイドレーション・ポイントにロールバックされているため、ステータスは「実行中」のままになります。
「監査証跡」タブで、次をメモします。
コンポジット名(例: POComposite)
コンポーネント(例: UpdateGuid BPELプロセス)
BPELインスタンスID(例: bpel:451042)
これはすべて、リカバリ可能なインスタンスのリカバリで使用されます。「監査証跡」では、リカバリ不可能なビジネス・フォルトとしてエラーがマークされている場合がありますが、メッセージのリカバリ可能性はBPELプロセス・サービス・エンジンの「リカバリ」タブで確認できます。
インスタンスのリカバリを試行するには、「soa-infra」(SOA_cluster_name)を右クリックして、「サービス・エンジン」→「BPEL」を選択します。
「リカバリ」タブをクリックします。
「タイプ」リストから「アクティビティ」を選択します。
手順9でメモしたコンポジットとコンポーネントの名前を指定して、「検索」をクリックします。
固有のBPELインスタンスIDを見つけます。「リカバリ可能」とマークされているフォルトをリカバリできます。
「タイプ」リストで他のリカバリ・オプションがある場合はそれをチェックします(例: 「起動」および「コールバック」)。
注意:
リカバリ可能なメッセージは、SOAインフラストラクチャの「フロー・インスタンス」ページからも検索可能です。
インスタンスがリカバリ可能とマークされていない場合は、サービスを再度呼び出すことはできません(おそらく多重呼出し不変ではないため)。場合によっては、リカバリ不可能な多重呼出し不変でないトランザクションの問題を解決するために、Oracleサポート・サービスに診断情報を提供することが必要になります。
BPELアクティビティが非同期ADFサービスを呼び出した場合に、メッセージがAQ JMSキューでスタックしているときは、server
.log
ファイルとserver
-diagnostic.log
ファイルを表示して、JRF Webサービス・インフラストラクチャがログしたメッセージ・メタデータのロギングを確認できます。
さらに、ADF診断ログは、必要に応じてデバッグにも使用できます。
「ECID」フィールドを使用して、対応するADFサービス・ロギングをこれを呼び出したSOAコンポジット・アプリケーションと相関付けて追跡します。
Oracle Enterprise Manager Fusion Middleware Controlでログを表示する際に、「広範囲のターゲット・スコープ」ドロップダウン・リストをクリックして、「farm_name」/「domain_name」(Oracle WebLogicドメイン)を選択し、ドメイン全体のメッセージを表示します。
Oracle WebLogic Serverドメインの「ログ・メッセージ」ページの「選択したターゲット」セクションで、手順17.aで取得した値を持つ「ECID」フィールドが検索に含まれていることを確認します。
実行コンテンツID (ECID)のログ・レコードを検索および表示して、問題をメモします。
1つのECIDについて、いくつかのルート・インスタンス(最上位クライアント)があります。適切なインスタンスにドリルダウンして、具体的なフォルトを探す必要があります。
コンポーネントが正常に完了したか、またはエラーが発生して終了したかどうかを観察します。『Oracle Fusion Middlewareの管理』のログ・ファイルの表示と検索に関する項を参照してください。
トランザクションとメッセージをリカバリする様々な方法については、次の章を参照してください。
Oracle Enterprise Manager Fusion Middleware ControlのSOAコンポジット・アプリケーション・ページからリカバリするには、「SOAコンポジット・アプリケーションのビジネス・フロー・インスタンスの管理」を参照してください。
BPELプロセス・サービス・コンポーネントとBPELプロセス・サービス・エンジンのメッセージ・リカバリ・ページからリカバリするには、「BPELプロセスのサービス・コンポーネントとエンジンの管理」を参照してください。
BPMN、ヒューマン・ワークフロー、CASE分析測定イベントの処理中に、BAMが停止、またはデータベースが使用不可などの理由によってエラーが発生すると、(i)分析メッセージ処理関連のエラーがログに表示され、(ii) BPM_MEASUREMENT_ACTION_EXCEPS表にこれらのエラーのレコードが1つ以上記録されます。これらのイベントは2つのメソッドのいずれかを使用して再公開できます。
測定アクション・サービス・クライアントの使用
republishErroredEvents操作を使用して、24時間以内にエラーが発生した測定イベントを再公開します。この操作はAnalyticsConfig mbeanの一部として使用できます。エラー・イベントを再公開するには、次のアクティビティを実行します。プロンプトが表示されたら、パスワードを入力します。
java [CLASSPATH] [PROPERTIES] oracle.bpm.metrics.action.MeasurementActionRecoveryClient
CLASSPATH: -classpath $MW_HOME/soa/soa/modules/oracle.bpm.runtime_<version number of instance>/oracle.bpm.analytics.metrics.interface.jar: $MW_HOME/soa/wlserver/server/lib/weblogic.jar
次の必須プロパティを入力します。
-Dhost=<host> (soa server host name) -Dport=<port> (soa server port) -Duser=<admin user> (soa server admin user name) -DcompositeName=<soa composite name> (soa server host name)
必要に応じて、次のオプションのプロパティを入力します。
-Drealm = <hostrealm Name> (default is jazn.com) -Dprotocol=<protocol> (jndi protocol. Default is t3) -DinitialContextFactory = <jndi initial context factory> (Default is weblogic.jndi.WLInitialContextFactory) -DmeasurementAction=<action name> (measurement action name. Default is ProcessMetrics (BAM 12c)) -DrangeStartDate=mm/dd/yyyy (Range start date . Default is 24 hours before rangeEndDate ) -DrangeEndDate=mm/dd/yyyy (Range end date. Default is current time) -Ddebug=true/false (if true, prints the exception stacktraces in case of any error. default is false)
Oracle Enterprise Manager AnalyticsConfig MBean - republishErroredEvents操作の使用
republishErroredEvents操作もAnalyticsConfig mbean (mbean object name = oracle.as.soainfra.config:name=analytics,type=AnalyticsConfig,Application=soa-infra)
の一部として使用できます。Oracle Enterprise Manager管理者は、24時間以内にエラーが発生したメッセージにアクセスし、再公開できます。
Oracle Enterprise Managerにログインします
「oracle.as.soainfra.config」、「Server:AdminServer」、「AnalyticsConfig」を展開し、「analytics」を選択します。
右側のペインで「操作」タブを開きます。
「republishErroredEvents」をクリックします。
前述の説明に従って、必要な詳細を入力します。
「起動」をクリックします。
この項では、ヒューマン・ワークフローの問題をトラブルシューティングする方法について説明します。
SOAサーバー起動時に、次に示す例外が表示される場合があります。この例外は、SOAサーバーがまだ初期化中であるために発生します。SOAサーバーの初期化が完了するまで待ちます。
ORABPEL-30132 exception.code:30132 exception.type: ERROR exception.severity: 2 exception.name: Workflow Service Engine not ready. SOA server is still starting. exception.description: Could not obtain instance of Workflow Service Engine as the SOA server is still initializing. exception.fix: Wait for SOA server to finish starting up, and retry.
Oracle Enterprise Manager Fusion Middleware ControlでのSOAサーバーの初期化ステータスの監視の詳細は、「SOAインフラストラクチャの全体的なランタイム・ヘルスの表示」を参照してください。
表B-2に、タスクの割当て、ルーティングおよびエスカレーションの問題に関する症状と考えられる原因、考えられる解決策を示します。
表B-2 タスクの割当て、ルーティングおよびエスカレーションの問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
割当てが行われずにタスクが完了します。 |
最も多い問題は、タスクの割当て先の指定にXPath式を使用していて、その式で該当するノードが算出されないことです。その他には、参加者のスキップ条件が正しくないなどの問題が考えられます。 |
|
ビジネス・ルールでリスト・ビルダーが返されていません。 |
タスクの参加者の指定にビジネス・ルールを使用する場合は、ビジネス・ルールによって最低1つのリスト・ビルダーが返されることを想定しています。ビジネス・ルールで参加者が不要であることを決定する場合は、 |
|
ビジネス・ルールで別のタイプのリスト・ビルダーが返されています。 |
タスクの参加者の指定にビジネス・ルールを使用する場合は、ビジネス・ルールによって同じタイプのリスト・ビルダーが返されることを想定しています。 |
ルールを修正します。 |
複数のルールを定義している場合にヒューマン・ワークフロー・タスクで正しくないユーザーが選択されたり、次のメッセージのエラーが発生します。 Ruleset returned lists with different list builder |
ヒューマン・ワークフロー・タスクでは、実行時にユーザーのリストのフェッチを試行したときに、次のエラーが発生することがあります。 Ruleset returned lists with different list builder このエラーは、タスク詳細コメント・フィールドに表示されます。また、タスクにより正しくないまたは想定されていないユーザーや承認者が選択されている可能性があります。これは主に、重複するルールの設定が原因で発生します。タスクの参加者の指定にビジネス・ルールを使用する場合は、ビジネス・ルールによって同じタイプのリスト・ビルダーが返されることを想定しています。 また、ルールセット内のルールは、トランザクションに対して1つのみが該当する必要があります。複数のルールが該当する場合は、最も高い優先度のルールに関連付けられているアクションが実行されます。該当する複数のルールの優先度が同じ場合は、リスト内の最初のルールが選択され、そのアクションが実行されます。 |
重複するルールを記述しないようにします。各リスト・ビルダーからの制約は、異なるものとし、混在させることはできません。異なるリスト・ビルダーによって複数のルールがトリガーされると、このエラーが発生します。また、1つの制約セットのみが適用されます。 ルールセット内のすべてのルールで、同じトランザクションに対して同じ優先度の複数のルールが該当しないように、優先度が定義されていることを確認してください。 詳細は、Oracle Business Process Management Studioを使用したビジネス・プロセスの作成を参照してください。 |
パラレル完了基準が満たされていても、パラレル割当て先がタスクの承認または拒否を行う必要があります。 |
パラレル参加者のための「参加者タイプの追加」ダイアログでは、すべてのパラレル参加者が完了するまで待機するか、または基準が満たされたら完了するように、実行時のヒューマン・タスクを構成できます。 |
「参加者タイプの追加」ダイアログで、完了について正しい選択を行います。 |
グループまたはロール内の各ユーザーに個別に割り当てられるものと想定していたタスクが、グループまたはロールに割り当てられます。 |
タスクの割当て先にグループまたはロールが使用された場合、すぐにタスクがそのグループまたはロールに割り当てられます。タスクの実行時に、個別に割り当てられるわけではありません。グループまたはロール内のいずれかのユーザーが、そのタスクを申告して処理する必要があります。パラレル参加者またはシリアル参加者とあわせて使用した場合に、このユーザーの解決は自動的に行われるものと考えられることが多いようですが、実際はそうではありません。 |
グループまたはロールのメンバーに個別に割り当てるには、XPath関数の |
タスクでルーティング・ルールまたはルールベースの参加者を評価するデシジョン・サービスを呼び出したときに、エラーが発生します。 |
SOAインフラストラクチャ・インスタンスで、ペイロードの検証が有効になっています。 |
インスタンスの「ペイロードの検証」チェック・ボックスの選択を解除します。詳細は、「SOAインフラストラクチャ・プロパティの構成」を参照してください。 |
表B-3に、タスク・アクションの問題に関する症状と考えられる原因、考えられる解決策を示します。
表B-3 タスク・アクションの問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
ユーザーがタスクのアクションを実行できません。 |
最も多い問題は、その時点でそのタスクのそのアクションを実行する権限をユーザーが持っていないことです。 |
ユーザーがタスクの割当て先、所有者または作成者のいずれかであるか、または管理者であるかどうかを確認します。ユーザーがアクションの実行を許可されている場合は、サーバー・ログ・ファイルで、タスクの状態やタスクの割当て先、タスクを取得していたユーザー、許可されていたアクション、指定のタスクでそのユーザーが担当していた役割などの情報を含む、詳細なログ・メッセージを確認します。 |
タスクがロックされており、Oracle BPM Worklistで更新できません。 |
2人のユーザーが同じタスクを同時に更新しようとしています。 |
他のユーザーが終了するまで待機します。 |
表B-4に、通知の問題に関する症状と考えられる原因、考えられる解決策を示します。
表B-4 通知の問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
次のエラー・メッセージが表示される場合があります。 [2012-07-05T09:13:05.246-04: 00] [soa_server1] [ERROR] [] [oracle.soa.services.workflow .common] [tid: [ACTIVE].ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: dc2ff0568380b04f:23824bc7:13 8570a4e67:-8000-000000000000 1716,0] [APP: soa-infra] <.> [[ORABPEL-0 at oracle.bpel.services.workflo w.task.notification.TaskNoti fications.notifyForTask(Task Notifications.java:481) . . . . . . |
電子メール通知メッセージの本文にアポストロフィがあるかどうかをチェックします。 <%string('À titre de responsable fonctionnel, une demande d'approbation . . . |
文字列にダブル・アポストロフィを追加することで、それぞれのアポストロフィをエスケープします。たとえば、メッセージに <%string('d'd')%> 次のように変更します。 <%string('d''d')%> |
電子メール通知が送信されません。 |
電子メール・ドライバの構成で使用されている送信(SMTP)サーバーの設定が正しくありません。 |
簡易メール転送プロトコル(SMTP)ポート、SMTPホスト、ユーザー名、パスワード、電子メールの値をチェックします。 ヒント: 値を検証するには、任意の電子メール・クライアントでこれらの値を使用してSMTPサーバーに接続します。 次の手順を実行して、Oracle Enterprise Manager Fusion Middleware Controlの設定を確認します。
|
タスクの電子メール通知が送信されません。 |
Oracle Enterprise Manager Fusion Middleware Controlの「ワークフロー通知プロパティ」ページで、「通知モード」が「なし」に設定されています。 |
この設定を「電子メール」または「すべて」に変更します。詳細は、「ヒューマン・ワークフロー通知プロパティの構成」を参照してください。 |
通知は次のエラー・メッセージのため送信されません。 No matching drivers found for sender address = <address> |
該当するチャネルに対するUser Messaging Serviceドライバが特定の送信者アドレス・リストで構成されていますが、アプリケーションが送信したメッセージに、一致しない送信者アドレスが設定されています。 注意: User Messaging Serviceサーバーは、アウトバウンド・メッセージの送信者アドレスを使用可能なドライバの送信者アドレスに対して照合(送信者アドレスが設定されている場合)して、メッセージの配信に使用する一致ドライバを検索します。ドライバが1つまたは複数の送信者アドレスを設定している場合、User Messaging Serviceサーバーは、一致する送信者アドレスを持つメッセージのみをそのアドレスに送信します。 |
次のタスクを実行します。
|
通知は送信されますが、アクション可能ではありません。 |
Oracle Enterprise Manager Fusion Middleware Controlの「ワークフロー通知プロパティ」ページで、「アクション可能なアドレス」フィールドが設定されていません。 |
Oracle Enterprise Manager Fusion Middleware Controlで、「アクション可能なアドレス」フィールドに有効な電子メール・アドレスを構成します。詳細は、「ヒューマン・ワークフロー通知プロパティの構成」を参照してください。 User Messaging Serviceの電子メール・ドライバで受信サーバー設定を構成したときと同じ電子メール・アドレスが使用されていることを確認します。詳細は、「ヒューマン・ワークフロー通知プロパティの構成」を参照してください。 |
通知は送信されますが、アクション可能ではありません。 |
ヒューマン・ワークフロー・タスクがアクション可能な通知を送信するように設定されていません。 |
ヒューマン・タスク・エディタで(このエディタは、Oracle JDeveloperの |
アクション可能な通知が送信されますが、応答してもアクションは実行されません。 |
アクション可能なアドレス・フィールドが正しくありません。 |
IMAPおよびPOP3のサーバーとポートの値を確認します。電子メール・ドライバの構成で、アクション可能なアドレス・フィールドが使用されていることを確認します。 ヒント: 値を検証するには、任意の電子メール・クライアントでこれらの値を使用して、IMAPサーバーまたはPOP3サーバーに接続します。 |
アクション可能な通知が送信されますが、応答してもアクションは実行されません。 |
デフォルト以外の電子メール・クライアントが通知受信用に構成されています。 |
ユーザーが承認リンクをクリックすると、デフォルトのメール・クライアント・ページが開き、このページで別の電子メール・サーバーに電子メールを送信できます。デフォルトの電子メール・クライアントを、アクション可能な通知を受信するように構成します。 「ワークフロー・タスク・サービス・プロパティ」ページの「アクション可能な電子メール・アカウント」フィールドに、アクション可能な受信電子メール・アカウントとして使用する正しい値を入力します。デフォルトのアカウント名は、「Default」です。 詳細は、「ヒューマン・ワークフロー・タスク・サービス・プロパティの構成」を参照してください。 |
ヒューマン・ワークフローのアクション可能な通知が送信されますが、応答してもアクションは実行されません。 |
電子メール・ドライバの受信メール・サーバーの設定が正しくありません。 |
Oracle Enterprise Manager Fusion Middleware Controlを使用して、次の電子メール・ドライバの設定を確認します。
|
アクション可能な通知が送信されますが、応答してもアクションは実行されません。 |
電子メール・クライアントに、電子メール・ドライバで使用されるアカウントと同じアカウントが構成されています。 |
ヒューマン・ワークフローの通知サービスがメールをダウンロードして処理する前に、電子メール・クライアントによってメールがダウンロードされて既読にマークされたり、削除されている可能性があります。電子メール・クライアントから、そのアカウントを削除します。 |
ユーザー通知またはヒューマン・ワークフロー通知が正しい配信タイプ(電子メール、SMSなど)を介して送信されるが、間違ったアドレスに送信されます。 |
ユーザー・メッセージング・プリファレンスで、ユーザーが、BPELプロセス・ユーザー通知またはヒューマン・ワークフロー通知で使用するために、セルフプロビジョニング・メッセージング・チャネルを作成しました。 注意: User Messaging Preferencesユーザー通知を使用すると、様々なユース・ケースに対する独自のメッセージング・チャネルを作成できます。ただし、これらのチャネルはBPELプロセス・ユーザー通知およびヒューマン・ワークフローには使用しないでください。 |
BPELプロセス・ユーザー通知またはヒューマン・ワークフロー・ユースケースには、セルフプロビジョニング・メッセージング・チャネルは使用しないでください(つまり、デフォルトのチャネルとして設定しないでください。また、このようなユースケースに対するメッセージ・フィルタで使用しないでください)。BPELプロセス・ユーザー通知およびヒューマン・ワークフローでは、配信タイプ・プリファレンスに対してのみUser Messaging Preferencesを使用します。実際のアドレスは、アイデンティティ管理システムのユーザー・プロファイルから取得されます。 注意: アイデンティティ管理システムのユーザー・プロファイルからのアドレスは、事前定義のチャネル名(勤務先電子メール、業務用携帯電話番号、勤務先電話番号、インスタント・メッセージなど)を使用して、ユーザー・メッセージング・プリファレンスを介して使用可能です。BPELプロセス・ユーザー通知およびヒューマン・ワークフロー・ユースケースには、かわりにこれらの事前定義済メッセージング・チャネルを使用してください。 |
電子メール通知でOracle BPM Worklistリンクが表示されます。 |
これはデフォルトの動作です。デフォルトでは、電子メール通知にはOracle BPM Worklistが表示されます。 |
次の手順を実行します。
|
グループ通知のパフォーマンスが遅いです。 |
グループ通知のパフォーマンスは、グループ内のメンバーの数(グループのサイズ)によって決まります。 |
|
表B-5に、タスク・ビューの問題に関する症状と考えられる原因、考えられる解決策を示します。
表B-5 タスク・ビューの問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
カスタム(マップ済属性)列のビューへの表示 |
属性マッピングは、特定のタスク・タイプに対して作成されます。マップ済属性を使用するには、ビューを1つ以上のタスク・タイプに関連付ける必要があります。 |
Oracle BPM Worklist (表示、作成または編集UI)の「定義」タブで、ビューに対してタスク・タイプを指定します。そのタスク・タイプのマッピングで使用されている属性ラベルが、ビューで使用可能な列として「表示」タブで使用できるようになります。 1つのビューは複数のタスク・タイプと関連付けることができます。「タスク・タイプ」ブラウザから、複数のタスク・タイプを選択できます。複数のタスク・タイプを選択した場合は、それらのすべてのタスク・タイプの属性ラベルが、そのビューで使用できるようになります。 |
ビューの権限受領者が、ビューの所有者に属するタスクを表示したり編集できます。 |
ビューがデータとして共有されています。この共有タイプでは、権限受領者が、まるでビューの所有者であるかのようにビューを使用できるため、ビューの所有者のタスクを表示して操作できます。 |
Oracle BPM Worklist (表示または編集UI)の「定義」タブで、「ビューの共有」が「定義のみ」に設定され、権限受領者がビューを自分のタスクに対して使用できるようになっていることを確認します。「ビューの共有」を「データ」に設定すると、権限受領者は、ビューをそのビューの所有者のデータに対して使用できるようになります。 |
新規標準ビューの作成 |
標準ビューは、管理権限を持つユーザーのみが作成できます。 |
|
標準ビュー名の国際化 |
標準ビューの名前フィールドに指定した値をリソース・キーとして使用して、 |
|
あるインスタンスで作成したビューと標準ビューの別のSOAサーバーへの移行 |
テストから本番への移行ユーティリティを使用する必要があります。 |
テストから本番への移行ユーティリティを使用すると、ユーザー・ビューと標準ビューをXMLファイルにエクスポートして、そのXMLファイルのビューを別のインスタンスにインポートできます。このユーティリティの詳細は、「ヒューマン・ワークフロー・データのテスト環境から本番環境への移動」を参照してください。 |
表B-6に、タスクの属性マッピングの問題に関する症状と考えられる原因、考えられる解決策を示します。
表B-6 タスクの属性マッピングの問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
Oracle BPM Worklistで、パブリック属性へのマッピングにペイロード属性を使用できません。 |
Oracle BPM Worklistは、単純なペイロード属性へのマッピングの作成のみをサポートしています。Oracle BPM Worklist.でのマッピングの作成では、タスク・ペイロードの単純な属性のみが表示されます。 |
|
Oracle BPM Worklistで、保護付きの属性ラベルへのマッピングを作成できません。 |
保護付きのマッピングは、デザインタイムのタスク定義の中でのみ作成できます。実行時にOracle BPM Worklistや |
|
Oracle JDeveloperで、マッピングの作成に使用する属性ラベルが表示されません。 |
デザインタイムのマッピングは、保護付きの属性ラベルに対してのみ作成できます。接続先のSOAインスタンスに保護付きの属性ラベルが作成されていることを確認してください。 |
|
属性ラベルの名前の国際化 |
属性ラベル名をリソース・キーとして使用して、 |
|
あるサーバーから別のサーバーへの属性ラベルとマッピングの移行 |
テストから本番への移行ユーティリティを使用します。 |
テストから本番への移行ユーティリティを使用すると、パブリック属性ラベル、パブリック属性マッピング、および保護付きの属性ラベルをXMLファイルにエクスポートして、そのXMLファイルのラベルとマッピングを別のインスタンスにインポートできます。 詳細は、「ヒューマン・ワークフロー・データのテスト環境から本番環境への移動」を参照してください。 |
表B-7に、タスク・レポートの問題に関する症状と考えられる原因、考えられる解決策を示します。
表B-7 タスク・レポートの問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
次のエラー・メッセージが表示される場合です。 Null Pointer Exception when running Task Productivity Report |
これは、ワークリストのクライアントのロケールとサーバーのデフォルト・ロケールが異なる場合に、日付の処理に関する問題が原因で発生します。 |
回避策としては、ワークリストのクライアントのロケールをサーバーと同じロケールに変更するか、日付を指定しないでレポートを実行します。 |
表B-8に、タスク履歴の問題に関する症状と考えられる原因、考えられる解決策を示します。
表B-8 タスク履歴の問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
「参加者の追加」ボタンが無効になっています。 |
履歴表で、現在または過去の参加者が選択されています。 |
これは、設計されているとおりの動作です。現在または過去の参加者に対して、非定型参加者を追加することはできません。現在の参加者とは、その時点でタスクが割り当てられている参加者を意味します。 |
ページをリフレッシュすると、追加したすべての非定型参加者が消えてしまいます。 |
履歴表への変更が保存されていない可能性があります。 |
変更を保存してください。そうしない場合、すべての変更は失われます。変更を保存したはずであるのに失われている場合は、バグとして報告してください。 |
履歴表に予定承認者が表示されません。 |
予定承認者チェック・ボックスが選択されていない可能性があります。 |
Oracle BPM Worklist (タスク順序の表の構成)で、予定承認者チェック・ボックスを選択します。 |
履歴表に相関IDが渡されていないことを示すメッセージ、または相関IDに関連する例外が表示されます。 |
タスクが開始されていない場合、相関IDが渡されていない可能性があります。 |
開始されていないタスクに相関IDを渡していることを確認してください。 |
編集ツールバーが無効になっているか、または表示されません。 |
ユーザーが参加者を編集する権限を持っていない可能性があります。 |
|
次のエラー・メッセージが表示される場合です。 <Warning> <oracle.adf.controller.intern al.metadata.MetadataService> <BEA-000000><ADFc: /META-INF/adfc-config.xml: > <Warning> <oracle.adf.controller.intern al.metadata.MetadataService>< ADFC-52024> <ADFc: Duplicate managed bean definition for 'aleCompBindings' detected.> |
共有ライブラリ |
原則的には、これらのJARはWebアプリケーション内にパッケージ化すべきではありません。これらは、共有ライブラリとして参照のみ行います。これらのJARをWebアプリケーション内にパッケージ化しないでください。 |
次のエラー・メッセージが表示される場合です。 <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1297964056778' for task '3'. Error is: 'weblogic.management.Deployme ntException: [J2EE:160149]Error while processing library references. Unresolved application library references, defined in weblogic-application.xml: [Extension-Name: oracle.soa.workflow.wc, exact-match: false].' weblogic.management.Deploymen tException: [J2EE:160149]Error while processing library references. Unresolved application library references, defined in weblogic-application.xml: [Extension-Name: oracle.soa.workflow.wc, exact-match: false]. |
共有ライブラリ |
アプリケーションをデプロイしようとしているサーバーに、この共有ライブラリがデプロイされていることを確認します。共有ライブラリがデプロイされていても、ターゲットがそのサーバーでない可能性があります。 |
次のエラー・メッセージが表示される場合です。 java.lang.IllegalStateExcepti on: Attempt to validate an already invalid RegionSite: |
これは、サーバー・ログ(たとえば、 |
診断ログ(たとえば、 |
次のエラー・メッセージが表示される場合です。 [AdminServer] [NOTIFICATION] [J2EE JSP-00008] [oracle.j2ee.jsp] [tid: [ACTIVE].ExecuteThread: '15' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 17011f2a001d6b0e:7e22d6ce:12e 3444eb1b:-8000-0000000000002f 0a,0] [APP: FederatedApp_ application1] unable to dispatch JSP page: The following exception occurred:.[[ java.lang.RuntimeException: Cannot find FacesContext at javax.faces.webapp.UIComponen tClassicTagBase.getFacesConte xt(UIComponentClassicTagBase. java:2122) |
これは、よくある間違いですが、使用しているコンポーネントとは関係ありません。URLへの http://server:port/FederatedApp /test.jspx |
次のように、URLに http://server:port/FederatedApp/fac es/test.jspx |
表B-9に、タスク・フォームおよびタスク・アクションの問題に関する症状と考えられる原因、考えられる解決策を示します。
表B-9 タスク・フォームおよびタスク・アクションの問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
タスク・フォーム・アプリケーションに空のJSPXページがありません。 |
N/A |
現在は、タスク・フォームはADFタスク・フローを使用して呼び出され、タスク・フローが完了すると、タスク・フォームのタスク・フローを開始したモジュールに制御が戻されるようになっています。そのため、空のJSPXは必要ありません。 |
タスク・フォームがMicrosoft Internet Explorerにロードされません。 |
Microsoft Internet Explorerでは、URLの長さに制限があります。 |
タスク・フォームのURLが長すぎます。 |
デプロイが |
共有ライブラリのエントリが |
次のエラーが表示される場合があります。 Caused By: java.lang.ClassNotFoundException: oracle.bpel.services.datacontrol.ty pes.Number タスク・フォームのデプロイ時に、共有ライブラリが <library-ref> <library-name>oracle.soa.worklist.w ebapp</library-name> <specification-version>11.1.1</spec ification-version> </library-ref> |
ホスト名を使用した場合に、タスク・フォームのデプロイおよびアクセスが失敗します。 |
DNSエントリが存在しません。 |
DHCPを設定したサーバーを使用している場合は、そのホストのDNSエントリが存在しない可能性があります。そのため、IPアドレスを使用したデプロイやアクセスは成功しても、ホスト名を使用したデプロイやアクセスは失敗することがあります。手動でホストとIPアドレスを追加して、クライアント・コンピュータを更新します。
|
タスク・フォームのURLプロトコル(HTTPまたはHTTPS) |
HTTPSまたはHTTP経由でタスク・フォームにアクセスできません。 |
|
注意:
複数タスク・フォームのデプロイ時にjava.lang.OutOfMemoryError:
PermGen
space
エラーが表示された場合は、PermGen
メモリーを増やすことが必要な場合があります。詳細は、「複数のADFタスク・フォーム・デプロイメントのPermGenメモリー要件」を参照してください。
表B-10に、タスク・コメントと添付ファイルの問題に関する症状と考えられる原因、考えられる解決策を示します。
表B-10 タスク・コメントと添付ファイルの問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
ファイルがアップロードされません。 |
ファイルが大きすぎます |
デフォルトでは、ADFには、各リクエストにつき、2000 KBのサイズ制限があります。次のパラメータを <context-param> <!-- Maximum memory per request (in bytes) --> <param-name>oracle.adf.view.faces.U PLOAD_MAX_MEMORY</param-name> <!-- Use 500K --> <param-value>512000</param-value> </context-param> <context-param> <!-- Maximum disk space per request (in bytes) --> <param-name>oracle.adf.view.faces.U PLOAD_MAX_DISK_SPACE</param-name> <!-- Use 5,000K --> <param-value>5120000</param-value> </context-param> <context-param> <!-- directory to store temporary files --> <param-name>oracle.adf.view.faces.U PLOAD_TEMP_DIR</param-name> <!-- Use an ADFUploads subdirectory of /tmp --> <param-value>/tmp/ADFUploads/</para m-value> </context-param> |
タスク詳細アプリケーションにアップロードしたファイルが、同じタスク・フローに表示されません。 |
ファイルのアップロード後は、タスク・フォームに生成されている添付ファイルのリンクは無効になります。このリンクをクリックすると、空のストリームが返されます。 |
ファイルをアップロードする際には、表に添付ファイルのリンクが表示されます。ただし、このリンクは機能しません。タスク詳細をリロードして、ファイルを表示する必要があります。 |
ファイルの添付を追加すると新規タスク・バージョンが作成されますが、URLの添付を追加しても新規バージョンが作成されません。 |
URLの添付とファイルの添付では、動作が一致しません。 |
ファイルがアップロードされた場合、ファイルは永続的な記憶域にアップロードされるため、タスクが保存されます。これにより、新規タスク・バージョンが作成されます。URLの添付では、ユーザー・インタフェース・アプリケーションのローカル・タスク・オブジェクトのみが更新されます。そのため、タスク・バージョンは作成されません。 |
表B-11に、実行時のデザインタイムの問題に関する症状と考えられる原因、考えられる解決策を示します。次の2つの実行時のデザインタイム・ツールを使用できます。
Oracle SOA Composer
Oracle BPM Worklistの「タスク構成」タブ
表B-11 実行時のデザインタイムUIの問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
実行時のデザインタイム・ツールでタスクに行った変更が、そのタスクに表示されません。 |
実行時のデザインタイム・ツールを使用して、実際にタスクを編集したときよりも前に、そのタスクはインスタンス化されています。 |
実行時のデザインタイムの更新は、変更後に作成されたインスタンスにのみ反映され、変更前にすでに作成されていたインスタンスには反映されません。 そのため、実行時のデザインタイム・ツールを使用してタスクを編集した場合は、新しいタスクをインスタンス化して、行った変更を新しいタスク・インスタンスに反映します。 |
実行時のデザインタイム・ツールでタスクに行った変更が、そのタスクに表示されません。 |
行った変更が、MDSリポジトリにコミットされていない可能性があります。 |
「保存」ボタンでは、実行時のデザインタイム・ツールで行った変更がサンドボックスにのみ保存されます。これらの変更を操作中に表示するには、「コミット」をクリックして、変更内容をMDSリポジトリに送信します。 |
表B-12に、ヒューマン・ワークフローAPI (SOAPおよびEJBを含む)の使用の問題に関する症状と考えられる原因、考えられる解決策を示します。
表B-12 ヒューマン・ワークフローAPIの使用の問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
ヒューマン・ワークフローAPIのJavaDocの場所 |
N/A |
ドキュメント・ライブラリで入手可能なOracle Fusion Middleware Oracle SOA Suiteワークフロー・サービスJava APIリファレンスを参照してください。 |
APIの使用方法の理解 |
N/A |
|
|
N/A |
SOAP WebサービスのAPIにアクセスする |
Java APIクライアントを使用しようとすると、 |
クライアント・クラスパスに、すべての必要なJARファイルが存在しません。 |
- |
単純な承認タスクとあわせて使用したり、タスクの開始時にタスクを動的にルーティングするための、単純なパターン用のルーティング・スリップの作成 |
N/A |
|
新規作成されたタスクはタスクUIに表示されません。 |
|
|
表B-13に、Oracle JDeveloperのデータ・コントロールとフォームの生成の問題に関する症状と考えられる原因、考えられる解決策を示します。
表B-13 Oracle JDeveloperのデータ・コントロールとフォームの生成の問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
タスク・フォームの作成時に、 |
XSD要素に基づいてイニシエータ・タスクを作成し、タスク・フォームを自動生成しようとしました。 |
このファイルは、BPMのイニシエータ・タスク以外では必要ありません。この問題が発生した場合は、 <?xml version='1.0' encoding='UTF-8'?><jsp:root xmlns:jsp="http://java.sun.com/JSP/ Page" version="2.1"xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:af="http://xmlns.oracle.com/a df/faces/rich"> <jsp:directive.page contentType="text/html;charset=UTF-8"/> <f:view> <af:document id="d1"> <af:form id="f1"></af:form> </af:document> </f:view> </jsp:root> |
表B-14に、ヒューマン・ワークフロー・サービスとシステムMBeanブラウザの問題に関する症状と考えられる原因、考えられる解決策を示します。
表B-14 ヒューマン・ワークフロー・サービスとシステムMBeanブラウザの問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
よく使用するヒューマン・ワークフロー構成パラメータの設定 |
N/A |
Oracle Enterprise Manager Fusion Middleware Controlの「ワークフロー・タスク・サービス」ページおよび「ワークフローの通知」ページを使用します。
詳細は、「ヒューマン・ワークフロー通知プロパティの構成」と「ヒューマン・ワークフロー・タスク・サービス・プロパティの構成」を参照してください。 |
Oracle Enterprise Manager Fusion Middleware Controlのプロパティ・ページで使用できないヒューマン・ワークフロー構成パラメータの設定 |
N/A |
Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザを使用します。
|
ヒューマン・ワークフロー構成MBeansを編集した後に、システムMBeanブラウザに変更が反映されません。 |
システムMBeanブラウザには、前にキャッシュされたバージョンのBeanが表示されています。 |
システムMBeanブラウザの「キャッシュされたツリー・データのリフレッシュ」ボタンをクリックします。 |
ワークフローのカスタマイズのクラスパスURLにあるリソース・バンドルまたはクラスが、ヒューマン・ワークフロー・サービスで見つかりません。 |
URLでプロトコルが指定されていないか、URLに末尾のスラッシュ( |
構成されているURLが正しい形式で指定され、プロトコルを指定していることを確認します。クラスパスで(JARファイルでなく)ディレクトリを指定する場合は、URLの末尾にスラッシュ文字が必要です。例: file:///home/wstallar/wfcustomizati ons/ |
特定のタスク・コンポーネントのタスク詳細の表示に使用するURLの手動設定 |
N/A |
そのヒューマン・タスク・サービス・コンポーネントに対して、Oracle Enterprise Manager Fusion Middleware Controlの「管理」ページを使用します。 手順は、「ヒューマン・ワークフロー・サービス・コンポーネントのタスク詳細アプリケーションのURI管理」を参照してください。 既存のタスク表示URLエントリを編集または削除したり、新規エントリを追加できます。Oracle BPM Worklistから使用するタスク表示URLの場合は、アプリケーション名をworklistに設定する必要があります。 |
表B-15に、AMX拡張の問題に関する症状と考えられる原因、考えられる解決策を示します。
表B-15 AMX拡張の問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
動的承認グループ・クラスが見つかりません。 |
Oracle SOA Suiteのクラスパスで、このクラス・ファイルにアクセスできません。 |
動的承認グループ・クラスへのアクセスを可能にするには、次のディレクトリにクラス・ファイルを配置する必要があります。 $FMW_HOME/SOA_HOME/soa/modules/ora
cle.soa.ext_11.1.1/classes
このディレクトリは、SOAクラスパスの一部です。 Oracle WebLogic Serverを再起動する必要があります。 |
実行時のデザインタイム中に、承認グループ・リスト・ビルダーに基づいてルールを定義しているときに、グループが存在しないことを示すメッセージが継続して表示されます。 |
承認グループの名前が引用符(" ")で囲まれていません。 |
名前を引用符で囲みます(たとえば、"Sample Approval Group Name")。 |
ルールセット内で、定義されている複数のルールがトランザクションに該当します。正しい制約が適用されていないように思われます。その結果、生成された承認者リストが正しくありません。 |
ルールセット内のルールは、トランザクションに対して1つのみが該当する必要があります。 複数のルールが該当する場合は、最も高い優先度のルールに関連付けられているアクションが実行されます。 該当する複数のルールの優先度が同じ場合は、リスト内の最初のルールが選択され、そのアクションが実行されます。 |
ルールセット内のすべてのルールで、同じトランザクションに対して同じ優先度の複数のルールが該当しないように、優先度が定義されていることを確認してください。 |
表B-16に、Oracle BPM Worklistとタスク領域の問題に関する症状と考えられる原因、考えられる解決策を示します。
表B-16 Oracle BPM Worklistとタスク領域の問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
次の例外メッセージがログに表示されます。 <Warning> <oracle.adf.controller.internal. metadata.MetadataService> <BEA-000000><ADFc: /META-INF/adfc-config.xml: > <Warning> <oracle.adf.controller.internal. metadata.MetadataService><ADFC-5 2024> <ADFc: Duplicate managed bean definition for 'aleCompBindings' detected.> |
共有ライブラリ |
これらのJARはWebアプリケーション内にパッケージ化しないでください。これらは、共有ライブラリとして参照のみ行います。これらのJARをWebアプリケーション内にパッケージ化しないでください。 |
次の例外メッセージがログに表示されます。 Duplicate default server in client configuration. Configuration needs to have only one default server in client configuration. Specify one default server in client configuration. |
クライアント構成ファイル、またはタスク・フローに渡されたJAXBオブジェクトで、2つのデフォルト・サーバーが指定されています。 |
クライアント構成ファイルまたは渡されるJAXBオブジェクトで、1つのサーバーのみをデフォルトとしてマークします。 |
次の例外メッセージがログに表示されます。 The default server is not specified |
クライアント構成ファイル、またはタスク・フローに渡されたJAXBオブジェクトで、デフォルト・サーバーが指定されていません。 |
クライアント構成ファイルまたはJAXBオブジェクトで、デフォルト・サーバーがマークされていることを確認します。 |
次の例外メッセージがログに表示されます。 Invalid display column. The display column COLUMN NAME is not a valid Task column. Specify a valid column name. |
タスク・フロー・パラメータ |
タスク・フロー・パラメータに正しい列名を渡していることを確認します。 |
次の例外メッセージがログに表示されます。 java.lang.IllegalStateException: Attempt to validate an already invalid RegionSite: |
これは、サーバー・ログ(たとえば、 |
診断ログ(たとえば、 |
次の例外メッセージがログに表示されます。 Caused by: oracle.adf.controller.Controller Exception: ADFC-02001: The ADF Controller cannot find '/WEB-INF/taskList-task-flow-def inition.xml' |
Oracle BPM WorklistのJARは、共有ライブラリ |
JARが、共有ライブラリによって参照されているか、アプリケーション内にパッケージ化されていることを確認します。 |
タスク・リストをリフレッシュすると、タスク・リストのフィルタが削除されます。 |
受信ボックスは永続的なビューではないため、受信ボックスに設定されているフィルタは、ページの再レンダリング時やタスク・リストのリフレッシュ時に削除されます。 |
タスク・リストにフィルタを設定するかわりに、必要なフィルタ・セットを設定したユーザー・ビューを作成し、そのビューの |
|
|
両方のパラメータと <parameter id="taskTypesFilterList" value="http://xmlns.oracle.com/H elpDeskRequestSOAApp/HelpDeskReq uestComposite/HelpDeskRequestHum anTask,[ http://xmlns.oracle.com/Vacation RequestApp/VacationRequest/Vacat ionRequestTask]"/> <parameter id= "attributesFilterOperator" value="and"/> <parameter id= "attributesFilterList" value="state=ASSIGNED"/> |
次の例外メッセージがログに表示されます。 [AdminServer] [NOTIFICATION] [J2EE JSP-00008] [oracle.j2ee.jsp] [tid: [ACTIVE].ExecuteThread: '15' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 17011f2a001d6b0e:7e22d6ce:12e344 4eb1b:-8000-0000000000002f0a,0] [APP: FederatedApp_ application1] unable to dispatch JSP page: The following exception occurred:.[[ java.lang.RuntimeException: Cannot find FacesContext at javax.faces.webapp.UIComponentCl assicTagBase.getFacesContext(UIC omponentClassicTagBase.java:2122) |
これは、その性質から一般的によくある間違いですが、使用しているコンポーネントとは関係ありません。URLへの http://server:port/FederatedApp/test.jspx |
次のように、URLに http://server:port/FederatedApp/ faces/test.jspx |
次の例外メッセージがログに表示されます。 [AdminServer] [TRACE] [] [] [tid: [ACTIVE].ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 17011f2a001d6b0e:7e22d6ce:12e344 4eb1b:-8000-0000000000001d39,0] [SRC_CLASS: oracle.bpel.services.workflow.cl ient.config.ClientConfigurationU til] [APP: FederatedApp_ application1] [SRC_METHOD: getClientConfiguration] WorkflowServiceClientContext: Cannot find client configuration file: wf_client_ config.xml |
この問題には、次の3つの原因が考えられます。
|
クラスパスでクライアント構成ファイル |
次の例外メッセージがログに表示されます。 <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1297964056778' for task '3'. Error is: 'weblogic.management.DeploymentE xception: [J2EE:160149]Error while processing library references. Unresolved application library references, defined in weblogic-application.xml: [Extension-Name: oracle.soa.workflow.wc, exact-match: false].' weblogic.management.DeploymentEx ception: [J2EE:160149]Error while processing library references. Unresolved application library references, defined in weblogic-application.xml: [Extension-Name: oracle.soa.workflow.wc, exact-match: false]. |
共有ライブラリ |
アプリケーションをデプロイしようとしているサーバーに、この共有ライブラリがデプロイされていることを確認します。共有ライブラリがデプロイされていても、ターゲットがそのサーバーでない可能性があります。 |
列にマップされているマップ済属性が表示されません。 注意: リリース11g R1 (11.1.1.4)から、Oracle BPM Worklistフレックス・フィールドはマップ済属性と呼ばれるようになりました。 |
正しいパラメータのセットが、タスク・リストのタスク・フローに渡されていません。 |
正しいパラメータのセットを渡す方法は、次のとおりです。 <parameter id= "displayColumnsList" value="assignees,creator, assignedDate,state, textAttribute1,textAttribute2"/>
パラメータ 例: <parameter id="taskTypesFilterList" value="http://xmlns.oracle.com/Hel pDeskRequestSOAApp/HelpDeskRequest Composite/HelpDeskRequestHumanTask "/> |
表B-17 テストから本番への移行の問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
SOAサーバーのデフォルトのレルム名の検索 |
N/A |
これにより、デフォルトのレルム名が取得されます。次に、起動に対するサンプルの応答を示します。 <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap /envelope/"> <env:Header/> <env:Body> <realmName xmlns="http://xmlns.oracle.com/bpel/servi ces/IdentityService">jazn.com</realmName> </env:Body> </env:Envelope> |
表B-18 テストから本番への移行の問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
次のユーザー認証エラー(次の例では、ユーザーは [java] Error in workflow service Web service operation invocation. The error is ORA-30501:Error in authenticating user. [java] Error in authenticating and creating a workflow context for user jazn.com/FMW_USERID. [java] Verify that the user credentials and identity service configurations are correct. |
これは、指定されたユーザーがシードされておらず、LDAPプロバイダで使用できない場合に発生します。 ユーザーが適切にシードされているかどうかを識別するには、ブラウザからそのユーザーでOracle BPM Worklistにログインしてみます。そのユーザーでOracle BPM Worklistにログインできれば、ユーザーはシードされています。 |
Oracle Internet Directoryやその他のLDAPプロバイダを使用している場合は、LDAPプロバイダの構成が正しく完了していることを確認します。そうでない場合、このエラーは解決できません。 |
ターゲットSOAサーバーにタスク・ペイロード・マップ済属性マッピング(以前のフレックス・フィールド)をインポートしているときに、次のエラーがコンソール・ログに表示されることがあります。 [java] Caused by: java.sql.SQLIntegrityConstrain tViolationException: ORA-02291: integrity constraint (UAT_ SOAINFRA.SYS_C0018364) violated - parent key not found* * |
ターゲットSOAサーバーへのタスク・ペイロード・マップ済属性マッピングのインポートは、2つのステップの処理で構成されます。 ターゲットSOAサーバーへのタスク・ペイロード・マップ済属性マッピングのインポート操作を行う前に、実行が必要な前提条件のステップがあります。これは、ターゲットSOAサーバーへの属性ラベルのインポート操作です。 |
正常に完了するためには、ヒューマン・ワークフローのテストから本番への移行ツールを使用して、(正しい順序で)次の操作を実行します。
詳細は、「ヒューマン・ワークフロー・データのテスト環境から本番環境への移動」を参照してください。 |
表B-19 テストから本番への移行の問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
ルールの移行時に、次のエラーが発生したと仮定します。 [java] Error encountered during migration. [java] Exception in thread "main"[java] UserConfigDataMigrationException:[java] faultString:Invalid parameters for RULE. [java] Invalid user and group: both parameters can not have null values.[java] To migrate User Rules, provide the 'user' parameter only. [java] To migrate Group Rules, provide the 'group' parameter only.[java] oracle.bpel.services.workflow.util. tools.wfUserConfigDataMigrator. UserConfigDataMigrationE xception [java] at oracle.bpel.services.workflow. util.tools.wfUserConfigDataMigrator. implhwfMigrator.parseParametersNode |
ルールの移行(エクスポートまたはインポート)操作時には、これらのいずれか( |
これらのいずれかに値を設定します。ユーザー・ルールの移行を実行するには、 |
ルールの移行時に、次のエラーが発生したと仮定します。 [java] Error encountered during migration.[java] Exception in thread "main"[java] UserConfigDataMigrationExcepti on: [java] faultString: Invalid parameters for RULE. [java] Invalid user and group: both parameters can not have values. [java] To migrate User Rules, provide the 'user'parameter only. [java] To migrate Group Rules, provide the 'group' parameter only. [java] oracle.bpel.services. workflow.util.tools.wfUserConfigData Migrator.UserConfigDataMigrationE xception |
これはこの表の前述の説明と似ています。 ルールの移行(エクスポートまたはインポート)操作時に、 |
これらのいずれかに値を指定します。 |
表B-20 テストから本番への移行の問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
インストール後のサーバーのヘルスのテスト |
N/A |
テストから本番への移行を実行する前に、サーバーのヘルスをテストすることは有用です。 ブラウザから、いくつかのSOAPサービスをテストできます。次に、ヒューマン・ワークフロー・サービスのサブセットとOracle BPM Worklistを示します。 http://host:port/integration/worklistapp/ http://host:port/integration/services /TaskQueryService/TaskQueryService http://host:port/integration/services/IdentityService/configuration http://host:port/integration/services/IdentityService/identity http://host:port/integration/services/RuntimeConfigService/RuntimeConfigService これらのサービスで任意の操作をテストして、その操作によって発生する結果を確認できます。同様に、Oracle BPM Worklistにユーザーとしてログインして、問題がないかどうかを確認できます。 |
テストから本番への移行の問題の詳細は、「ヒューマン・ワークフロー・データのテスト環境から本番環境への移動」を参照してください。
表B-21 アイデンティティ・サービスの問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
クラスタ環境で、Oracle BPM Worklistの承認タスクを操作しようとすると、次のエラーが表示される場合があります。 Token Decryption Failed |
LDAPベースのリポジトリではなく、ファイルベースのリポジトリを使用しています。これにより、アプリケーション・ロールがノード全体で同期されなくなっています。 |
クラスタ環境でのリポジトリ構成情報は、『Oracle SOA Suiteエンタープライズ・デプロイメント・ガイド』の手順に従ってください。 |
LDAPの一部のユーザーのみ、Oracle BPM Worklistにログインできます。 |
ユーザー・ベースDNが正しく構成されていません。 |
すべてのシード済グループにユーザー・ベースを指定します。これは、次の2つの方法で行うことができます。 すべての必要なシード済グループにベースDNを追加します。たとえば、次のようにユーザーがシードされている場合、 UserDN 1 : cn=users1,dc=us,dc=oracle,dc=com UserDN 2 : cn=users2,dc=us,dc=oracle,dc=com UserDN 3 : cn=users3,dc=us,dc=oracle,dc=com グループ・ベースDNを次のように指定します。 dc=us,dc=oracle,dc=com これは、共通のDNです。一部のユーザーDNのみが必要な場合は(たとえば、 <serviceInstance name="idstore.ldap" provider="idstore.ldap.provider"> <property name="idstore.config.provider" value="oracle.security.jps.wls.internal.idstore.WlsLd apIdStoreConfigProvider"/> <property name="CONNECTION_POOL_CLASS" value="oracle.security.idm.providers.stdldap.JNDIPool"/> <extendedProperty> <name>user.search.bases</name> <values> <value>cn=users1,dc=us,dc=oracle,dc=com</value> <value>cn=users2,dc=us,dc=oracle,dc=com</value> </values> </extendedProperty> </serviceInstance> |
最初のオーセンティケータにシードされているユーザーとグループのみは表示されますが、他のオーセンティケータからは表示されません。 |
デフォルトでは、最初のオーセンティケータからのユーザーとグループが認可されます。 |
リリース11.1.1.4以降では、複数の認証者からのユーザーとグループを認可できます。詳細は、「複数の認証プロバイダの構成」を参照してください。 |
表B-22 アイデンティティ・サービスの問題のトラブルシューティング
症状 | 考えられる原因 | 考えられる解決策 |
---|---|---|
アイデンティティ・サービスのAPIに、アイデンティティ・コンテキストへのパラメータとして Exception seen : Service" Unknown macro: {0} "in configuration" Unknown macro: {1} " could not be initialized. Error in initializing service "Authentication" in configuration "myrealm". |
ヒューマン・ワークフローのアイデンティティ・サービスでは、Oracle WebLogic Serverの構成ではなく、 |
レルム名を変更するために、Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザで、
|
Oracle WebLogic ServerでLDAPを構成すると、Oracle WebLogic Server管理コンソールにユーザーは表示されますが、次のエラーがスローされます。 No Role found matching the criteria |
グループのベースDNが正しく構成されていません。参照されているグループが、LDAPに存在しないか、LDAPの構成時に設定されたグループ・ベースDNの外部にシードされている可能性があります。 |
すべてのシード済グループにグループ・ベースを指定します。これは、次の2つの方法で行うことができます。 すべての必要なシード済グループにベースDNを追加します。たとえば、次のようにグループがシードされている場合、 GroupDN 1 : cn=groups1,dc=us,dc=oracle,dc=com GroupDN 2 : cn=groups2,dc=us,dc=oracle,dc=com GroupDN 3 : cn=groups3,dc=us,dc=oracle,dc=com グループ・ベースDNを次のように指定します。 dc=us,dc=oracle,dc=com これは、共通のDNです。一部のグループDNのみが必要な場合は(たとえば、 <serviceInstance name="idstore.ldap" provider="idstore.ldap.provider"> <property name="idstore.config.provider" value="oracle.security.jps.wls.internal.idstore.WlsL dapIdStoreConfigProvider"/> <property name="CONNECTION_POOL_CLASS" value="oracle.security.idm.providers.stdldap.JNDIPool"/> extendedProperty> <name>group.search.bases</name> <values> <value>cn=groups1,dc=us,dc=oracle,dc=com</value> <value>cn=groups2,dc=us,dc=oracle,dc=com</value> </values> </extendedProperty> </serviceInstance> |
この項では、ビジネス・イベントおよびイベント配信ネットワーク(EDN)の問題をトラブルシューティングする方法について説明します。
EDNでは、JMSアダプタに表B-23に示す接続ファクトリを使用して、イベントの公開およびサブスクリプションについて基礎となるJMSトピックと通信します。
表B-23 JMSアダプタ用の接続ファクトリ
JMSタイプ | JMSタイプに対するJMS接続ファクトリ |
---|---|
Oracle WebLogic Server JMS |
|
AQ JMS |
|
大量の同時イベント・パブリッシャまたは大量のイベント・サブスクライバ(あるいはその両方)が存在する環境では、JMSアダプタのデフォルトの接続プール・サイズ(200
)を超える場合があります。これにより、次に示すようなResourceLimitException
エラーが発生します。
The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: javax.resource.spi.ApplicationServerInternalException: Unable to get a connection for pool = "eis/wls/EDNxaDurableTopic", weblogic.common.resourcepool.ResourceLimitException: Configured maximum limit of (0) on number of threads allowed to wait for a resource reached for pool eis/wls/EDNxaDurableTopic Please make sure that the JCA connection factory and any dependent connection factories have been configured with a sufficient limit for max connections. Please also make sure that the physical connection to the backend EIS is available and the backend itself is accepting connections.
このエラーが発生した場合は、Oracle WebLogic Server管理コンソールで、JMSアダプタに対応するJMS接続ファクトリの接続プールの「最大接続数」の値を増やす必要があります。表B-24に、JMSアダプタの各JMS接続ファクトリの使用を示します。
表B-24 JMSアダプタの各JMS接続ファクトリの使用
JMS接続ファクトリ | アウトバウンド・イベント公開での使用 | インバウンド・イベント・サブスクリプションでの使用 |
---|---|---|
|
可。グローバル・トランザクションによるイベント公開の場合。 |
可。One And Only One (OAOO)一貫性が設定された永続サブスクリプションの場合。 |
|
不可。 |
可。OAOO一貫性が設定された非永続サブスクリプションの場合。 |
|
可。ローカル・トランザクションによるイベント公開の場合。 |
可。保証付き一貫性が設定された永続サブスクリプションの場合。 |
|
不可。 |
可。保証付き一貫性が設定された非永続サブスクリプションの場合。 |
|
可。グローバル・トランザクションによるイベント公開の場合。 |
可。OAOO一貫性が設定された永続サブスクリプションの場合。 |
|
不可。 |
可。OAOO一貫性が設定された非永続サブスクリプションの場合。 |
|
可。ローカル・トランザクションによるイベント公開の場合。 |
可。保証付き一貫性が設定された永続サブスクリプションの場合。 |
|
不可。 |
可。保証付き一貫性が設定された非永続サブスクリプションの場合。 |
対応するJMS接続ファクトリがイベント公開とイベント・サブスクリプションの両方に使用される場合は、使用された接続数の計算時に、イベント公開の数とイベント・サブスクリプションの数を合せる必要があります。
たとえば、グローバル・トランザクションでイベントを公開する同時BPELプロセス・イベント・パブリッシャが200
あり、デフォルトのSOAInternalProcessing_maxThreads
を150
に設定した場合、これらのパブリッシャでは150
スレッド全部を使用するため、eis/wls/EDNxaDurableTopic
から150
接続を取得します。また、ThreadsPerSubscriber
が5
に設定された合計12
のSOAイベント・サブスクライバがあります。これらのサブスクライバは、12
x 5
= 60
スレッドを使用するため、eis/wls/EDNxaDurableTopic
から60
接続を取得します。
150
+ 60
= 210
> 200
(デフォルト設定)となるため、ResourceLimitException
エラーが発生します。
この場合、eis/wls/EDNxaDurableTopic
の接続プールの「最大接続数」フィールドで、サイズを増やして大きい値(300
など)にする必要があります。
接続プール・サイズを増やす手順は、次のとおりです。
Oracle WebLogic Server JMSを使用して大量のBPELプロセス・イベント(100万など)を公開すると、EDNが適切にチューニングされていない場合、非常に多くのリカバリ可能なエラー(100万イベントの20%など)が発生する場合があります。たとえば、次のユースケースのシナリオがあるとします。
200スレッド
5000の繰返し
一定期間(40分など)の実行後、次に示すエラーが発生することがあります。
<Jan 8, 2014 10:08:33 AM PST> <Error> <oracle.soa.adapter.jms.outbound> <BEA-000000> <JMSMessageProducer_produce: [default destination = jms/fabric/EDNTopic]:weblogic.messaging.kernel.QuotaException: Quota blocking time exceeded and no quota available> <Jan 8, 2014 10:08:33 AM PST> <Error> <oracle.soa.adapter.jms.outbound> <BEA-000000> <JMSMessageProducer_produce: [default destination = jms/fabric/EDNTopic]:weblogic.messaging.kernel.QuotaException: Quota blocking time exceeded and no quota available>
さらに、サブスクリプションが低速で(データベース、コヒーレンス・キャッシュおよびEDNスレッドに対するトランザクション関連の操作が多数あります)、蓄積されたメッセージによって公開が遅くなります。
これが発生した場合は、次の領域をチューニングします。
EDN割当は、Oracle WebLogic Server JMSのデフォルトEDNトピックに自動的に定義されます。このEDN割当では、メッセージの上限が50,000です。ユースケースのシナリオに基づいて異なるメッセージの上限を設定した割当を定義する必要があります。詳細は、『Oracle WebLogic Serverのパフォーマンスのチューニング』のWebLogic JMSのチューニングに関する項を参照してください。
ユースケースのシナリオに基づいてEDN接続ファクトリの送信タイムアウト値をチューニングします。次のEDN JMS接続ファクトリには、送信タイムアウト値としてデフォルト値10,000 (ミリ秒)が設定されています。
EDNConnectionFactory
xaEDNConnectionFactory
詳細は、『Oracle WebLogic Serverのパフォーマンスのチューニング』の割当条件内での送信者のブロックに関する項を参照してください。
負荷が重い場合、JMSトピックにメッセージが蓄積します。EDNクライアントは、メッセージ数が割当の上限を超えると、QuoteException
を受信します。EDNクライアントが、BPELプロセス・サービス・コンポーネントが組み込まれているコンポジットの場合、BPELプロセスはエラー・ホスピタルでメッセージを保持します。サブスクライバへの配信が大きく遅延する可能性があります。エラー・ホスピタルのメッセージは、エラー・ホスピタルから手動でリカバリできます。またはBPELプロセス・サービス・エンジンの「リカバリ」タブから自動でリカバリできます。詳細は、「エラー・ホスピタルでのフォルトからのリカバリ」および「BPELプロセス・サービス・エンジンのメッセージ・リカバリの実行」を参照してください。
設計によって、異なるコンポジットで同じイベントをサブスクライブできます。ただし、同じコンポジットの複数のリビジョンで同じイベントをサブスクライブする場合はエラーです。これが発生するのは、コンポジットのアクティブ・バージョンが複数ある場合で、これはパッチ失敗の結果の可能性があります。
次の手順を実行して、同じコンポジットの複数のアクティブ・リビジョンが存在するかどうかを判別し、アクティブである必要のないコンポジット・リビジョンをリタイアさせます。
ビジネス・イベントがJ2EEアプリケーションから発生し、複数回取得される場合があります。予期される動作は、それらが1回のみ取得されることです。
パッチが失敗すると、特定のコンポジットの2つのバージョンがアクティブになる可能性があります(つまり、古い方のバージョンがリタイアされていません)。コンポジットの複数のバージョンがアクティブである場合、これらはすべてサブスクライバになり、イベントが複数回取得されます。これは通常のシナリオでは発生しないようにする必要があります。パッチを再適用し、デプロイ済コンポジットのアクティブ・バージョンが1つのみであることを確認します。
メッセージは主に、次の理由で失われます。
EDNメッセージが配信されなかった。
ターゲットの非同期サービスが応答しなかった。
メッセージがロールバックされた(メッセージは失われなかったが、引き続きOracle Enterprise Manager Fusion Middleware Controlに表示される)。
この問題では通常、メッセージの宛先を識別し、パスを診断する必要があります。
Oracle Web Services Manager Policy Managerセキュリティ構成を確認して、クライアントがSOAコンポジットを起動できるかどうかを調べます。
トランザクションが一時(非永続)でないことを確認します。
Oracle BPEL Process Managerは、非同期コールバックの待機中、デハイドレーション・ストア・データベースを使用して、長期間にわたる非同期プロセスとその現在の状態の情報をデータベースに保持します。データベースにプロセスを格納することにより、プロセスを維持し、システムの停止やネットワークの問題が発生した場合の状態や信頼性の低下を防ぎます。Oracle BPEL Process Managerには、2つのタイプのプロセスがあります。これらのプロセスは、デハイドレーション・ストア・データベースに様々な方法で影響を与えます。
一時プロセス: このプロセス・タイプでは、プロセス実行時に中間デハイドレーション・ポイントは発生しません。未処理のフォルトがある場合、またはプロセス実行時にシステム停止時間がある場合、一時プロセスのインスタンスはトレースをシステムに残しません。一時プロセスのインスタンスは、(正常終了または異常終了に関係なく)処理中に保存できません。一時プロセスは通常、短期間のリクエスト/レスポンス形式のプロセスです。Oracle JDeveloperで設計する同期プロセスは、一時プロセスの例です。
永続プロセス: このプロセス・タイプでは、次のアクティビティのために、実行時にデータベースで1つ以上のデハイドレーション・ポイントが発生します。
receiveアクティビティ
pickアクティビティのOnMessageブランチ
pickアクティビティのOnAlarmブランチ
waitアクティビティ
永続プロセスのインスタンスは、(正常終了または異常終了に関係なく)処理中に保存できます。これらのプロセスは通常長期間存続し、一方向呼出しを介して開始されます。メモリー不足およびシステム停止時間の問題があるため、永続プロセスはメモリーについて最適化できません。
ビジネス・フロー・インスタンスがOracle Enterprise Manager Fusion Middleware Controlに表示されず、SOAインフラストラクチャが実行中の場合は、「SOAインフラストラクチャの共通プロパティ」ページで、「監査レベル」が「オフ」に設定されていないことを確認します。これは、Oracle Enterprise Manager Fusion Middleware Controlで確認できます。
「soa-infra」(SOA_cluster_name)を右クリックします。
「SOA管理」→「共通プロパティ」の順に選択します。
ビジネス・フロー・インスタンスが使用可能な場合は、oneWayDeliveryPolicy BPELプロパティの値を確認します。値をOracle Enterprise Manager Fusion Middleware Controlで確認できます。
ナビゲーション・ペインで、「soa-infra」(SOA_cluster_name)を展開します。
パーティションを展開し、コンポジットを選択します。
コンポジットに対する「ダッシュボード」ページが表示されます。
右上隅にある「XML定義の表示」アイコンをクリックします。
そのコンポジットに対するcomposite.xml
の内容が表示されます。
これがasync.cacheに設定されている場合は、メッセージが失われる可能性があります。信頼性の高いメッセージのためには、async.persistに設定します。これは通常、composite.xml
ファイルのBPELプロセス・サービス・コンポーネントのセクションで指定します。したがって、これはカスタム・コンポジットに設定できます。値がcomposite.xml
に設定されていない場合は、Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザのoneWayDeliveryPolicyの値が使用されます。次の値を指定できます。
async.persist: メッセージは、データベース・ハッシュ・マップに保持されます。
async.cache: メッセージはメモリーに格納されます。
sync: 同じスレッドで直接起動が発生します。
これらの設定の詳細は、『Oracle SOAスイートでのSOAアプリケーションの開発』の「デプロイメント・ディスクリプタのプロパティ」および「BPELプロセスでのトランザクションおよびフォルト伝播のセマンティクス」を参照してください。
システムMBeanブラウザにおけるoneWayDeliveryPolicyプロパティの設定の詳細は、「BPELプロセス・サービス・エンジン・プロパティの構成」を参照してください。
トランザクションによって、応答が返されないターゲット非同期サービスが起動されている可能性もあります。この場合、ビジネス・フロー・インスタンスには、ターゲット非同期サービスへのコールが表示されます。
インスタンスがロールバックされ、メッセージがリカバリ中であることを確認します。
Oracle Enterprise Manager Fusion Middleware Controlにログインします。
「soa-infra」(SOA_cluster_name)を右クリックし、「サービス・エンジン」→「BPEL」の順に選択します。
「リカバリ」タブをクリックします。
これは、メッセージを受信する外部参照にアクセスできない場合に発生する可能性があります(たとえば、外部Webサービス、Siebelなどのエンタープライズ・アプリケーションなど)。
この項では、パフォーマンスの問題をトラブルシューティングする方法について説明します。
多数のBPELプロセス・サービス・コンポーネントを含む大規模なSOAコンポジット・アプリケーションがコンパイルされると、BPELコンパイラが終了せず、例外も報告されない場合があります。この場合は、ant-sca-compile.xml
ファイルで次のようにJVMヒープ・サイズを増やします。
<jvmarg value="-Xmx1024m"/>
を
<jvmarg value="-Xmx4g"/>
に変更します。
次のコード・サンプルは、詳細を示します。
<scac input="${scac.input}" outXml="${scac.output}"
error="${scac.error}" appHome="${scac.application.home}"
failonerror="true" displayLevel="${scac.displayLevel}"
reportErrors="${scac.reportSchemaValidationErrors}">
<jvmarg
value="-Djavax.xml.xpath.XPathFactory:http://java.sun.com/jaxp/xpath/dom=oracle.
xml.xpath.JXPathFactory"/>
<jvmarg value="-Xms128m"/>
<jvmarg value="-Xmx4g"/>
<jvmarg value="-XX:PermSize=32m"/>
<jvmarg value="-XX:MaxPermSize=256m"/>
<jvmarg value="-Doracle.xdkjava.compatibility.version=11.1.1"/>
<jvmarg value="-Doracle.soa.compatibility.version=11.1.1"/>
<!-- jvmarg
value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"/ -->
</scac>
</target>
使用中のJARファイル数、またはJDK 6/JREによるファイル記述子の使用(あるいはその両方)によっては、実行時またはコンパイル時に、次のエラーが発生する可能性があります。
Message send failed: Too many open files
このエラーを解決するには、ファイル記述子の数を少なくとも4096
に増やします。
MaxMessageSizeExceededException
エラーは、デプロイ済のSOAコンポジット・アプリケーションに指定したペイロードが大きい場合に発生します(たとえば、100,000件のリクエストに該当する200vu*500iterなど)。MaxMessageSize構成はその負荷に基づいて構成する必要があります。ペイロードを表示し、MaxMessageSizeExceededException
エラーをチェックするには、監査証跡で「XML文書の表示」をクリックします。エラーを解決するには、MaxMessageSizeを80000000に増やすか、session-flush-threasholdを50に減らします。注意:
この値は負荷によって異なります。MaxMessageSizeのデフォルト値は10000000です。負荷に応じて値を変更します。MaxMessageSizeの増加
MaxMessageSizeを増加するには、次のとおり実行します。
管理コンソールにログインします。
「サーバー」→「プロトコル」→「一般」→「最大メッセージ・サイズ」に移動します。
値を80000000に変更します。(adminとsoaの両方について)。
「サーバー」→「構成」→「サーバーの起動」→「引数」に移動し、-Dweblogic.MaxMessageSize = 80000000と設定します。
weblogic.MaxMessageSize
プロパティを追加して、-Dweblogic.MaxMessageSizeの値を変更できます。プロパティを追加して値を変更する手順は、次のとおりです。次のファイルを開きます。
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=80000000"
export EXTRA_JAVA_PROPERTIES
サーバーを再起動します。
session-flush-threasholdの減少
コンソール・クラスタ→「soa_cluster」→「構成」→「レプリケーション」→「拡張」に移動し、「セッション・フラッシュのしきい値」の値を「50」(小さい値)に変更します。
データベース表領域が拡張されていない場合は、実行時処理に影響を与える可能性があります。メッセージが処理または保持されず、次の例1および例2のような例外エラーがログ・ファイルに表示される可能性があります。これは、Oracle BPEL Process Managerではインスタンス・データの格納をデータベースに依存しているためです。データベースが使用可能でない場合は、実行時処理に影響を与えます。
例1
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 . . . . . .
例2
<bpelFault><faultType>0</faultType><subLanguageExecutionFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>XPath expression failed to execute. An error occurs while processing the XPath expression; the expression is ora:readBinaryFromFile('/scratch/vbasaval/dropbox/LFile/PO_5Gig.zip'). The XPath expression failed to execute; the reason was: java.sql.SQLException: ORA-01652: unable to extend temp segment by 128 in tablespace DEV12_IAS_TEMP
表領域は、サイズ制限に達したときに、それ自体が指定のサイズだけ拡張するように設定してください。自動拡張を有効にしない場合は、表領域がクリティカルまたは警告のしきい値サイズに達したことを示すアラートが生成されたときに、必ず対応してください。サイズのアラートに対応するには、表領域のサイズを手動で増やします。
SQL*Plusに手動でデータ・ファイルを追加する手順は、次のとおりです。
SQL> alter tablespace SOA12_SOAINFRA add datafile '/scratch/db12101/Oracle/oradata/SOA12_soainfra2.dbf' size 1000M autoextend on next 30M maxsize unlimited; ALTER DATABASE TEMPFILE '/scratch/db12101/Oracle/oradata/SOA12_iastemp.dbf' RESIZE 100M; ALTER DATABASE TEMPFILE '/scratch/db12101/Oracle/oradata/SOA12_iastemp.dbf' AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER DATABASE DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_mds.dbf' RESIZE 100M; ALTER DATABASE DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_mds.dbf' AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED; ALTER DATABASE DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_soainfra.dbf' RESIZE 2048M; ALTER DATABASE DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_soainfra.dbf' AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED; ALTER DATABASE DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_svctbl.dbf' RESIZE 100M; ALTER DATABASE DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_svctbl.dbf' AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA1.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA2.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA3.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA4.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA5.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA6.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA7.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA8.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRA9.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAA.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAB.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAC.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAD.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAE.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAF.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAG.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAH.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAI.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAJ.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED; ALTER TABLESPACE "C0123_SOAINFRA" ADD DATAFILE '/scratch/db12101/Oracle/oradata/SOA12_SOAINFRAK.dbf' SIZE 100M AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED;
Oracle SOA Suiteトランザクションが失敗して、データベースの領域不足がログに示されている場合は、大量のトランザクションによってデハイドレーション・ストアまたはMDSストアの領域が不足している可能性があります。後者の場合は、次のようなエラーが表示されます。
java.sql.SQLException: ORA-01653: unable to extend table SH_MDS.CUBE_INSTANCE by 16 in tablespace FUSION_TS_TOOLS
これは、表領域が満杯で、データベースがこれを拡張できないことを示します。
次のタスクを実行します。
詳細は、「開いているファイルが多すぎることが原因で発生したメッセージの失敗の解決」を参照してください。
ときによって、低速なアプリケーション・パフォーマンスやメモリー・トラッシュが観察される場合があります。たとえば、ページのロードと表示やコンポジット・トランザクションの完了に時間がかかる場合があります。レスポンスが通常より遅く感じられる場合があります。
低速パフォーマンスは様々な原因で発生します。たとえば、多数のサーバーが同じホスト上で実行されている状況や、多数のレコード、セッションまたはロックがデータベースに存在する状況が、原因として考えられます。スレッド競合もパフォーマンス不良の原因になる可能性があります。
注意:
この問題が発生すると、Oracle Enterprise Manager Fusion Middleware Controlでの構成の変更は一切できなくなる可能性があります。
この問題を診断する手順は次のとおりです。
CPU使用率をチェックして、CPU容量に対して負荷やプロセスが過大または過多なためにCPUが飽和していないかどうかを調べます。
通常の負荷でCPU使用率が100%の場合(目標は70-80%)、ピーク負荷を処理する容量はなく、ハードウェア・リソースは不十分です。追加の負荷を処理できるようにスケールアウト・サーバーを追加してください。
パフォーマンスについてレポートするOracle Enterprise Manager Fusion Middleware Controlを使用してアプリケーションをチェックします。BPELプロセスの監査証跡で、サービス、起動時間およびレスポンス時間のパフォーマンスをチェックします。
パフォーマンスを最大化するために、ロギング・レベルをデフォルトの「INFO」レベルより高く設定しないことをお薦めします。
デバッグを行う場合は、ロギング・レベルをFINESTレベルに設定する必要があります。ただし、問題が解決されたら、最善のパフォーマンスを得るために、ロギング・レベルをデフォルト・レベルにリセットしてください。また、「SOAインフラストラクチャの共通プロパティ」ページで「監査レベル」を「本番」に設定することもお薦めします。これはOracle Enterprise Manager Fusion Middleware Controlで次のように設定できます。
「soa-infra」(SOA_cluster_name)を右クリックします。
「SOA管理」→「共通プロパティ」の順に選択します。
「監査レベル」を「本番」に設定します。
サービス・レベル合意(SLA)を維持するために、保存要件に基づいて定期的にパージします。
データの増加によってパフォーマンスの問題が発生する可能性がある表を識別するには、パフォーマンスのチューニングのインスタンス・データ増加の影響を受ける表の識別に関する項を参照してください。
パージ・スクリプトの使用の詳細は、「データベース増分の管理」を参照してください。
TopやGlanceなどのモニタリング・ツールを使用して、メモリー、IO、ページング、スワッピング、CPU使用率の負荷の統計をチェックします。
フル・ガベージ・コレクションまたはメモリー不足エラーを避けるために、JVMを最適化します。
頻繁なガベージ・コレクションは、高いメモリー使用率またはメモリー・リークのいずれかが原因で発生する可能性があります。
オペレーティング・システム・レベルのページング・アクティビティを回避するために、システムで実行されている全JVMの最大ヒープ・サイズの合計が、使用可能な物理RAMの量を超えないようにします。
JRockit Mission Controlメモリー・プロファイリング・ツールを使用して、スレッド・ ダンプとメモリー・スナップショットを取得します。これはOracleサポート・サービスがコードの問題をデバッグする一助となります。スレッド・ダンプの詳細は、「SOAコンポジット・アプリケーションに関する問題の診断」を参照してください。
競合を回避するためにスレッドを最適化します。調査のためのスレッド・ダンプを取得して、Oracleサポート・サービスにこれを送信します。
JVMとスレッド・ ダンプでデータベースの起動方法をチェックして、データベースのパフォーマンスがボトルネックになっているかどうかを識別します。
データベースAWRスナップショットを実行して、データベース・パフォーマンスの問題の原因を識別します。
データベースの統計が定期的に更新されていることと、メモリー、表領域およびパーティションのチューニング可能な他のパラメータが最大限のパフォーマンスが得られるように効果的に使用されていることを確認します。
チューニング上の一般的な推奨事項を次に示します。詳細は、パフォーマンスのチューニングのデータベース・パラメータのチューニングに関する項を参照してください。
可能であれば、物理的に別個のディスク領域に索引と表を配置します。
ロールバック・セグメントは、データ・セグメントや索引セグメントと一緒に配置しないでください。
非常にアクティブな表や索引は、各自の表領域に分離します。
ディスクI/Oを分散させてホット・ディスクを防止するために、非常にアクティブな表や索引をパーティション化します。
データベース表の統計を定期的に生成するためのプロセスを配備します。
大きなオブジェクトの高水位標(HWM)競合を抑制するために、データベース表をチューニングします。HWM競合を抑制し、AQのメッセージを生成および使用する際に一貫したパフォーマンスを確保できるように、データベース・アドバンスト・キュー(AQ)をチューニングします。
知っておく必要があるEDN AQ名は、EDN_EVENT_QUEUE_TABLE
とEDN_OAOO_DELIVERY_TABLE
です。
オーバーヘッドを削減するようにBPELプロセス・プロパティをチューニングします(たとえば、不要な場合は、Oracle Enterprise Manager Fusion Middleware Controlの「BPELサービス・エンジン・プロパティ」ページの「ValidateXML」および「StatsLastN」(バッチ・サイズを収集する統計)プロパティを無効にします)。
パッケージ化されたアプリケーション(Siebelなど)と統合している場合は、レガシー・アプリケーションに問題がないかどうかをチェックします。
各種コンポーネントのパフォーマンス・チューニングの詳細は、パフォーマンスのチューニングの「トップ・パフォーマンス領域」およびSOA Suiteコンポーネントに関する項を参照してください。
「BPELサービス・エンジン・プロパティ」ページでのプロパティの設定の詳細は、「BPELプロセスのサービス・コンポーネントとエンジンの構成」を参照してください。
メッセージの受信速度がメッセージの処理速度(送信速度)を超えると、次のような警告メッセージが表示されます。
[2012-04-09T16:49:40.342-04:00] [Soa_server1] [WARNING] [] [oracle.soa.bpel.engine.dispatch] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@e3d0e3d ] [userId: <anonymous>] [ecid: 0000JSnNKVTBh4Z5ln1FiZ1Fdnmd001gWL,0] [APP: soa-infra] BPEL service engine is overloaded, the inflow is higher than the outflow, there are "100000" invoke messages pending in the dispatcher in-memory cache, the configured threshold is "102",the new incoming invoke messages will not be dispatched or processed immediately, they are going to be persisted in the dehydration store and can be recovered later using recovery.
この問題を解決するには、処理速度を上げるか、受信速度を下げます(受信を絞ります)。受信速度より処理速度が低速な状態は、次の1つまたは全部の問題が原因となって発生する可能性があります。
呼出しスレッドが不足している
JVM容量が不足している
BPELプロセスがコールしている外部パートナが拡張できないため、BPELプロセスでメッセージのバックアップが実行されている
正確な原因を識別してそれらを解決するには、次の手順を実行します。
composite.xml
ファイルのoneWayDeliveryPolicy
プロパティ値をチェックします。これはasync.persist
、async.cache
またはsync
に設定されていますか。このプロパティの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』のデプロイメント・ディスクリプタのプロパティに関する付録を参照してください。この項では、サーバーの問題をトラブルシューティングする方法について説明します。
サーバー起動の問題の詳細は、「管理対象サーバーとSOAインフラストラクチャの停止と起動」を参照してください。
次の(両方ではなく)いずれかの方法で管理対象サーバーを起動および停止することをベスト・プラクティスとしてお薦めします。管理対象サーバーをコマンドラインから起動して、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からサーバーを停止および起動する手順は、次のとおりです。
コマンド行からの管理対象サーバーの起動および停止の詳細は、Oracle SOA SuiteおよびBusiness Process Managementのインストールと構成に関する項を参照してください。
SOAサーバー(soa_infra
)が起動しない場合、サーバー起動の問題には様々な原因が考えられます。検出によるアプローチを使用して根本原因を見つける必要があります。問題を診断する最初の試みとして、サーバーと診断ログをチェックします。さらに、次をチェックしてください。
サーバー起動の問題を診断する手順は次のとおりです。
データベースが使用できないかどうか、または使用可能な接続が不足しているかどうかをチェックします。Oracle SOA Suite実行時の一部の障害は、データベースの停止や接続の問題によって発生します。次の手順を実行します。
Oracle WebLogic Server管理コンソールにログインします。
「ドメイン構造」で、「サービス」→「データ・ソース」→「SOADatasource」→「モニタリング」→「テスト」の順に選択してデータ・ソースをテストして、ステータスを表示します。これはSQLプロンプトからもチェックできます。
ポートの競合がないかどうか、使用されているポートのリストをチェックします。
MDSリポジトリが共有ドキュメントをロードできないかどうかをチェックします(不正なMDS構成またはMDSスキーマを保持するデータベースが到達不可能)。
Oracle SOA Suiteクラスタを使用している場合は(ユニキャストまたはマルチキャストの使用)、Oracle Coherenceの構成をチェックします。
この問題はプロビジョニングの完了後のみ適用されます。ポートの競合がある場合(Oracle Coherenceによって使用されている場合)、SOAサーバーのクラスタリングは失敗する場合があります。たとえば、一方のSOAサーバーがデプロイメントを取得できても、もう一方のサーバーが取得できない可能性があります。ときによって、これは次のエラーのみを示す場合があります。
[soa_server1] [ERROR] [] [Coherence] [tid: Logger@352821903 3.6.0.4] [ecid: 46f620208907e045:63f295ec:12dd091ec2e:-8000-0000000000000003,1:27187] [APP: soa-infra] 2011-01-28 23:06:19.463/414.816 Oracle Coherence GE 3.6.0.4 <Error> (thread=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Error while starting cluster: com.tangosol.net.RequestTimeoutException: Timeout during service start: ServiceInfo(Id=0, Name=Cluster, Type=Cluster[[...
この例では、Oracle Coherenceタイムアウトが重要な役割を果たしています。ただし、次のように無関係のエラーを示す場合もあります。
Error creating bean with name 'SensorManager' defined in ServletContext resource
この根本原因も、主としてOracle Coherenceの構成に関係しています。
管理サーバーと管理対象サーバーの両方のポートがオープンでアクセス可能であるかどうかをチェックします。
管理サーバーに到達できないために管理対象サーバーの起動が失敗したかどうかをチェックします。
ネットワークの問題をチェックします(たとえば、問題の原因となっている可能性があるIPルーティングのフィルタやルール)。
Oracle WebLogic Server LDAPセキュリティの破損をチェックします。
管理対象サーバーは、アプリケーションのシステムMBeanブラウザのポリシーがすでに存在しているかどうかをレポートする場合があります。
システム・プロパティを使用してプロキシ・サーバーを指定するには、クライアント・アプリケーションを通常の方法で記述し、クライアント・アプリケーションを実行するとき、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
プロパティも指定します。
Oracle Enterprise Manager Fusion Middleware Controlで、一部のローエンドのホストにおいて、デプロイ済のSOAコンポジット・アプリケーションのインスタンスIDのフロー・ダイアグラムが、初回に表示されない場合があります。かわりに、リソースのロードに失敗しました
というメッセージを受信します。
このことを回避するには、フローのトレース・ページを閉じ、インスタンスIDをクリックして、フローのトレース・ページに戻ります。
IPv4とIPv6の両方がサポートされているデュアル・スタック・ホスト上でOracle SOA Suiteを実行する場合は、Oracle Enterprise Manager Fusion Middleware Controlで、IPv4クライアントがIPv6のURLにアクセスするように、表B-25
に従ってetc/hostsファイルを更新する必要があります。
表B-25 etc/hostsファイルのIPv4とIPv6の設定
クライアント | etc/hostsファイルを次のように編集します |
---|---|
IPv4クライアント上で: |
xx.xxx.xxx.xxx myhost10-ipv6 ここで、 |
IPv6クライアント上で: |
2001:0db8:db0a::0:1 myhost10-ipv6 myhost10-ipv6.us.example.com 注意: |
表B-26に、その他のトラブルシューティングの問題について参照するドキュメントを示します。
表B-26 その他のトラブルシューティングのドキュメント
参照内容 | 参照先 |
---|---|
SOAインフラストラクチャの起動とシャットダウンの問題 |
|
WebLogic診断フレームワーク(WLDF)および診断フレームワーク(DFW)を使用した、Oracle SOA Suiteの問題の診断 |
|
大規模ドキュメントとメタデータの管理、および多数のインスタンスを含む環境の管理 |
『Oracle SOAスイートでのSOAアプリケーションの開発』の「大規模ドキュメントおよび大量のインスタンスの管理」 |
デプロイメント・エラーとコンパイル・エラー |
『Oracle SOAスイートでのSOAアプリケーションの開発』のテストおよびトラブルシューティングに関する項 |
Oracle Web Services Managerポリシー・マネージャ・エラー |
Webサービスの管理の「問題の診断」 |
Oracle Business Rules |
Oracle Business Process Managementを使用したビジネス・ルールの設計の付録「Oracle Business Rulesのトラブルシューティング」 |