Win NT/2000 is a thread based Operating System and not process based Operating System like Unix. Oracle user and background processes are not multiple processes but, threads with in oracle.exe process. 'orakill' is oracle provided utility to kill a particular resource intensive thread under oracle.exe process. For help type in at the DOS prompt C:\>orakill /?

The following query can be used to get the sid, thread id of a particular resource intensive thread.

SQL> select sid, spid as thread, osuser, s.program
2 from sys.v_$process p, sys.v_$session s
3 where p.addr = s.paddr;

SID THREAD OSUSER PROGRAM
-------- --------- --------------- -------------------------------------
1 000C5 UNKNOWN ORACLE73.EXE
2 0013F UNKNOWN ORACLE73.EXE
3 00140 UNKNOWN ORACLE73.EXE
4 0005F UNKNOWN ORACLE73.EXE
5 0011C UNKNOWN ORACLE73.EXE
6 0009A UNKNOWN ORACLE73.EXE
7 00101
8 000C0
12 00148 SYSTEM D:\ORANT805\agentbin\DBSNMP.EXE
18 001FC scott SQLPLUS.EXE
9 001F2 adam C:\WINNT\Profiles\All Users\Start Menu\AFF_PFC.LNK
36 00206 mark SVRMGR.EXE
31 000E1 cathy AFFAIRS.EXE
15 00204 Julie C:\Documents and Settings\julie\Start Menu\Programs\AFFS.lnk


Say the query from user scott is consuming lot resources and it can be killed by running orakill utility as follows.

C:\>orakill 18 001FC


[Edited by sreddy on 03-29-2001 at 10:49 AM]