国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Oracle數據庫CPU使用率過高處理記錄

2019-11-09 13:39:28
字體:
來源:轉載
供稿:網友

一、問題描述

運行在Windows上的Oracle開發庫的oracle進程CPU使用率保持在99%,服務器和數據庫均反應緩慢。

二、排查思路

可能造成CPU使用率高的情況有:大量排序、大量SQL解析、全表掃描、Oracle Bug等。因此希望找到占用CPU較高的進程ID(UNIX或linux)或線程ID(Windows)來找到對應的SQL語句,以分析問題的原因。

三、處理步驟

1. 下載PRocess explorer工具,用于查看Windows環境下的進程和線程信息。

2. 雙擊oracle.exe進程,查看oracle的線程信息,按照CPU使用率倒序排序,找到占用CPU較高的TID。(如在UNIX或LINUX系統中,使用top命令即可獲得占用CPU較高的進程ID,使用進程ID去數據庫中查找對應信息即可)

3. 使用上面找到的TID代入下面的SQL查詢對應的SQL語句或會話信息。

SELECT sql_text FROM v$sqltext a WHERE (a.hash_value, a.address) IN (SELECT DECODE(sql_hash_value, 0, prev_hash_value, sql_hash_value),DECODE(sql_hash_value, 0, prev_sql_addr, sql_address) FROM v$session b WHERE b.paddr =(SELECT addr FROM v$process c WHERE c.spid = '&pid')) ORDER BY piece ASC;

select id,serial# ,username,osuser,machine,program,process,to_char(logon_time,'yyyy-mm-dd hh24:mi:ss') logon from v$session where paddr in ( select addr from v$process where spid in('&pid'));4. kill掉查出的會話,記錄查出的SQL語句待后續分析。

四、總結:

在進行第三步的時候遇到狀況:使用找出的TID在數據庫中查不到對應的SQL和會話信息。為先恢復數據庫服務,直接kill了占用CPU較高的幾個線程,后續通過分析AWR和ASH報告推測本次故障與數據庫中幾個涉及臨時表創建和操作的存儲過程有關,在存儲過程執行中有大量的全表掃描和直接路徑讀并伴隨大量的物理讀操作。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海丰县| 海兴县| 祁阳县| 景宁| 德昌县| 南充市| 凤山市| 治多县| 连平县| 博白县| 台安县| 印江| 镇平县| 盐津县| 大理市| 时尚| 博客| 康乐县| 瑞安市| 梅河口市| 五河县| 崇仁县| 林州市| 论坛| 万源市| 海安县| 栖霞市| 正镶白旗| 盐边县| 新疆| 达尔| 通山县| 剑河县| 吴堡县| 阿克| 巴中市| 夏河县| 屏南县| 聂荣县| 凤庆县| 噶尔县|