Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド 11g リリース1(11.1.1) B55916-02 |
|
戻る |
次へ |
この付録では、Oracle SOA Suiteを使用する際に発生する可能性がある問題のトラブルシューティング方法について説明します。
この付録の内容は、次のとおりです。
ベスト・プラクティスとして、管理対象サーバーを起動および停止するとき、次の方法のいずれか一方のみを使用することを常にお薦めします。管理対象サーバーをコマンドラインから起動して、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インストレーション・ガイド』を参照してください。
本番システムには、多数のコンポジット・インスタンスおよびフォルトが含まれることがあり、情報の取得が比較的遅くなると、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を再起動します。
データベースへの接続が遅いと、次のエラー・メッセージを受信する場合があります。
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を再起動します。
IPv4とIPv6をサポートするデュアル・スタック・ホスト上でOracle SOA Suiteを実行する場合、IPv4クライアントがOracle Enterprise Manager Fusion Middleware ControlコンソールでIPv6 URLにアクセスするために、表B-1に示すようにetc/hosts
ファイルを更新する必要があります。