Oracle CPU使用率過高問題處理

weixin_30588675發表於2020-04-05

1.下載Process Explorer

2.開啟Process Explorer,檢視CPU使用情況最高的程式

3.雙擊該程式,檢視詳情

\

4.    獲取cpu使用最好的執行緒tid

5.    查詢sql_id

  1. select sql_id from v$session  
  2.   where paddr in(  
  3.     select addr from v$process  
  4.     where spid in('16796','11972','9812','11652','5484')  
  5.  )  

6.根據5中的sql_id查詢具體執行佔用CPU過高的sql語句

  1. select * from v$sqlarea where sql_id in(sql_id1,sql_id2,sql_id3...);  

7.查詢sid和serial#

  1. SELECT sid,serial#,sql_id from v$session where sql_id in(sql_id1,sql_id2,sql_id3...)  

8.殺掉程式

  1. alter system kill session 'sid,serial#';  

或批量殺程式

  1. SELECT 'alter system kill session '''||sid||','||serial#||''';' from v$session where sql_id in(sql_id);  

 

9.分析SQL進行優化

轉載於:https://www.cnblogs.com/hyl8218/p/7505012.html

相關文章