Oracle Fusion Middlewareを使用しているときに問題が発生し、そのトラブルシューティング方法についての情報が必要な場合があります。
トピック:
Oracle Fusion Middlewareコンポーネントは、起動および停止情報、エラー、警告メッセージ、HTTPリクエスト時のアクセス情報など、すべての種類のイベントを記録するメッセージが格納されたログ・ファイルを生成します。このログ・ファイルを、障害の特定と診断に使用できます。ログ・ファイルの使用と読取りの詳細は、第12章「ログ・ファイルと診断データの管理」を参照してください。
Oracle Fusion Middlewareには、問題の検出、診断および解決を支援する診断フレームワークが含まれています。特に対象としている障害は、コードのbug、メタデータの破損、顧客データの破損に起因する障害、スレッドのデッドロック、一貫性のない状態などのクリティカル・エラーです。
クリティカル・エラーが発生すると、そのエラーにはインシデント番号が割り当てられ、エラーの診断ログ(ログ・ファイルなど)が即座に取得され、その番号でタグ付けされます。データは、自動診断リポジトリ(ADR)に格納されます。ADRでは、後でデータをインシデント番号によって取得し、分析することができます。診断フレームワークの詳細は、第13章「問題の診断」を参照してください。
この項では、一般的な障害と解決策について説明します。次の項目が含まれます。
データベースのパフォーマンスが低下している場合や、Oracle WebLogic Serverのログ・ファイルに次のメッセージが出力された場合は、データ・ソース接続がリークしている可能性があります。
No resources currently available in pool datasource name
Any product functionality that depend on the datasource will not function as it can't connect database to get required data.
このメッセージが出力された場合は、管理コンソールのデータ・ソース・モニタリング・ページから接続使用量をモニターします。
「ドメイン構造」で、「サービス」→「データ・ソース」を選択します。
モニターするデータ・ソースをクリックします。
「モニタリング」タブ→「統計」タブを選択します。
表に「現在アクティブな接続の数」が表示されない場合は、「この表のカスタマイズ」をクリックします。
「列の表示」で、「現在アクティブな接続の数」を選択して、それを「使用可能」ボックスから「選択済み」ボックスに移動します。「適用」をクリックします。
表内の「現在アクティブな接続の数」列の数に注目します。
現在アクティブなデータ・ソースの数が増え続け、減少しないようであれば、このデータ・ソースで接続がリークしています。Oracleサポートに連絡してください。
JRFを使用して管理対象サーバーを構成すると、Spring 2.0.6がインストールされ、Oracle WebLogic Serverのシステム・クラスパスに配置されます。JRF環境で実行されているカスタム・アプリケーションが、異なるバージョンのSpringを必要とする場合、FilteringClassLoaderメカニズムを使用して、Springのバージョンを指定する必要があります。
Oracle WebLogic Serverは、デプロイメント記述を構成して特定のパッケージが常に(システム・クラス・ローダーによってではなく)アプリケーションからロードされることを明示的に指定できるように、FilteringClassLoaderメカニズムを提供します。この機能により、SpringやAntなど、アプリケーションの代替のバージョンを使用できます。
FilteringClassLoaderメカニズムの使用方法の詳細は、『Oracle WebLogic Serverアプリケーションの開発』のFilteringClassLoaderの使用方法に関する項を参照してください。
管理対象サーバーがノード・マネージャによって起動される場合(サーバーがOracle WebLogic Server管理コンソールまたはFusion Middleware Controlによって起動される場合)、管理対象サーバーを起動するときに起動スクリプトを使用するようにノード・マネージャが構成されていないと、ClassNotFoundエラーが発生する場合があります。この障害の解決方法の詳細は、第2.7.1項を参照してください。
この項では、SSL構成を使用する場合の一般的な問題および解決策について説明します。次の項目が含まれます。
暗号が明示的に構成されていない場合、12c (12.2.1.1)の一部のコンポーネントでDH_Anon
(Diffie-Hellman匿名)暗号を含む、サポートされているすべてのSSL暗号が有効になることに注意してください。
この時点では、次のように暗号を設定することがわかっているコンポーネントはOracle HTTP Serverのみです。
DH_Anon
が希望でない場合、希望する暗号でコンポーネントを構成します。
Oracle HTTP Server用にSSLを構成する場合、証明書チェーン全体(ルートCA、中間CAなど)のインポートが必要な場合があります。
Internet Explorerなどの特定のブラウザでは、SSLハンドシェイクが機能するように証明書チェーン全体をブラウザにインポートする必要があります。証明書が中間CAによって発行されている場合、証明書チェーン全体がブラウザで利用できることを確認する必要があり、そうしないとハンドシェイクが失敗します。チェーンの中間証明書の期限が切れている場合、チェーンのすべての証明書(OHS Serverの証明書など)とともに更新する必要があります。
JDK6では、keyCertSign
ビットを有効化しなくても、自己署名付き証明書にkeyUsage
拡張機能を含めることができます。これは、JDK7では拒否されます。
JDK7では、自己署名付きCA証明書を使用する場合は、keyUsage
拡張機能のkeyCertSign
ビットを設定する必要があります。そうしないと、接続が次のような例外により失敗します。
weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: IO Error: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
鍵使用目的の拡張機能は、証明書に設定されている鍵の使用目的(暗号用、署名用、証明書署名用など)を定義します。
準拠しているCAでは、公開鍵(その他の公開鍵証明書またはCRLでのデジタル署名の検証に使用される)が設定されている証明書にこの拡張機能を含める必要があります。
公開鍵証明書の署名の検証にサブジェクトの公開鍵が使用される場合は、keyCertSign
ビットがアサートされます。つまり、JDK7で自己署名付きCA証明書を生成するときには、keyUsage
のkeyCertSign
ビットがオンであることを確認する必要があります。
これは、たとえば次のような方法で達成できます。
ku:c=keyCertSignオプションを指定して自己署名付きJKSキーストアを作成し、
キーストアからの証明書をルート・ウォレット(SSL DB接続で使用される)に移行します
orapki wallet jks_to_pkcs12 -wallet ./ -pwd password -keystore ./ewallet.jks-jkspwd password
この項目の詳細は、第8.5項を参照してください。
この他の解決策は、My Oracle Support (http://support.oracle.com
)で公開されています。発生した障害の解決策が見つからない場合は、サービス・リクエストを発行してください。
第H.5.1項で説明するように、Remote Diagnostic Agentを使用することもできます。
Remote Diagnostic Agent (RDA)は、ご使用の環境の全体像を提供するコマンド行診断ツールです。また、RDAでは、構成やセキュリティなど、様々な項目に関する推奨事項が提供されています。これは、ユーザーとOracleサポートの問題解決を支援します。
RDAは、できるだけ控えめであるように設計されており、システムを変更することはありません。必要に応じて、セキュリティ・フィルタが提供されます。
RDAの詳細は、次の場所にあるreadmeファイルを参照してください。
(UNIX) ORACLE_HOME/oracle_common/rda/README_Unix.txt (Windows) ORACLE_HOME\oracle_common\rda\README_Windows.txt