如何捕獲問題SQL解決過度CPU消耗的問題

kakaxi9521發表於2020-10-19
  1. 登入資料庫主機,使用vmware檢查是否有大量佇列堆積。     

    vmstat 3

  2. 使用top命令檢視cpu的耗用,發現有沒有明顯過高的CPU使用的程式。

    top -H

  3. 檢查程式數量。 

    ps -ef | grep ora|wc -l

  4. 檢查資料庫

    select sid, event, p1, p1text from v$session_wait;

  5. 捕獲相關SQL

          SELECT sql_text

  FROM v$sqltext a

 WHERE a.hash_value =

       (SELECT sql_hash_value FROM v$session b WHERE b.SID = '&sid')

 ORDER BY piece ASC;

      6. 決定建立新的索引以消除全表掃描。

      7. 觀察系統情況。


轉發連結:

https://mp.weixin.qq.com/s?__biz=MzI2NzM1OTM4OA==&mid=2247491225&idx=1&sn=ac866f3d0bbba602e31aa53ca880b74f&chksm=ea815b6addf6d27c0f85b9b84c237e4ca93f497fe293c31877990cef9259c6ab8450745b31be&scene=21#wechat_redirect

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

相關文章