Zombie sessions

From: Viktor Kaufmann <viktor_at_mgr.hjf.org>
Date: 1995/10/10
Message-ID: <45edvl$7gp_at_info.usuhs.mil>#1/1


I have a question regarding processes left behind by clients which have been killed. We have noticed that when we have a network glitch, or if a user reboots their client, the user frequently leaves behind a zombie process on the database, which occassionally maintains its locks, and doesn't go away without an explicit kill command, or until a database shutdown. Infrequently, this will result in our nightly shutdown/backup process hanging during shutdown (using shutdown immediate). All of our client sqlnet.ora files have the line "sqlnet.expire_time=10" in them. [I just added that line to the server copy of sqlnet.ora, although I'm not sure that it makes a difference.]

The SQL*Net documentation, or at least the parts I've read, seems fairly vague on how sqlnet.expire_time works. From what I can tell, this merely enables the client to tell the server has died, but not the other way around.

So, how can I get Oracle to detect and kill these zombies? Or, how can I tell the difference between an active client and a zombie client?

We are running:

  Oracle 7.1.6.2
  SQL*Net 2.1.6.1

  on a Sun Solaris 2.4 patch 101945-27

Thanks much,

Viktor Kaufmann Received on Tue Oct 10 1995 - 00:00:00 CET

Original text of this message