How to solve database client installation issues in SQL-Toolkit plugin
The SQL-Toolkit plugin requires the respective database clients to be installed on the Netprobe machine. This article also applies to Oracle, Sybase and Sybase Server plugins. Database Client Installation For monitoring individual databases, the respective database client (e.g. Oracle Client) will need to be installed on the Netprobe machine. Please refer to the section named Configure the Netprobe and database client libraries in the SQL-Toolkit Plugin User Guide. Version Compatibility From time to time there are changes in operating systems and databases. Please refer to the Compatibility Matrix if the versions of software are supported by ITRS. 32-bit and 64-bit Database Libraries - Netprobe version GA5 and above are available for 64-bit only, the database client must also be 64-bit. - Older Netprobe versions had been provided for both 32-bit and 64-bit, users should be cautious to install the same bit version of the database client. The filename of Netprobe binary can usually determine its bit version. The _64 suffix means that it is 64-bit, otherwise it is likely 32-bit.
- 32-bit: netprobe.linux, netprobe.sun, netprobe.sunx86, netprobe.aix - 64-bit: netprobe.linux_64, netprobe.sun_64, netprobe.sunx86_64, netprobe.aix_64, netprobe.windows_64.exe For Linux and Unix, the “file” command can show whether an executable or library file is 32 or 64 bit. 64-bit Netprobe
$ file ./netprobe.linux_64 ./netprobe.linux_64: ELF 64-bit LSB executable, x86-64, version 1 (SYSV)
64-bit Oracle Client
$ file libclntsh.so.11.1 libclntsh.so.11.1: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV)
Errors in Netprobe Log Unable to locate Database Client If Netprobe is unable to locate the database client, users can check the Netprobe log for errors. Example error message for Oracle database:
libclntsh.so: cannot open shared object file: No such file or directory
Example error message for Sybase ASE database:
libsybintl_r64.so: cannot open shared object file: No such file or directory libintl_r64.so: cannot open shared object file: No such file or directory
- Check if the binary does exist. If you have a newer version of the database client binary make sure that a soft link is made. Example below.
[agalorio@pugo client]$ ls -l libclntsh.so* lrwxrwxrwx. 1 sandbox sandbox 17 Nov 16 2020 libclntsh.so -> libclntsh.so.12.1 -rwxrwxr-x. 1 sandbox sandbox 71638263 Jan 26 2017 libclntsh.so.12.1
-
Users should check the LD_LIBRARY_PATH environment variable to include the database client’s library path. There are additional environment variables that are specific to database vendors. Please refer to the section named Configure the Netprobe and database client libraries in the SQL-Toolkit Plugin User Guide.
-
If the Netprobe is configured with setuid/setcap permissions, the Linux runtime loader may skip the LD_LIBRARY_PATH environment variable. Please refer to the section named Running Netprobe under Elevated Privileges in Linux in the Netprobe User Guide.
-
For Netprobe running on AIX machines, please check both LIBPATH and LD_LIBRARY_PATH environment variables. While LIBPATH is used mostly on older AIX versions, it can override the LD_LIBRARY_PATH variable.
-
Please take note of possible permission issues if Netprobe and database client are installed with different usernames.
-
The Netprobe process should be restarted if it had been running. Error: DBMS API client not set
-
The Netprobe had been enhanced to support additional databases over the years. The SQL-Toolkit plugin may be configured with a database that was not supported in older Netprobe versions. Please check the Geneos Compatibility Matrix and upgrade the Netprobe as needed. - Some users reported the error that the Netprobe may encounter trouble parsing empty variables. Please check the SQL-Toolkit sampler configuration, in particular the sampler group field. 32-bit Netprobe but with 64-bit Database Client
wrong ELF class: ELFCLASS64
64-bit Netprobe but with 32-bit Database Client
wrong ELF class: ELFCLASS32
32-bit and 64-bit Mismatched on IBM AIX (The below error message is for Oracle database with library file libclntsh.so)
Could not load module libclntsh.so. System error: Exec format error
32-bit and 64-bit Mismatched on Windows (The below error message is for Oracle database with library file oci.dll)
oci.dll: %1 is not a valid Win32 application
Further Reading - Compatibility Matrix - Netprobe User Guide (Quickstart: Linux and other platforms) - SQL-Toolkit Plugin User Guide