Re: Runaway shadow processes (HP9000)

From: Lee Parsons <lparsons_at_eskimo.com>
Date: 1995/04/22
Message-ID: <D7EvIB.DoC_at_eskimo.com>#1/1


<kenp_at_po3.net.cho.ge.com> wrote:
>We are encountering runaway user shadow processes for [...]
>SqlNet version 1 is being used so we have a shadow process
>for all user sessions.

The first best answer is to upgrade to Sqlnet V2.2 not V2.1.

	2.1 supports termination of orphan shadow tasks 
	(processes that are idle and have lost their clients) 

	2.2 should support killing of runaway shadow processes 
	(these processes are orphans that are consuming CPU)

If you cant upgrade, the only way I have ever found to automatically kill the processes was to set the TCP keepalive timer to a reasonable number (15 minutes - 30 minutes). Then use a program like "lsof" (available over the internet) to check to see if the process still has an open socket.

Basically once the TCP keepalive timer kicks in the socket is closed. lsof can detect that the socket is nolonger valid. So you can safely kill any shadow task that nolonger has a valid socket. (becareful to make sure that you dont kill new shadow tasks that havent finished opening the socket yet)

This isn't really as hard as it sounds. The data you need is provided by lsof. All you have to do is sort it and issue a kill based on it.

Please let me know if this is unclear or If I have left anything out.

The expectation of what Sqlnet V2.2 will do is based on conversations taht took place 6 months ago. I cant guarantee that the plans for 2.2 havn't changed.

-- 
Regards, 

Lee E. Parsons                  		
Systems Oracle DBA	 			lparsons_at_world.std.com
Received on Sat Apr 22 1995 - 00:00:00 CEST

Original text of this message