Question
I'm looking for a way to kill dead zombie process
(those where the user has alt+ctrl_del then and not ended
normally (besides the parameter in the sqlnet
which
doesn't seems to do the work (SQLNET.EXPIRE_TIME = 10).
Answer.
A zombie process in Oracle is ma process that appears on the
OS but is defunct to Oracle because the connections between
Oracle and the OS was disconnected. There are several
ways to kill a zombie process from the operating system.
Killing session with Oracle can be a challenge and
different procedures exist within Windows and UNIX. Here are
the steps that I use to kill an Oracle session:
1 - Gather zombie session information from
Oracle
2 - Kill the zombie at the OS-level
3 -
Kill the session within Oracle using the "alter system kill
session" command:
a) UNIX - I always locate the
Server PID (SPID) from v$process and issue the UNIX
kill -9 command.
The Windows command to kill this
session would be as follows.
c:\oracle9i\bin>orakill
ORCL92 768
One methods for zombie identification is to
use the ps command to identify idle processes:
root> ps aux | awk '{ print $8 " "
$2 }' | grep -w Z
See my notes on
killing dead zombie processes from the server side.
|
|
Get the Complete
Oracle SQL Tuning Information
The landmark book
"Advanced Oracle
SQL Tuning The Definitive Reference" is
filled with valuable information on Oracle SQL Tuning.
This book includes scripts and tools to hypercharge Oracle 11g
performance and you can
buy it
for 30% off directly from the publisher.
|