熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Windows環境中Kill掉Oracle線程

2013-11-13 22:20:59  來源: Oracle 

  你遇到過下面類似的情況嗎?一個用戶進程長期占用資源而不釋放導致Oracle進程占用了系統的大量資源Oralce系統的效率變得很低如果簡單的關閉重啟Oracle 實例勢必影響所有的用戶有沒有辦法僅僅只Kill掉有問題的用戶進程而不用關閉整個Oralce實例呢?答案是可以的使用Oralce提供的一個名叫Orakill的工具
  
  大家都知道Windows 是一個基於線程的操作系統而不是象UnixLinux那樣基於進程的操作系統整個Oracle的後台進程用戶進程等在Windows 環境下都包含在ORACLEEXE這單獨的一個體系進程中了通過查看任務管理器――進程就可以看到如果你不是使用MTS多線程服務器的模式如果你Kill掉ORACLEEXE這個進程將導致整個Oracle實例關閉如同使用Shutdown abort命令一樣
  
  由於Windows自己沒有提過一個專門用來Kill掉單個線程的工具因此Oracle從Oracle開始自己提供了一個基於字符界面的用來在Windows環境下強制Kill掉一個線程的工具――Orakill
  
  Orakill的使用方法如下
  
  Dos提示符下:>orakill sid thread
  
  說明 sid Oracle的Sid號
  
  thread Oracle的線程id號
  
  在Sql*plus工具裡面可以查詢到Oracle的線程號
  
  sql:>Select pspid THREADID sosuser sprogram
  
  sql:>From v$process p v$session s
  
  sql:>Where paddr = saddr
  
  結果如下
  
  THREADID OSUSER         PROGRAM
  
  
  
      SYSTEM         ORACLEEXE
  
      SYSTEM         ORACLEEXE
  
      SYSTEM         ORACLEEXE
  
      SYSTEM         ORACLEEXE
  
      SYSTEM         ORACLEEXE
  
      SYSTEM         ORACLEEXE
  
      SYSTEM         ORACLEEXE
  
      SYSTEM         ORACLEEXE
  
  
  
  
  
      PROD_NT\djones     SVRMGRLEXE
  
      SSMITHPC\ssmith    SQLPLUSWEXE
  
   rows selected
  
  需要注意的是如果你Kill掉的是Oracle的核心後台線程(DBWR LGWR SMON or PMON)將導致Oracle實例關閉檢查Oracle的核心後台線程的方法如下
  
  sql:>Select vbname NOME vpprograme PROCESSNAME vpspid THREADID vssid SID
  
  sql:>From v$session vs v$process vp v$bgprocess vb
  
  sql:>Where vbaddr <> and
  
  sql:>vbpaddr = vpaddr and
  
  sql:>vpaddr = vspaddr
  
  查詢結果如下
  
  NOME PROCESSNAME             THREADID SID
  
  
  
  PMON ORACLEEXE                
  
  DBW ORACLEEXE                
  
  LGWR ORACLEEXE                
  
  CKPT ORACLEEXE                
  
  SMON ORACLEEXE                
  
  RECO ORACLEEXE                
  
  SNP ORACLEEXE                
  
  SNP ORACLEEXE                
  
   rows selected
From:http://tw.wingwit.com/Article/program/Oracle/201311/18840.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.