【orakill】使用Oracle的orakill命令徹底殺死Windows環境下Oracle執行緒

secooler發表於2009-11-30
1.orakill命令怎麼用?
透過在command命令列直接使用orakill命令便可得到簡單但清晰的實用使用指導。
需要注意的是:“
sid”指的是“instance name”,不要被名字誤導!
C:\>orakill

Usage:  orakill sid thread

  where sid    = the Oracle instance to target
        thread = the thread id of the thread to kill

  The thread id should be retrieved from the spid column of a query such as:

        select spid, osuser, s.program from
        v$process p, v$session s where p.addr=s.paddr

2.
orakill命令何時用?
1)當手工使用“alter system kill session 'sid,serial#';”命令殺資料庫中的session後,會話資訊可能還會駐留在資料庫中。使用這個orakill命令便可在作業系統一級可以徹底清除之;
2)從作業系統一級直接殺掉某個異常的會話。

3.
orakill命令這樣用
sys@secooler> col sid for 9999
sys@secooler> col serial# for 9999
sys@secooler> col spid for 99999
sys@secooler> col OSUSER for a20
sys@secooler> col program for a30
sys@secooler> select s.sid, s.serial#, p.spid, s.osuser, s.program from v$process p, v$session s where p.addr=s.paddr order by s.sid;

  SID SERIAL# SPID    OSUSER               PROGRAM
----- ------- ------- -------------------- --------------------
  147       9 2300    BJSECDB\Housw        sqlplus.exe
  149       2 5904    SYSTEM               ORACLE.EXE (q001)
  151       2 3096    SYSTEM               ORACLE.EXE (q000)
  155       9 2884    SYSTEM               ORACLE.EXE (QMNC)
  158      17 5588    SYSTEM               ORACLE.EXE (J000)
  159       3 1088    BJSECDB\Housw        sqlplus.exe
  160       1 4776    SYSTEM               ORACLE.EXE (MMNL)
  161       1 4308    SYSTEM               ORACLE.EXE (MMON)
  162       1 3224    SYSTEM               ORACLE.EXE (CJQ0)
  163       1 5780    SYSTEM               ORACLE.EXE (RECO)
  164       1 2272    SYSTEM               ORACLE.EXE (SMON)
  165       1 2804    SYSTEM               ORACLE.EXE (CKPT)
  166       1 2696    SYSTEM               ORACLE.EXE (LGWR)
  167       1 4876    SYSTEM               ORACLE.EXE (DBW0)
  168       1 5668    SYSTEM               ORACLE.EXE (MMAN)
  169       1 4644    SYSTEM               ORACLE.EXE (PSP0)
  170       1 1112    SYSTEM               ORACLE.EXE (PMON)

17 rows selected.

資料庫的例項名字是“secooler”,我們打算殺死SPID是“2300”這個session,那麼方法如下:
sys@secooler> host orakill secooler 2300

Kill of thread id 2300 in instance secooler successfully signalled.

secooler
09.11.30

-- The End --

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-621035/,如需轉載,請註明出處,否則將追究法律責任。

相關文章