ID:               3910
 Updated by:       [EMAIL PROTECTED]
 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] [EMAIL PROTECTED]

No feedback from user.

--Jani

------------------------------------------------------------------------

[2000-08-01 23:30:25] [EMAIL PROTECTED]

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

Reply via email to