This definitely looks like an oracle issue. But I am a little confused about your topology. It seems like you are show ORACLE making a DBD-Oracle call. Is that right? Oh I get it, the second arrow in you diagram should be "using" right? Hmmm...
-----Original Message----- From: Tim Bunce [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 26, 2003 6:55 AM To: Chris R. Donnelly Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: DBD:Oracle for Oracle 9.0.2 and 9.2 ? On Tue, Mar 25, 2003 at 01:12:55PM -0600, Chris R. Donnelly wrote: > 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. > > * 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. Is the DBD::Oracle link command the same for both 9.2 and 9.0? If not, what are the differences? > * The version of the database we are connecting to via said Oracle > client (either by SQL*Plus or DBD::Oracle) is 8.1.7 > When connecting to 9.0.1 / 9.2.0 databases it works properly. Is this accurate?: Client -> Server -> SQL*Plus DBD::Oracle 9.2 9.2 Ok Ok 9.2 9.0 Ok Ok 9.2 8.1 Ok Fails 9.0 any Ok Ok 8.1 any Ok Ok Where "Fails" means that everything works ok except remote database links? > * 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?). Umm, -> execute for DBD::Oracle::st (DBI::st=HASH(0x81c28cc)~0x80fbe1c) dbd_st_execute SELECT (out0, lob0)... OCIErrorGet after OCIStmtExecute (er1:ok): -1, 3113: ORA-03113: end-of-file on communication channel !! ERROR: 3113 'ORA-03113: end-of-file on communication channel (DBD ERROR: OCIStmtExecute)' <- execute= undef at ./foo.pl line 10 1 -> FETCH for DBD::Oracle::st (DBI::st=HASH(0x80fbe1c)~INNER 'ParamValues') Bad hash at ./foo.pl line 10. Try doing $sth->{ShowErrorStatement}=0; before the execute(). > In either case, the server core dumps the process with an ORA-07445. If the server core dumps then please raise the issue with Oracle support. Ultimately server core dump == server bug (even if only in the sense that it simply shouldn't ever core dump). Tim.
