【问题标题】:ERROR monitoring oracle by odbc in zabbix : Can't open lib '/usr/lib/oracle/12.2/client64/lib/libsqora.so.12.1'zabbix中odbc监控oracle的错误:无法打开lib'/usr/lib/oracle/12.2/client64/lib/libsqora.so.12.1'
【发布时间】:2021-05-01 02:35:59
【问题描述】:

我通过 Zabbix 安装 ODBC 来监控 Oracle 数据库,但出现错误:

无法打开 lib '/usr/lib/oracle/12.2/client64/lib/libsqora.so.12.1'

我在教程上做了所有事情,这是我的配置:

/etc/odbcinst.ini:

[OracleDriver]
Description=Oracle ODBC driver for Oracle 12g
Driver=/usr/lib/oracle/12.2/client64/lib/libsqora.so.12.1

/etc/odbc.ini:

[PEWDS]
Driver= OracleDriver
DSN= ROLF
ServerName= ROLF
UserID= zabbix
Password= zabbix

tnsnames.ora:

ROLF =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XXX)(PORT = 1539))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = EXAMPLE)
)
)

但是当我尝试连接 isql 时

 isql -v PEWDS

它可以工作并连接到 isql

我尝试关注this step too,从那一步开始,我应该制作包含 oracle home、ld 库路径、nls lang 和 tns admin 的 /etc/default/zabbix-server。然后我必须重新启动zabbix-server并执行此命令strings -a /proc/(pid number)/environ,但这并不能解决我的问题..

我也尝试制作 /etc/sysconfig/zabbix-server,但是当我重新启动 zabbix 服务器时,我收到 zabbix 服务器忽略无效环境分配的错误

有人可以帮帮我吗?

【问题讨论】:

    标签: oracle odbc monitoring oracle12c zabbix


    【解决方案1】:

    尝试在ld.so.conf中添加库路径

    sudo sh -c "echo /usr/lib/oracle/12.2/client64/lib/ > /etc/ld.so.conf.d/oracle-client.conf"
    sudo ldconfig
    

    【讨论】:

    • 它解决了“无法打开 lib '/usr/lib/oracle/12.2/client64/lib/libsqora.so.12.1”的问题,谢谢,但我得到了新的错误.. TNS:could不解析指定的连接标识符。显然 oracle 12c 使用端口 1539 但 zabbix 正在寻找端口 1521,我已经在 Oracle 数据库中将侦听器端口从 1539 更改为 1521 .. 你能再帮我一次吗?谢谢..还有其他方法可以让zabbix寻找1521端口吗?
    • 需要在zabbix用户的环境变量中添加$TNS_ADMIN=/path_to_tnsname.ora_directory。例如 $TNS_ADMIN=/usr/lib/oracle/12.2/client64/network/admin
    • 检查用户 zabbix 对文件 tnsnmanes.ora 的读取权限。
    猜你喜欢
    • 2020-03-14
    • 2016-07-27
    • 2017-01-05
    • 2018-08-24
    • 2014-05-24
    • 2014-10-14
    • 2020-04-12
    • 2014-10-01
    • 1970-01-01
    相关资源
    最近更新 更多