Oracle® Enterprise Manager Oracle Fusion Middleware Managementスタート・ガイド 11g リリース1(11.1.0.1) B61025-01 |
|
![]() 戻る |
![]() 次へ |
この章では、JVM Diagnosticsのデプロイおよび使用時に発生する可能性のあるエラーと、そのエラーを解決するための手順について説明します。この章の内容は次のとおりです。
この項では、JVM Diagnosticsエージェントの自動デプロイメント中に発生するエラーの一覧を表示します。
表11-1 DeployAD4JAgentOnTargetステップ・エラー
エラー・メッセージ | 回避手順 |
---|---|
New SOA Composite deployed on the SOA Server from JDeveloper are not displayed automatically in Enterprise anager Grid Control. war file <war file name> is already deployed. Use Option force to redploy |
「エージェント・デプロイ」ページに移動し、「強制」チェックボックスを選択して「デプロイ」をクリックします。 |
Caused by: java.lang.SecurityException: User: <username>, failed to be authenticated |
このエラーは、WebLogic管理サーバーのユーザー名およびパスワードが正しくない場合に発生します。 WebLogic管理サーバーの正しい資格証明を指定して、「エージェント・デプロイ」ページで「デプロイ」をクリックします。 |
Exception in thread "main" java.lang.NoClassDefFoundError: javax/enterprise/deploy/spi/exceptions/TargetExc eption Caused by: java.lang.ClassNotFoundException: javax.enterprise.deploy.spi.exceptions TargetException at java.net.URLClassLoader$1.run(URLClassLoader? .java:200) at java.security.AccessController.doPrivileged(Nati ve Method) at java.net.URLClassLoader.findClass(URLClassLoader? .java:188) at java.lang.ClassLoader.loadClass(ClassLoader? .java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launc her.java:301) at java.lang.ClassLoader.loadClass(ClassLoader? .java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoa der? .java:320) Could not find the main class: oracle.sysman.e2e.model.ad4j.util.RebuildWar. Program will exit. |
理由: このエラーは、次のような場合に発生する可能性があります。
|
表11-2 CreateTempDirステップ・エラー
エラー・メッセージ | 回避手順 |
---|---|
RemoteOperationException: ERROR: Invalid username and/or password” |
ドメインを監視中の管理エージェントがWindowsマシンで稼働している場合、このマシンで指定するユーザー名またはパスワードが正しくないとこのエラーが発生する可能性があります。このエラーは、ユーザーに |
nmo set suid root |
バイナリおよびパス全体の読取り権限がない場合、このエラーが発生する可能性があります。 このエラーを解決するには、コマンド |
Exception in thread "main" java.lang.NoClassDefFoundError: javax/enterprise/deploy/spi/exceptions/TargetExc eption Caused by: java.lang.ClassNotFoundException: javax.enterprise.deploy.spi.exceptions TargetException at java.net.URLClassLoader$1.run(URLClassLoader? .java:200) at java.security.AccessController.doPrivileged(Nati ve Method) at java.net.URLClassLoader.findClass(URLClassLoader? .java:188) at java.lang.ClassLoader.loadClass(ClassLoader? .java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launc her.java:301) at java.lang.ClassLoader.loadClass(ClassLoader? .java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoa der? .java:320) Could not find the main class: oracle.sysman.e2e.model.ad4j.util.RebuildWar. Program will exit. |
このエラーは、次のような場合に発生します。
|
表11-4 セキュアな通信エラー
エラー・メッセージ | 回避手順 |
---|---|
JAM Agent: loadNative Exception loading [/tmp/libjamagent_nz.so.1] /tmp/libjamagent _nz.so.1: libnnz11.so: cannot open shared object file: No such file or directory. JAM Agent: Please make sure that libnnz11 and libclntsh is in the LD_LIBRARY_PATH |
このエラーは、NZライブラリが この問題を解決するには、 |
Jam Communication : Open wallet error : 28759 Jam Communication : setup_auth failed 28759 |
このエラーは、不明なウォレット・リソース・ロケータがウォレットのオープンに使用されている場合に発生します。 このエラーを解決するには、必ずウォレット・ロケーションの前に |
Jam Communication : Open wallet error : 28759 Jam Communication : setup_auth failed 28759 |
このエラーは、ウォレット・ファイルをJVM Diagnosticsエージェントでオープンできないときに発生します。 必ず、ウォレットへのファイル・パスが正確で、適切な権限が指定されているようにします。 |
Jam Communication : nz initialize SSL handshake error 28864 Jam Communication : nzos_Write error - 29031 AM Console: Invalid connection from 10.228.234.246.55859 |
これらのエラーは、JVM Diagnosticsマネージャが非セキュア・モードで起動されている場合に発生します。 |
javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher at com.sun.crypto.provider.SunJCE_f.b(DashoA13? *..) at com.sun.crypto.provider.DESedeCipher.engineDoFin al(DashoA13? *..) at javax.crypto.Cipher.doFinal(DashoA13? *..) at jamagent.jamagent.decrypt(jamagent.java:725) at jamagent.jamagent.decrypt(jamagent.java:741) at jamagent.jamagent.<init>(jamagent.java:799) at jamagent.jaminit.init(jaminit.java:50) |
このエラーは、JVM Diagnosticsエージェントに指定した暗号化パスワードが正しくない場合に発生します。 |
Jam Communication : Setting up context Jam Communication : nz initialize SSL handshake error 29024 Jam Communication : nzos_Write error :- 29031 |
このエラーは、ウォレット・パスワードが正しくない場合、またはJVM Diagnosticsエージェントの証明書が、JVM Diagnosticsマネージャと同じCAで証明されていない場合に発生します。 |
Jam Communication : nz initialize SSL handshake error 28860 Jam Communication : nzos_Read error : 28865 Console Err code: -1716291680 Receiving data on port 3600 from 127.0.0.1:57187, FD 450: Broken pipe |
|
JAM Agent: Conn reset by console JVM Diagnostics Manager Error: JAM Communication: nz initialize SSL handshake error 29049 JAM Communication: nzos_Read error: 28865 Console Err code: -1716291680 Receiving data on port 3600 from 127.0.0.1:58221, FD 450: Transport endpoint is not connected |
このエラーは、JVM Diagnosticsエージェントが非セキュア・モードで実行中で、セキュアなJVM Diagnosticsマネージャに接続しようとしている場合に発生します。 |
この項では、JVM Diagnosticsマネージャのステータスを表示するエラーの一覧を表示します。
表11-5 階層間の機能エラー
エラー・メッセージ | 回避手順 |
---|---|
DBWait link not displayed on JVM Threads Real Time Analysis page. No data displayed in Top DBStates / SQLs tables. |
階層間の機能エラーは、次のような原因で発生する可能性があります。
データベース資格証明が不正確な場合:
データベース・エージェント・エラーが発生した場合は、正しいIPアドレスおよびポート番号でデータベースがインストールされているマシンで、データベース・エージェントが稼働していることを確認します。
|
この項ではトレース中に発生するエラーの一覧を表示します。
この項では、デプロイメント・スクリプトの実行時に発生するエラーの一覧を表示します。
表11-7 スクリプト実行エラー
エラー・メッセージ | 回避手順 |
---|---|
ScriptException: Error occured while performing deploy: The action you performed timed out after 600,000 milliseconds |
このエラーは、JVM Diagnosticsエージェントをデプロイしているときに発生します。この問題を解決するには、WebLogic管理コンソールのロックでJVM Diagnosticsマネージャがすでに取得されているかどうか確認します。取得済の場合はそれを解放して、スクリプトを再度実行します。
|
この項では、64ビットのJVMでJVM Diagnosticsマネージャをデプロイしようとすると発生するエラーの一覧を表示します。
表11-8 64ビットのJVMでのデプロイのエラー
エラー・メッセージ | 回避手順 |
---|---|
JAM Console: Only 32 bit JAM Console: Only 32 bit JVM is supported. The shared lib might not be loaded on this platform >>java.library.path: /scratch/skbalakr/Oracle/Middleware/oms11g/lib JAM Console: loadNative Exception loading [/tmp/libJamConsole.so.1] /tmp/libJamConsole.so.1: ld.so.1: java: fatal: /tmp/libJamConsole.so.1: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch java.lang.UnsatisfiedLinkError: /tmp/libJamConsole.so.1: ld.so.1: java: fatal: /tmp/libJamConsole.so.1: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch) at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader? .java:1778) at java.lang.ClassLoader.loadLibrary(ClassLoader? .java:1674) at java.lang.Runtime.load0(Runtime.java:770) at java.lang.System.load(System.java:1003) at oracle.sysman.e2e.model.ad4j.remote.Jam.init(Jam .java:597) at oracle.sysman.e2e.model.ad4j.remote.servlet.AD4J ManagerServlet.init(AD4JManagerServlet? .java:38) |
このエラーは、JVM Diagnosticsマネージャが32ビットのJVMのみにデプロイできる場合に発生します。この問題を解決するには、 |
この項では、自動デプロイメント・プロセス中に発生するエラーの一覧を表示します。
表11-9 JVM Diagnosticsマネージャの自動デプロイメント・エラー
エラー・メッセージ | 回避手順 |
---|---|
Failed to deploy the application with status failed. Current Status of your Deployment: Deployment command type: deploy Deployment State: failed Deployment Message: weblogic.management.ManagementException: [Deployer:149007] New source location, /scratch/skbalakr/Oracle/Middleware/oms11g/ad4j/ jammanager_dummy.ear,cannot be deployed to configured application,jammanager. The application source is at /scratch/skbalakr/Oracle/Middleware/oms11g/ad4j/ jammanager.ear. Changing the source location is not allowed for a previously attempted deployment. Try deploying without specifying the source. No stack trace available. This Exception occurred at Tue May 11 06:40:50 UTC 2010. weblogic.management.scripting.ScriptException: Error occured while performing deploy : Deployment Failed. |
自動デプロイメントは、以前試行したデプロイメントのソースの場所を変更しようとすると失敗します。 |
JAM Console: Only 32 bit JVM is supported. The shared lib might not be loaded on this platform java.library.path: /scratch/skbalakr/Oracle/Middleware/oms11g/lib JAM Console: loadNative Exception loading [/tmp/libJamConsole.so.1] /tmp/libJamConsole.so.1: ld.so.1: java: fatal: /tmp/ libJamConsole.so.1: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch) java.lang.UnsatisfiedLinkError: /tmp/libJamConsole.so.1: ld.so.1: java: fatal: /tmp/libJamConsole.so.1: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch) at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader? .java:1778) at java.lang.ClassLoader.loadLibrary(ClassLoader? .java:1674) at java.lang.Runtime.load0(Runtime.java:770) |
このエラーは、64ビットのJVMでデプロイメント・スクリプトを実行しようとすると発生します。 この問題を解決するには、 |
この項ではloadheapエラーの一覧を表示します。
表11-10 LoadHeapエラー
エラー・メッセージ | 回避手順 |
---|---|
glibc detected * free(): invalid next size (fast): 0x0965d090" ./loadheap.sh: line 237: 32357 Aborted ./bin/${bindir}/processlog in=$infile hdr=${sumdata} obj=${objdata} rel=${reldata} root=${rootdata} osum=${objsumdata} rrel=${rootrel} heap=${heap _id} skip=$skipgarbage db=$dbtype $* Error processing file /tmp/heapdump6.txt |
heapdump操作が正常に完了しているかどうか確認します。 |
Heapdump already in progress, cannot take another heapdump |
|
loadheap.sh created unusable unique indexes. |
|
この項ではユーザー・インタフェース・エラーの一覧を表示します。
表11-11 JVM DiagnosticsのUIページのエラー
エラー・メッセージ | 回避手順 |
---|---|
JAM Console: Socket timed out after recv -- client adc2100083.us.oracle.com:7001 is not Active [0] secs JAM Console jamlooptimeout = [3]JAM CONSOLE: JVM 1 is not active JAM Cons Err Processing Request: 128 JVM 1 is not active jamDAL: jamreq returned 128 return status < 0 from jamDalInst.processRequest |
このエラーを解決するには、「エージェント・リクエスト・タイムアウト(秒)」および「エージェント・ループ・リクエスト・タイムアウト(秒)」の値を増やします。 |
This page cannot be displayed at the current JVM optimization level. |
最適化レベルが0に設定されている場合、「ヒープの表示(メモリー)」操作は非常に時間がかかるためサポートされていません。 |
Method locals on Real Time Thread page not displayed. |
最適化レベルが0に設定されている場合、メソッド・ローカルはサポートされていません。 |
Agent is up and running but is not displayed in the real time pages. |
ログ・ファイルに この問題を解決するには、「設定」>「ダウンロード」ページから最新の |
You do not have the necessary privileges to view this page |
JVM Diagnosticsデータの表示に必要な、JVM診断管理者またはJVM診断ユーザーの権限があることを確認します。 |
この項では、JVM Diagnosticsの使用中に生じる可能性のある質問の一覧を表示します。次のような質問が考えられます。
JVM Diagnosticsログの場所
JVM Diagnosticsマネージャのステータス
JVM Diagnosticsエージェントのステータス
監視ステータス
権限の低いユーザーの作成
「スレッドの変更の試行」パラメータの使用
最適化レベルの重要度
JVM Diagnosticsエージェントの手動デプロイ
ログ・マネージャ・レベル
JVM Diagnosticsログは次の場所にあります。
JVM Diagnosticsマネージャのログ・ファイルは、$T_WORK/gc_inst/user_projects/domains/GCDomain/servers/EMAD4JMANAGER/logs/EMAD4JMANAGER.out
にあります。
UI関連エラーのログの場所は次のとおりです。
$T_WORK/gc_inst/user_projects/domains/GCDomain/servers/EMGC_OMS1/logs/EMGC_OMS1.out
$T_WORK/gc_inst/user_projects/domains/GCDomain/servers/EMGC_OMS1/logs/EMGC_OMS1.log
JVM Diagnosticsマネージャとコンソール間の通信エラーのログ・ファイルは、$T_WORK/gc_inst/em/EMGC_OMS1/sysman/log/emoms.log
にあります。
JVM Diagnosticsマネージャのステータスを確認する手順:
「ミドルウェア」>「JVM診断」>「設定」をクリックします。「コンソール設定」ページで、JVM Diagnosticsマネージャのステータスが「稼働中」か「停止中」か確認します。
「ミドルウェア」>「JVM診断」>「設定」>「JVMとマネージャ」ページで、すべてのマネージャのステータスを確認します。
JVM Diagnosticsエージェントのログ・ファイルを確認して、エージェントとマネージャ間の通信を検証します。JAM Agent ERROR: Cannot connect to Console:Connection refused
というエラーが表示されている場合、これはJVM Diagnosticsマネージャが稼働していないことを示しています。
JAM Console: Agent connection from:[Hostname]
というメッセージが、JVM Diagnosticsマネージャのログ・ファイル内にあるかどうか確認します。このメッセージが表示されている場合、これはJVM Diagnosticsマネージャが稼働中でエージェントに接続されていることを示しています。
JVM Diagnosticsエージェントのステータスを確認する手順:
「ミドルウェア」>「JVM診断」>「スレッド」>「リアルタイム分析」をクリックして、JVMが属すプールを表示します。「接続されているJVM」表でJVMのステータスを確認します。
ステータスが「非アクティブ」の場合、これはエージェントがマネージャに接続されていないことを示しています。エージェント・ログを確認して、エージェントが稼働中でマネージャのIPアドレスおよびポート番号が正しいかどうか検証します。
ステータスが「Ad4jエージェントがデプロイされていません」の場合、JVM DiagnosticsエージェントをそのJVMにデプロイする必要があります。
JVMの「スレッド」>「リアル分析」ページに移動します。JVM Diagnosticsエージェントが稼働している場合、アクティブ・スレッド・データが表示されます。JVM Diagnosticsエージェントが稼働していない場合、JVM is inactive, Please try again after some time
というメッセージが表示されます。
JVM Diagnosticsマネージャがデータを監視中かどうか検証する手順:
「ミドルウェア」>「JVM診断」>「設定」をクリックします。「コンソール設定」ページで、「監視有効化」チェックボックスが選択されているか確認します。
「設定」の下の「監視中」ページに移動し、監視対象のJVMが属すプールに対する監視ステータスが「オン」かどうか確認します。
「設定」の下の「JVMプール」ページに移動し、監視対象のJVMが属すプールに対して「ポーリング有効」チェックボックスが選択されているかどうか確認します。以上で、監視が有効になります。
loadHeap
スクリプトを使用してヒープのみをロードできる権限の低いユーザーを作成する場合、create_jvm_diagnostic_db_user.sh
スクリプトを実行できます。
JVM Diagnosticsエージェントは3つの最適化レベルをサポートしています。
レベル0は、JVM DiagnosticsエージェントがJVMTIベース・エンジンを使用していることを示します。このレベルは、サポートされているほとんどすべてのプラットフォームでJDK 6シリーズに対してサポートされています。
レベル1はレベル0とレベル2の混合です。このレベルは、選択したプラットフォームで少数のJDKのみに対してサポートされています。
レベル2は、監視にランタイム・オブジェクト分析手法を使用します。この実装は一般的に複雑で時間がかかり、特に選択されたJDKおよびプラットフォームでサポートされています。
JVM Diagnosticsエージェントを手動でデプロイするには、次の手順を実行します。
WebLogic Serverドメイン・ターゲットのJVMプールと同じ名前のJVMプールを作成します。ただし、'/'(スラッシュ)はすべて'__'(2つのアンダースコア)に置き換えます。たとえば、WebLogicドメイン名が/sample_EMGC_DOMAIN/EMGC_DOMAIN
の場合、JVMプールは__sample_EMGC_DOMAIN__EMGCDOMAIN
になります。
「ポーリング有効」チェックボックスを選択して、このJVMプールの監視を開始します。
「JVM診断」>「設定」>「ダウンロード」ページからjamagent.war
をダウンロードします。
jamagent.war
のWEB-INF/web.xml
ファイルで、次のプロパティの値を更新してjamagent.war
を再度作成します。
oracle.ad4j.groupidprop
: エージェントがデプロイされる対象のWebLogic Serverドメイン・ターゲットの名前。これは「JVM診断」の「デプロイメント」ページで、「ターゲット名」列の下に表示されます。
oracle.ad4j.jvmidprop
: エージェントがデプロイされる対象のWebLogic Serverドメイン・ターゲットのタイプ。これは「JVM診断」の「デプロイメント」ページで、「ターゲット・タイプ」列の下にweblogic_j2eeserver
という値とともに表示されます。
jampool
: エージェントがデプロイされているドメインの名前。"/"は"__"に置き換えられます(フォワード・スラッシュは2つのアンダースコアに置き換えられます)。
再バンドルされたjamagent.war
をWebLogic Serverドメインに手動でデプロイします。
「ミドルウェア」ページに移動し、「WebLogic Serverドメイン」ターゲットを選択します。WebLogic Serverドメインのホームページが表示されます。メニューから「JVM診断」オプションを選択します。