Orphan sessions

From: David Budac <davidbudac_at_gmail.com>
Date: Wed, 22 Jun 2011 04:55:51 -0700 (PDT)
Message-ID: <6ea63edf-ae06-49f2-a422-61f4fcc04a9d_at_j25g2000vbr.googlegroups.com>


I have a question regarding "dead" inactive, orphan sessions. Sometimes, there's a situation in which a client application (a webserver on a remote machine) dies horribly and leaves an orphan session (dedicated server mode) in the database. The user process at the webserver no longer exists, but the shadow process, the database session, remains inactive, holding all the resources and locks - which is a bit of a problem as it usually blocks other transactions. In such cases, we have to manually identify these sessions and kill them off ourselves. The PMON then takes over and releases the resources and locks, as described in 1020720.102 and a few other notes, and leaves the sessions in the Killed state.

Now, I understand that this is correct behaviour, but I'm wondering if there's a way or a feature that would look for such cases automatically. The only sort of applicable thing I found is the SQLNET.EXPIRE_TIME=xxx parameter but it doesn't really work for us in this case.

The databases are Oracle (on 64bit Win2k3 machines), the clients are your typical IIS's using ODP.NET, using their own connection pooling and connecting in dedicated server mode.

David Received on Wed Jun 22 2011 - 06:55:51 CDT

Original text of this message