On Oct 26, 2020, at 7:31 PM, Garry T. Williams 
<gtwilli...@gmail.com<mailto:gtwilli...@gmail.com>> wrote:

On Monday, October 26, 2020 11:47:54 AM EDT David Nicol wrote:
if the Oracle module is maintained by red hat, yum update should
help. If you built it in-house, you may need to yum update the perl
development environment and reinstall.

This is good advice.

The original poster also should make sure the Oracle C-API libraries
are still installed properly on the client machine.

It's impossible to really tell from what the original poster wrote
what the code that is running is doing.  (The code he posted is a
shell script that executes the actual code, which is unknown to us.)

But...

It probably is DBD::Oracle running under DBI.  That is the preferred,
simple, and reliable way to access Oracle databases from Perl.  There
is no need to complicate things with an intermediate Java program.
Just use the direct interface to the Oracle C-API -- DBD::Oracle.

(I have used Perl DBD::Oracle for over 20 years on many different
operating systems and releases with zero problems.)

The error the original poster is getting is probably due to the
DBD::Oracle module never being updated to the new RHEL release.
Fixing it may require recompiling by hand, using CPAN.  (I do not know
if RHEL has an already-built DBD::Oracle module available from their
repositories.  I install from CPAN -- that is compile -- in Fedora.)

Or the client isn’t installed or the environment variables are not set 
properly, or, or...

RHEL, Fedora and CentOS do NOT include DBD::Oracle in their pre-built perl 
modules. Like Gary I’ve always had to build it with CPAN. You need to have an 
Oracle client setup installed first.

By far the simplest method is to install the Oracle Instant Client, (literally 
download the rpms from Oracle and run  yum localinstall rpmfile.rpm )  you need 
the base IC and the SDK rpms.

I usually also install the SQL*Plus package but that is not strictly necessary. 
It is, however, very useful for troubleshooting connectivity.

Then establish the ORACLE_HOME, LD_LIBRARY_PATH and TNS_ADMIN Environment 
variables and appropriate config file for the latter, then build DBD::Oracle in 
CPAN. I've never had an issue doing it that way.

If you’re using JDBC I think all you need is the base client install.


--
Bruce Johnson
University of Arizona
College of Pharmacy
Information Technology Group

Institutions do not have opinions, merely customs

Reply via email to