[ZBX-19659] improve doc how to install oracle client to use with agent2 Created: 2021 Jul 08  Updated: 2024 Nov 05

Status: Reopened
Project: ZABBIX BUGS AND ISSUES
Component/s: Documentation (D)
Affects Version/s: 5.0.13, 5.4.2
Fix Version/s: None

Type: Documentation task Priority: Major
Reporter: Oleksii Zagorskyi Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 8
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Sprint: Sprint 93 (Oct 2022), Product delivery backlog, Sprint 94 (Nov 2022), Sprint 95 (Dec 2022), Sprint 96 (Jan 2023), Sprint 97 (Feb 2023), Sprint 98 (Mar 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023), Sprint 101 (Jun 2023), Sprint 102 (Jul 2023), Sprint 103 (Aug 2023), Sprint 104 (Sep 2023), Sprint 105 (Oct 2023)

 Description   

Many zabbix user who try to use official solution have troubles. Items get unsupported with error:

Connection failed: ORA-00000: DPI-1047: Cannot locate a 64-bit Oracle Client library: "libclntsh.so: cannot open shared object file: No such file or directory". See https://oracle.github.io/odpi/doc/installation.html#linux for help.

It happens because by default oracle client is installed by default on a path which is not a part where dynamic linker is searching libraries.

I'm very sure it must be documented in zabbix documentation how to configure that.



 Comments   
Comment by Colum Flannigan [ 2022 May 24 ]

In the mean time is it possible someone can update this ticket with the correct steps needed?? i am trying to get an Oracle DB monitored right now and i face this exact error and i am not sure on the solution.

Comment by Denis [ 2022 Jun 07 ]

@colum.flannigan, make sure you have installed Oracle client or you have already a full installed Oracle database on this host. Specify the environment variables ORACLE_HOME and LD_LIBRARY_PATH for the zabbix-agent2 in the /etc/sysconfig/zabbix-agent2. For example (for CentOS 7),

# cat /etc/sysconfig/zabbix-agent2
ORACLE_HOME=/ora/db12
LD_LIBRARY_PATH=/ora/db12/lib:/lib:/usr/lib

Make sure you have the file $ORACLE_HOME/network/admin/tnsnames.ora (where the connection names are described, it will be used in {$ORACLE.SERVICE}). And don't forget to restart zabbix-agent2 daemon.

P.S. If you have multiple SIDs on one host (more than one instance), you need to make a clone of the host by changing the hostname and changing {$ORACLE.SERVICE}.

Comment by mc flurry flurryson [ 2022 Jul 07 ]

Working great for oracle with one instance, but what if I have 2 instances with different ORACLE_HOME/LD_LIBRARY_PATH paths?

Comment by Oleksii Zagorskyi [ 2022 Sep 06 ]

This article should be good source how that could be documented https://blog.zabbix.com/agentless-oracle-database-monitoring-with-odbc/15589/

Comment by Omer Faruk Balli [ 2024 Nov 05 ]

I did this on 5 different DB servers and it worked. But it did not work on 1 server. I did everything the same, I wonder where I should check? Does anyone have any idea? 

Fix: My problem was lack of permissions in a file. When I gave the correct permissions, my problem was fixed. 

chmod 755

Generated at Thu Apr 24 07:52:47 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.