Learn how to a build a cloud-first strategyRegister Now


Oracle Module Error - AIX

Posted on 2011-05-03
Medium Priority
Last Modified: 2013-11-17
I have installed DBD::Oracle  Perl module on AIX 5.3 TL11. I see that I have no issues compiling this module but when I plan to use the module, here is the error

$ cat Oracle_loadid.err
Can't load '/usr/opt/perl5/lib64/site_perl/5.8.8/aix-thread-multi-64all/auto/DBD/Oracle/Oracle.so' for module DBD: racle:      0509-022 Cannot load module /usr/opt/perl5/lib64/site_perl/5.8.8/aix-thread-multi-64all/auto/DBD/Oracle/Oracle.so.
        0509-150   Dependent module /optware/oracle/product/11.1.0/client_1/lib32/libclntsh.so could not be loaded.
        0509-103   The module has an invalid magic number.
        0509-022 Cannot load module /usr/opt/perl5/lib64/site_perl/5.8.8/aix-thread-multi-64all/auto/DBD/Oracle/Oracle.so.

I have no missing files

$ ls -l /usr/opt/perl5/lib64/site_perl/5.8.8/aix-thread-multi-64all/auto/DBD/Oracle/Oracle.so
-r-xr-xr-x    1 root     system       479114 Feb 08 11:08 /usr/opt/perl5/lib64/site_perl/5.8.8/aix-thread-multi-64all/auto/DBD/Oracle/Oracle.so*

$ ls -l /optware/oracle/product/11.1.0/client_1/lib32/libclntsh.so
-rwxr-xr-x    1 oracle   dba        36972652 Feb 25 2009  /optware/oracle/product/11.1.0/client_1/lib32/libclntsh.so*
Question by:mnis2008
LVL 68

Accepted Solution

woolmilkporc earned 2000 total points
ID: 35688308
Hi again,

obviously your LIBPATH points to the 32-bit version of libclntsh.so (/optware/oracle/product/11.1.0/client_1/lib32/)

Your 64-bit Perl needs the 64-bit version of the Oracle client library.

You must modify LIBPATH to point to /optware/oracle/product/11.1.0/client_1/lib/  

Attention: This might introduce problems if there are 32-bit (non-Perl) applications which need the 32-bit version!

If this is relevant for you you'll need to build a special environment for Perl scripts accessing Oracle (e.g. by sourcing a dedicated initialization file before running the Perl scripts).


Expert Comment

ID: 35690856
Or,  you could use PERL5LIB instead of modifying LIBPATH.  
In your case, I think this DBD::oracle perl module needs to be compiled using all 64-bit libraries.

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This post first appeared at Oracleinaction  (http://oracleinaction.com/undo-and-redo-in-oracle/)by Anju Garg (Myself). I  will demonstrate that undo for DML’s is stored both in undo tablespace and online redo logs. Then, we will analyze the reaso…
From implementing a password expiration date, to datatype conversions and file export options, these are some useful settings I've found in Jasper Server.
Via a live example, show how to restore a database from backup after a simulated disk failure using RMAN.
In a previous video, we went over how to export a DynamoDB table into Amazon S3.  In this video, we show how to load the export from S3 into a DynamoDB table.
Suggested Courses
Course of the Month20 days, 14 hours left to enroll

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question