国产探花免费观看_亚洲丰满少妇自慰呻吟_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報告推測本次故障與數據庫中幾個涉及臨時表創建和操作的存儲過程有關,在存儲過程執行中有大量的全表掃描和直接路徑讀并伴隨大量的物理讀操作。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴安盟| 肇州县| 都安| 西贡区| 东港市| 灯塔市| 淳化县| 山阴县| 深泽县| 九江市| 临武县| 合川市| 双柏县| 长白| 双牌县| 郸城县| 宁都县| 乐亭县| 山东| 宜城市| 清苑县| 根河市| 莱州市| 蒲江县| 扶沟县| 民县| 垫江县| 大新县| 轮台县| 西城区| 白山市| 宝山区| 锡林浩特市| 额济纳旗| 桃园市| 德阳市| 湘阴县| 潞西市| 神木县| 鸡泽县| 秦安县|