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

使用Windows工具管理Nt上的Oracle數據庫

2013-11-13 22:15:30  來源: Oracle 

  TOP

  Top 工具可以監視最消耗系統資源的進程

  Pid 即process idWindows是多線程服務器每個進程包含一系列線程這個與UNIX不同Unix每個Oralce進程獨立存在在Nt上所有線程由Oralce進程衍生

  所以只用TOP工具我們還無法找出每個連接的用戶進程

  

  


  % ????:: No Name Found % ????:: System % B?? ?:: CSRSSEXE % ? ?:: rundllexe % C? ?:: AOMexe % E? ?:: XDICTEXE % ? ?:: NetCaptorexe % F? ?:: oracleexe % ? ?:: SQLPLUSEXE

  如果windows上由於某個進程的sql或其他問題導致資源過度占用或消耗比如如下這樣一條語句那麼我們怎樣來找到這條問題sql呢?

  

  QSLICE

  找到最消耗資源的線程號本例中為(ec)進制需要轉換v$process視圖中的進程ID為十進制

  

  使用getsqlsql腳本即可獲得當前正在執行的SQL語句

  REM getsqlsql REM author eygle REM 在windows上已知進程ID得到當前正在執行的語句 REM 在windows上進程ID為進制需要轉換在UNIX直接為進制 SELECT /*+ ORDERED */ sql_text FROM v$sqltext a WHERE (ahash_value aaddress) IN ( SELECT DECODE (sql_hash_value prev_hash_value sql_hash_value ) DECODE (sql_hash_value prev_sql_addr sql_address) FROM v$session b WHERE bpaddr = (SELECT addr FROM v$process c WHERE cspid = TO_NUMBER (&pid xxxx))) ORDER BY piece ASC /

  運行以上腳本:

  

  ok找到這最消耗資源的問題SQL接下來就可以進行針對性調整了

  相關工具下載地址

  iceoasp


From:http://tw.wingwit.com/Article/program/Oracle/201311/18618.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.