We are encountering a similar issue at our company, but it seems to be very specific in what it is affecting. Whenever we build DBI/DBD::Oracle against Oracle 9.2 on either Linux or Solaris (32-bit; I did the trick you mentioned), it connects and is able to select from local tables, but against an 8i database (specifically 8.1.7), selecting from another database across a database link causes an ORA-07445 (ORA-03113 is reported to the client). SQL*Plus does not appear to do this -- only DBD::Oracle does.
More clearly (since there's a lot of version numbers involved and I tend
to make things clearer in bullet points :):
* The version of the Oracle client where we are building DBI /
DBD::Oracle is 9.2 (Linux - 9.2.0.3.0, Solaris - 9.2.0.1.0). Other
clients (9.0.1, 8.1.7) do not exhibit this problem.
* For Solaris, I explicitly built against $ORACLE_HOME/lib32 as
described previously. The Linux version is only 32-bit, so that does
not apply.
* The version of the database we are connecting to via said Oracle
client (either by SQL*Plus or DBD::Oracle) is 8.1.7 (8.1.7.2.0 Solaris
to be specific). When connecting to 9.0.1 / 9.2.0 databases it works
properly.
* The version of the database which we are accessing across a database
link does not appear to matter; we have replicated this error with the
2nd database being 8.1.7, 9.0.1, or 9.2.0.
* The issue happens with any remote SELECT statement, including the
following simple example:
select * from [EMAIL PROTECTED]
where remotedb is the name of the database link.
* The issue does NOT happen when using SQL*Plus on the client, only DBI
and DBD::Oracle.
* I have replicated this issue with DBI 1.32/DBD::Oracle 1.12, as well
as the most recent versions (DBI 1.35/DBD::Oracle 1.13). In the former,
the error is reported as an ORA-3113 by the die(); the most recent
version dies with "Bad hash" and the 3113 only shows up when
DBI->trace() is set sufficiently high (5?). In either case, the server
core dumps the process with an ORA-07445.
* The client OS versions are as follows:
- Solaris 8 (Generic_108528-14), gcc 2.95.3
- Red Hat Linux Advanced Server 2.1, kernel 2.4.9-e.12smp,
glibc-2.2.4-31.7, gcc 2.96-116.7.2
Please let me know if you need any further information and thank you for
your assistance!
# Chris
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Tuesday, March 25, 2003 9:41 AM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: RE: DBD:Oracle for Oracle 9.0.2 and 9.2 ?
To build with Oracle 9.x and the current version of DBD-Oracle. You care
going to have to hack the generated Makefile to change all the Oracle
library paths from lib to lib32. And to run you are going to have to
update
your SHLIB_PATH to point to $ORACLE_HOME/lib32.
Lincoln
-----Original Message-----
From: Tim Bunce [mailto:[EMAIL PROTECTED]
Sent: Tuesday, March 25, 2003 5:38 AM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: DBD:Oracle for Oracle 9.0.2 and 9.2 ?
On Tue, Mar 25, 2003 at 09:04:41AM +0100, [EMAIL PROTECTED]
wrote:
> Hi all,
>
>
>
> Currently in a project to convert our existing 7.3.4 and 8.1.7
Databases
> to Oracle9i.( Either the 9.0.1 or 9.2 version ) Now I'm having some
> problems connecting to some test databases I have setup. Do I need to
> upgrade my perl version or Dbi / DBD version to be able to connect?
You could try just rebuilding them, but upgrading may be a good idea.
Tim.
> I keep getting the :
>
>
>
> DBI->connect(servwhDBMET) failed: ORA-03113: end-of-file on
> communication channel (DBD: login failed)
>
>
>
> Error and this points to an incorrect sqlnet communication between the
> client and the server.
>
>
>
> Any help is greatly appreciated.
>
>
>
> Kind regards
>
>
>
> Bjorn Naessens
>
> system engineer
>
>
>
>
>
trace5-dbi1.35-dbdoracle1.13.log
Description: Binary data
