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 Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php