Your data. Anywhere you go.

New Relic for iOS or Android


Download on the App Store    Android App on Google play


New Relic Insights App for iOS


Download on the App Store


Learn more

Close icon

Relic Solution: Oracle On Host Integration and Common Issues

oracle
on-host-integrations

#1

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

Pre-Requisites!
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 >
/etc/ld.so.conf.d/oracle-instantclient.conf”
sudo ldconfig

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.


ORA-01017 . invalid username/password; logon denied\n". This message could mean several things:

  • The credentials are incorrect
  • The is_sys_dba: true flag 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.