Re: Processes not dying

From: Lee Parsons <lparsons_at_eskimo.com>
Date: 1995/04/21
Message-ID: <D7D480.J2A_at_eskimo.com>#1/1


>Bradley Edelman <brad_at_adied.oz.au> writes:
>1. Are you running client server applications via SQLNET V1?
> If so accept that this will always happen. Upgrading to SQLNET V2 would
> help as V2 is better able to cope with this problem.

If Bradley is using V1+TCP he can set the TCP keepalive timer to something reasonable (network purists will tell you there is no reasonable number :) and use 'ofile' or 'lsof' to check and see if the socket has been closed. If so the process could be killed. I've done this at sites before and it works rather well for the narrow environment of TCP+SQLNet V1.

Sqlnet 2.1 includes "dead man detection" which zaps idle orphan processes. Sqlnet 2.2 should kill orphan shadow tasks that are still process queries.

>4. Occasionally fire off a shell script or batch file that chacks for
> oracle processes running up silly amounts of CPU time and either alerts
> you via mail or automatically deletes them.

If the program is run on the server, it could register it's PID with the script. If the script later finds children associated with the PID but doesn't find PID it could kill the children.

Depending on the System however, it might not be easy to identify that a shadow task was associated with a PID after that PID has died.

-- 
Regards, 

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

Original text of this message