The Oracle On Host Integration in conjunction with the Infrastructure Agent is one of the more useful and complex integrations to get working properly. This post will go into some of the more common problems in configuring this integration.
A good source of truth here is the documentation. Our current docs on this integration are here: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/oracledb-monitoring-integration
One of the more common problems that trip this integration up is that the pre-requisites are not installed or configured properly:
Oracle Instant Client: If you see a message in the Infrastructure log file like this:
time=“2019-03-12T11:26:42-04:00” level=debug msg=“plugin returned no output” data prefix=config/oracledb plugin name=oracle-metrics
time=“2019-03-12T11:26:42-04:00” level=error msg=“executing data source” data prefix=config/oracledb error=“exit status 1” plugin name=oracle-metrics stderr="[ERR] ORA-00000: DPI-1047: 64-bit Oracle Client library cannot be loaded: “libclntsh.so: cannot open shared object file: No such file or directory”. See https://oracle.github.io/odpi/doc/installation.html#linux for help\n"
This means that the Oracle Instant Client isn’t installed or configured. The Instant client can be downloaded from here: http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html
If you have the Oracle Instant Client installed and are still seeing an error message, running ldconfig , which will rebuild the cache file, will help resolve that.
You’ll also want to make sure this step is following after installing the Oracle Instant Client (adjust to your version):
sudo sh -c “echo /usr/lib/oracle/18.3/client64/lib >
Then confirm that installation was successful by running:
ldconfig -p | grep libclntsh
More Info on the Oracle Instant Client is here: https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
Oracle Home – This must be installed and configured properly for the integration to work.
We call out
oracle_home: <Path to where ORACLE_HOME> in the configuration file, but it is good to verify that the path is correct. Here’s how to do that:
env | grep -i ORACLE_HOME ORACLE_HOME=/oracle/product/bin
Common Error Messages:
- ORA-1804 – the full error message is here:
time=“2019-03-13T10:32:16-04:00” level=error msg=“executing data source” data prefix=config/oracledb error=“exit status 1” plugin name=oracle-metrics stderr="[ERR] ORA-01804: Error while trying to retrieve text for error ORA-01804\n"
This means that Oracle Home is not configured properly or the PATH is incorrect in the configuration file.
invalid username/password; logon denied\n". This message could mean several things:
- The credentials are incorrect
is_sys_dba: trueflag is incorrect in the Integration config file.
- Incorrect Service Name
If the credentials are correct, then one of the first things to try is the
is_sys_dba flag. Try setting that to either True or False and see if you get results.
Running the Integration manually
Another way to diagnose Oracle Integration problems is to run the integration manually on the host. Here’s the command for that.
ORACLE_HOME=/path/to/oracle/home /var/db/newrelic-infra/newrelic-integrations/bin/nr-oracledb -username -password -hostname -port -service_name -verbose
This can give you more feedback as to what’s going on with the integration.
I do hope this is helpful. Please comment below if you have any feedback for me.