茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1671180 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00329.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2019/4/26 7:05:50
orabbix 啟動報錯 WARNING: Error while registering Oracle JDBC Diagnosability MBean.

一. 報錯資訊如下:
[[email protected] conf]# /etc/init.d/orabbix start
Starting Orabbix service:
[[email protected] conf]# Jan 22, 2018 2:37:06 p.m. oracle.jdbc.driver.OracleDriver registerMBeans
WARNING: Error while registering Oracle JDBC Diagnosability MBean.
java.lang.NoSuchMethodError: method javax.management.StandardMBean.<init> with signature (Ljava.lang.Class;Z)V was not found.
   at oracle.jdbc.driver.OracleDiagnosabilityMBean.<init>(OracleDiagnosabilityMBean.java:34)
   at oracle.jdbc.driver.OracleDriver.registerMBeans(OracleDriver.java:360)
   at oracle.jdbc.driver.OracleDriver$1.run(OracleDriver.java:199)
   at java.security.AccessController.doPrivileged(libgcj.so.10)
   at oracle.jdbc.driver.OracleDriver.<clinit>(OracleDriver.java:195)
   at java.lang.Class.initializeClass(libgcj.so.10)
   at java.lang.Class.initializeClass(libgcj.so.10)
   at java.lang.Class.forName(libgcj.so.10)
   at org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS.setDriver(DriverAdapterCPDS.java:500)
   at com.smartmarmot.orabbix.Configurator.getConnection(Configurator.java:454)
   at com.smartmarmot.orabbix.Configurator.getConnections(Configurator.java:581)
   at com.smartmarmot.orabbix.Orabbixmon.run(Orabbixmon.java:91)
   at com.smartmarmot.orabbix.bootstrap.main(bootstrap.java:50)
Exception in thread "main" java.lang.NoClassDefFoundError: oracle.jdbc.driver.PhysicalConnection
   at java.lang.Class.initializeClass(libgcj.so.10)
   at java.lang.Class.initializeClass(libgcj.so.10)
   at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
   at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
   at java.sql.DriverManager.getConnection(libgcj.so.10)
   at java.sql.DriverManager.getConnection(libgcj.so.10)
   at org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS.getPooledConnection(DriverAdapterCPDS.java:205)
   at org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS.getPooledConnection(DriverAdapterCPDS.java:150)
   at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.testCPDS(InstanceKeyDataSource.java:836)
   at org.apache.commons.dbcp.datasources.SharedPoolDataSource.registerPool(SharedPoolDataSource.java:210)
   at org.apache.commons.dbcp.datasources.SharedPoolDataSource.getPooledConnectionAndInfo(SharedPoolDataSource.java:169)
   at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:701)
   at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:676)
   at com.smartmarmot.orabbix.Configurator.getConnection(Configurator.java:534)
   at com.smartmarmot.orabbix.Configurator.getConnections(Configurator.java:581)
   at com.smartmarmot.orabbix.Orabbixmon.run(Orabbixmon.java:91)
   at com.smartmarmot.orabbix.bootstrap.main(bootstrap.java:50)
Caused by: java.lang.ClassNotFoundException: java.sql.NClob not found in gnu.gcj.runtime.SystemClassLoader
{urls=[file:lib/commons-codec-1.4.jar,file:lib/commons-dbcp-1.4.jar,file:lib/commons-lang-2.5.jar,
file:lib/commons-logging-1.1.1.jar,file:lib/commons-pool-1.5.4.jar,file:lib/hsqldb.jar,
file:lib/log4j-1.2.15.jar,file:lib/ojdbc6.jar,file:./,file:./orabbix-1.2.3.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
   at java.net.URLClassLoader.findClass(libgcj.so.10)
   at java.lang.ClassLoader.loadClass(libgcj.so.10)
   at java.lang.ClassLoader.loadClass(libgcj.so.10)
   at java.lang.VMClassLoader.defineClass(libgcj.so.10)
   at java.lang.ClassLoader.defineClass(libgcj.so.10)
   at java.security.SecureClassLoader.defineClass(libgcj.so.10)
   at java.net.URLClassLoader.findClass(libgcj.so.10)
   at java.lang.ClassLoader.loadClass(libgcj.so.10)
   at java.lang.ClassLoader.loadClass(libgcj.so.10)
   at java.lang.Class.forName(libgcj.so.10)
   at java.lang.Class.initializeClass(libgcj.so.10)
   ...16 more
^C
[[email protected] conf]#


二. 問題分析:

這個錯看起來是JDK的問題,升級到1.8還是沒作用
但orabbix日誌開起來也挺正常的:
2018-01-22 15:42:11,176 [main] INFO  Orabbix - Starting Orabbix Version 1.2.3
 2018-01-22 15:42:11,211 [main] INFO  Orabbix - Orabbix started with pid:GNU libgcj 4.4.7 20120313 (Red Hat 4.4.7-17) [147558
 2018-01-22 15:42:11,211 [main] INFO  Orabbix - PidFile -> ./logs/orabbix.pid
 2018-01-22 15:42:11,277 [main] INFO  Orabbix - DB Pool created: [email protected]e
 2018-01-22 15:42:11,277 [main] INFO  Orabbix - URL=jdbc:oracle:thin:@10.195.xxx.x:1521:odcl
 2018-01-22 15:42:11,277 [main] INFO  Orabbix - maxPoolSize=10
 2018-01-22 15:42:11,277 [main] INFO  Orabbix - maxIdleSize=1
 2018-01-22 15:42:11,277 [main] INFO  Orabbix - maxIdleTime=1800000ms
 2018-01-22 15:42:11,277 [main] INFO  Orabbix - poolTimeout=100
 2018-01-22 15:42:11,277 [main] INFO  Orabbix - timeBetweenEvictionRunsMillis=-1
 2018-01-22 15:42:11,277 [main] INFO  Orabbix - numTestsPerEvictionRun=3


三.問題解決:

直接執行run.sh檔案orabbix是可以起來的
sh /opt/orabbix/run.sh

所以分析 /etc/init.d/orabbix的問題
發現 /etc/init.d/orabbix中有二處初始化:
# Source function library.
. /etc/rc.d/init.d/functions
# Get config.
. /etc/sysconfig/network

當執行了. /etc/rc.d/init.d/functions就會報錯
檢視發現應該是functions裡的
# Set up a default search path.
PATH="/sbin:/usr/sbin:/bin:/usr/bin"
export PATH

影響了JDK的環境變數,這行註釋就可以了

原文出處:orabbix 啟動報錯 WARNING: Error while registering Oracle JDBC Diagnosability MBean. - IT閱讀
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|