問題描述
在此之前,安裝了 unixODBC
Before that, unixODBC was installed
- unixODBC.x86_64 2.2.14-14.el6
- unixODBC-devel.x86_64 2.2.14-14.el6
安裝的Oracle ODBC驅動是:
And Oracle ODBC driver installed is:
- oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64
- oracle-instantclient11.2-odbc-11.2.0.1.0-1.x86_64
- oracle-instantclient11.2-devel-11.2.0.1.0-1.x86_64
和 odbcinst.ini:
And odbcinst.ini:
[Oracle-11g]
Description=ODBC for Oracle
Driver=/usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1
UsageCount=1
FileUsage=1
Driver Logging = 7
odbc.ini:
[test]
Driver = Oracle-11g
DSN = Oracle-11g
ServerName = gzdb
UserID = xxx
Password = xxx
并且 ODBC 連接成功
And ODBC connection is working successfully
shell> isql -v test
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
為了啟用 ODBC 支持,我重新編譯了 zabbix3.0 標志:--with-unixodbc
To enable ODBC support, I recompiled zabbix3.0 with flag: --with-unixodbc
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc
并用新編譯的二進制文件替換舊的 zabbix_sever.
and replace the old zabbix_sever with new binary compiled.
但是,當我在zabbix中創建Database Monitor"項時,仍然出現錯誤:在此處輸入圖片描述
However, When I create "Database Monitor" item in zabbix,there is still an error: enter image description here
所以我運行 su - zabbix -c "ldd/usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1"
看起來沒問題
So I run su - zabbix -c "ldd /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1"
it appears ok
su - zabbix -c "ldd /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1"
linux-vdso.so.1 => (0x00007fffe21ee000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f1ad095e000)
libm.so.6 => /lib64/libm.so.6 (0x00007f1ad06d9000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1ad04bc000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f1ad02a3000)
libclntsh.so.11.1 => /usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1 (0x00007f1acdd72000)
libodbcinst.so.1 => /usr/lib64/libodbcinst.so.1 (0x00007f1acdb61000)
libc.so.6 => /lib64/libc.so.6 (0x00007f1acd7cd000)
/lib64/ld-linux-x86-64.so.2 (0x000000373c600000)
libnnz11.so => /usr/lib/oracle/11.2/client64/lib/libnnz11.so (0x00007f1acd404000)
libaio.so.1 => /lib64/libaio.so.1 (0x00007f1acd203000)
libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x00007f1accffa000)
我真的不知道錯誤是什么意思
I really do not know what the error means
推薦答案
那是因為你的 zabbix 服務器不知道去哪里尋找 Oracle 庫.嘗試將環境變量LD_LIBRARY_PATH導出到zabbix服務器
That because your zabbix server doesn't know where to look for the Oracle lib. Try to export environment variable LD_LIBRARY_PATH to the zabbix server
不知道你用的是什么操作系統,我用的是 CentOS 7
Don't know what OS you are using, I'm on CentOS 7
創建/etc/sysconfig/zabbix-server 文件,并使用
create /etc/sysconfig/zabbix-server file, and edit with
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/oracle/12.1/client64/lib"
export LD_LIBRARY_PATH
然后重啟zabbix-server
then restart zabbix-server
這篇關于創建“數據庫監視器"時無法打開 lib '/usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1zabbix 中的項目的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!