I have PHP 4.0.6 compiled as an Apache 1.3.20 module with OCI8 and MySQL
on RedHat 6.2.  I use persistent connections with OCI8 to avoid the
costly connection construction for Oracle for each request.  However, I
notice that these persistent connections get "poisoned" under certain
circumstances.  What I mean by this is this:

Since each persistent connection stays with it's corresponding Apache
process, if the database happens to be down when a request comes in, the
persistent connection that is used throws an ORA-03113.  However, even
when the database comes back, the persistent connection still thinks the
database is down somehow, and will continue to throw the ORA-03113
error.  As a result, if a request happens to hit the poisoned Apache
process, it appears the database is down.  If a request hits another
Apache process, all is OK.

So far, the only way I've seen to deal this is to restart Apache, and
have the persistent connections build up again.  Obviously, this is not
a good thing, and if the database should go down again, the persistent
connections get poisoned again, and the cycle begins.

How can this be dealt with?  Any help would be great, as customers don't
like having to refresh the page to avoid error messages.  If any more
info or clarification is needed please contact me.

Thank you,

Hans



-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to