Link to home
Create AccountLog in
Avatar of bkreynolds48
bkreynolds48

asked on

change oracle home in dbd and dbi for perl

I need to change the oracle home from 9 to 10 in the DBD and DBI scripts that our reports use when they run perl.  I don't know exactly what steps to take - can someone give me specific steps to change and recompile the DBD and DBI so that they use the new oracle home?  Our programmer used to take care of all of this so I don't really know anything about it.  I have looked through the readmes but don't see where you change the oracle home and how you recompile these things
Avatar of FishMonger
FishMonger
Flag of United States of America image

What version of DBD::Oracle and DBI are you using?

I've never worked with Oracle, but my read of the DBD::Oracle doc indicates that it should work with Oracle 9 thru 11.

What error messages are you receiving?

Please post your code, but obfuscate anything confidential, such as the db user and password.
you normally set those values as environmental values. on unix they are often set in the .profile for the user that execute the scripts. So what operative system do you use and if unix/linux what shell does you executing user use?
Avatar of bkreynolds48
bkreynolds48

ASKER

ld: fatal: file /export/home/oracle/product/10_2/lib//libclntsh.so: wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to blib/arch/auto/DBD/Oracle/Oracle.so
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `blib/arch/auto/DBD/Oracle/Oracle.so'


I was able to do
 /usr/local/bin/perl Makefile.PL              
    make
    make test

for DBI
now for DBD I get the above error
If you haven't already done so, you should read the module's documentation to see it it answers your question.

DBD::Oracle
Contrary to fishmonger im the dba/sysadmin guy, with almost no knowledge about perl

You could also have a look at this: http://search.cpan.org/~timb/DBD-Oracle-1.26/Oracle.pm#DESCRIPTION

Theres a couple of sections regarding oracle connections.

That doc talks about connecting not installing
as tsated im not a perl programmer but i did find this line:
 BEGIN {
     $ENV{ORACLE_HOME} = '/home/oracle/product/10.x.x';
...
}

any how i could see that you used unix/linux
this will give you the shell used:  
echo $SHELL

this will show if the ORACLE_HOME is set (and to what)
echo $ORACLE_HOME

it should be run as the user executing the reports


oracle home is /export/home/oracle/product/10_2
I use both korn and bash shells - currently logged in with korn shell
The first error message show an extra / in the path.  Could that be what's causing it to fail?
does your $PATH contain the /export/home/oracle/product/10_2/bin
?
echo $PATH
/usr/bin::/usr/bin:/usr/ccs/bin:/usr/local:/usr/local/bin:/usr/sbin:/usr/ucb:/export/home/oracle/product/10_2/bin:/usr/local/j2sdk1.4.2_03/bin
I'm just starting to review some of these google hits, which you may want to look over.

google search: Oracle wrong ELF class: ELFCLASS64
indeed i was also starting to look at that search as well ;-)
ASKER CERTIFIED SOLUTION
Avatar of Rindbaek
Rindbaek
Flag of Denmark image

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
That worked -  thanks