Solved

change oracle home in dbd and dbi for perl

Posted on 2010-11-15
15
723 Views
Last Modified: 2013-12-18
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
Comment
Question by:bkreynolds48
  • 6
  • 5
  • 4
15 Comments
 
LVL 28

Expert Comment

by:FishMonger
ID: 34136559
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
 
LVL 8

Expert Comment

by:Rindbaek
ID: 34136560
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
 
LVL 1

Author Comment

by:bkreynolds48
ID: 34136574
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
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 28

Expert Comment

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

DBD::Oracle
0
 
LVL 8

Expert Comment

by:Rindbaek
ID: 34136606
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
 
LVL 1

Author Comment

by:bkreynolds48
ID: 34136607
That doc talks about connecting not installing
0
 
LVL 8

Expert Comment

by:Rindbaek
ID: 34136657
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
 
LVL 1

Author Comment

by:bkreynolds48
ID: 34136679
oracle home is /export/home/oracle/product/10_2
I use both korn and bash shells - currently logged in with korn shell
0
 
LVL 28

Expert Comment

by:FishMonger
ID: 34136732
The first error message show an extra / in the path.  Could that be what's causing it to fail?
0
 
LVL 8

Expert Comment

by:Rindbaek
ID: 34136753
does your $PATH contain the /export/home/oracle/product/10_2/bin
?
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 34136769
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
 
LVL 28

Expert Comment

by:FishMonger
ID: 34136790
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
 
LVL 8

Expert Comment

by:Rindbaek
ID: 34136817
indeed i was also starting to look at that search as well ;-)
0
 
LVL 8

Accepted Solution

by:
Rindbaek earned 500 total points
ID: 34136846

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
 
LVL 1

Author Closing Comment

by:bkreynolds48
ID: 34137135
That worked -  thanks
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
how to replace '&' and '()' in sql query for oracle using regex 8 73
PL/SQL Two changes 7 27
PL SQL Developer 7 32
grant user/role question 11 28
How to Create User-Defined Aggregates in Oracle Before we begin creating these things, what are user-defined aggregates?  They are a feature introduced in Oracle 9i that allows a developer to create his or her own functions like "SUM", "AVG", and…
There are many situations when we need to display the data in sorted order. For example: Student details by name or by rank or by total marks etc. If you are working on data driven based projects then you will use sorting techniques very frequently.…
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
This video shows how to copy a database user from one database to another user DBMS_METADATA.  It also shows how to copy a user's permissions and discusses password hash differences between Oracle 10g and 11g.

776 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