On Fri, Oct 05, 2007 at 09:07:48AM +0100, Martin Evans wrote:
> Peter McLarty wrote:
> >Hi
> >Running some redhat servers and created some scripts that use DBI and
> >DBD::Oracle to access our 10.2.0.3 databases.
> >The script was built and tested and has been used successfully on dual
> >core 64bit Xeon CPU servers and with as best as we can tell an identical
> >installation on some new quad core servers the script fails with the above
> >error.
> >
> >We have tried a later version of DBI we were using the 1.40 version
> >installed as a RPM and have installed 1.59 using perl and make.
> >
> >DBD::Oracle is 1.19
> >
> >I have some strace output from where it fails running a simple piece of
> >code that simply connects the the system as / and runs select * from dual
> >as well as then would do a couple of log switches
>
> It may be easier to diagnose with a DBI trace instead of an strace (see
> DBI_TRACE in DBI pod). In particular what are the full errors here:
>
> write(2, "Had to create DBD::Oracle::dr::i"..., 140) = 140
> write(2, "Use of uninitialized value in su"..., 129) = 129
> brk(0x925000) = 0x925000
> write(2, "Had to create DBD::Oracle::db::i"..., 140) = 140
> write(2, "Use of uninitialized value in su"..., 129) = 129
> write(2, "Undefined subroutine &DBD::Oracl"..., 139) = 139
The problem will be some kind of mismatch between the Oracle.pm and
Oracle.so (.sl / .whatever extension your shared libraries have).
I suggest you carefully find and remove all traces of DBD::Oracle and
reinstall it. (Mainly delete all files under all perl @INC dirs that
match DBD/Oracle.*)
If you still have problems after that then post a one liner that
demonstrates the problem:
perl -MDBI -e 'DBI->connect("...", ...)'
and we'll talk you through getting more info to diagnose the problem.
Tim.