• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 735
  • Last Modified:

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
0
bkreynolds48
Asked:
bkreynolds48
  • 6
  • 5
  • 4
1 Solution
 
FishMongerCommented:
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.
0
 
RindbaekCommented:
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?
0
 
bkreynolds48Author Commented:
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
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
FishMongerCommented:
If you haven't already done so, you should read the module's documentation to see it it answers your question.

DBD::Oracle
0
 
RindbaekCommented:
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.

0
 
bkreynolds48Author Commented:
That doc talks about connecting not installing
0
 
RindbaekCommented:
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


0
 
bkreynolds48Author Commented:
oracle home is /export/home/oracle/product/10_2
I use both korn and bash shells - currently logged in with korn shell
0
 
FishMongerCommented:
The first error message show an extra / in the path.  Could that be what's causing it to fail?
0
 
RindbaekCommented:
does your $PATH contain the /export/home/oracle/product/10_2/bin
?
0
 
bkreynolds48Author Commented:
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
0
 
FishMongerCommented:
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
0
 
RindbaekCommented:
indeed i was also starting to look at that search as well ;-)
0
 
RindbaekCommented:

if on solaris this could be prove to be very good:
http://coding.derkeiler.com/Archive/Perl/perl.dbi.users/2006-12/msg00029.html
0
 
bkreynolds48Author Commented:
That worked -  thanks
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 6
  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now