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