#3910 [Opn->Csd]: persistent connections persist even after a kill session has been done on them.

From: Date: Fri, 08 Aug 2003 09:46:26 +0000
Subject: #3910 [Opn->Csd]: persistent connections persist even after a kill session has been done on them.
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-45561@lists.php.net to get a copy of this message
ID: 3910 Updated by: sniper@php.net Reported By: guage at usa dot net -Status: Open +Status: Closed Bug Type: Oracle related Operating System: Linux - Redhat 6.1 -PHP Version: php 4.0.01pl2 +PHP Version: 4.0.01pl2 New Comment: wrong version -> bug got lost, but is propably fixed in later versions of PHP anyway. Previous Comments: ------------------------------------------------------------------------ [2000-08-21 12:26:06] guage at usa dot net OciLogoff seems to do something now but does not clear a connection that has been killed on the oracle server (at least when ociplogon is used). The only way to recover from this situation is to restart the httpd server. I have tried to create a new connection via ociplogon but it continues to try to use the old connection which was killed. OCIPlogon returns a success but ociexecute returns an error. connecting to oracle Connected successfully ^- does a ociplogon Warning: OCIStmtExecute: ORA-00028: your session has been killed in orabugtest.php on line 12 ^--- this is from a ociexecute killing session !!!!! <--- this does a ocilogoff Warning: failed to rollback outstanding transactions!: ORA-01012: not logged on in orabugtest.php on line 16 Warning: OCIFetchStatement: OCI_INVALID_HANDLE in orabugtest.php on line 18 ------------------------------------------------------------------------ [2000-08-21 12:19:48] guage at usa dot net Bug still exists. I have verified for php 4.0.1pl2 Thanks... ------------------------------------------------------------------------ [2000-08-20 01:54:04] sniper@php.net No feedback from user. --Jani ------------------------------------------------------------------------ [2000-08-01 23:30:25] waldschrott@php.net Please verify that it´s still happening using the latest version of PHP (release 4.0.1pl2 or CVS). ------------------------------------------------------------------------ [2000-03-23 13:59:49] guage at usa dot net In reading the source code in Beta 4.0 it states that OCILogoff doesn't do anything anymore. This is a problem because when a session is killed on the database side the connection remains for ever on the server and you receive ORA-0028 errors when ever you hit an httpd server which has that particular session. The only solution is to restart the httpd server. To reproduce: 1. create a script which does an ociplogon and then executes a statement. 2. hit reload several times to increase the chance you will hit an httpd after you kill a session which has already established a connection to the database. 3. on the server type: select username,sid,serial# from v$session where username = '<username you connected with in ociplogon>'; 4. do a: alter system kill session '<sid>,<serial#>'; for each of the sessions. 5. hit reload on your browser. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=3910&edit=1

« previous php.bugs (#45561) next »