Ian--

I very occasionally get these errors while using DBI and DBD::Oracle under
mod_perl. I find that it generally happens when a random, perfectly good SQL
statement causes the Oracle process dump the connection and write the reason
to alert.log.

Try doing the following: from your oracle home, run:
> find . -name 'alert*' -print
Go to that directory, read the alert files, and look through any
corresponding trace files. The trace files contain the sql that actually
cause the trace dump.

I find that I can usually rewrite the sql statement in such a way that it no
longer dumps core. Again, this happens _very_ rarely.

Hope this helps,
Ed

-----Original Message-----
From: Ian Kallen [mailto:[EMAIL PROTECTED]]
Sent: Monday, May 22, 2000 9:37 PM
To: [EMAIL PROTECTED]
Subject: DBD::Oracle && Apache::DBI



I've done everything I can think of to shore up any DB connection
flakiness but I'm still plagued by errors such as these:
DBD::Oracle::db selectcol_arrayref failed: ORA-12571: TNS:packet writer
failure
...this is only a problem under mod_perl, outside of the
mod_perl/Apache::DBI environment everything seems fine.  Once the db
connection is in this state, it's useless until the server gets a restart.

My connect strings look good and agree, I put Stas' ping method in the
DBD::Oracle::db package, set a low timeout,  called Oracle (they don't
want to hear about it).  Everything is the latest versions of
mod_perl/Apache/DBI/DBD::Oracle connecting to an Oracle 8.1.5 db on
Solaris.  Is Apache::DBI not up to it?  (it looks simple enough)

Maybe there's a better persistent connection method I should be looking
at?

--
Salon Internet                          http://www.salon.com/
  Manager, Software and Systems "Livin' La Vida Unix!"
Ian Kallen <[EMAIL PROTECTED]> / AIM: iankallen / Fax: (415) 354-3326

Reply via email to