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

首頁 > 數據庫 > Oracle > 正文

Oracle進程導致CPU 100%解決步驟

2024-08-29 13:50:18
字體:
來源:轉載
供稿:網友
  Oracle進程導致CPU 100%解決步驟   1-- 檢查系統  sar -u 5 5  2-- 看誰在用CPU  topas   ps -ef grep ora #檢查第四列,C的大小(unit,100 per cpu)  3-- 檢查CPU數量

 

 

  /usr/sbin/bindPRocessor -q

   

  lsattr El proc0

   

  4-- 2種可能:

   

  1) A Background (instance) process

   

  2) An oracle (user) process #此種可能最大。

   

  5-- 假如是用戶進程:那么高CPU的主要原因有:

   

  Large Queries, Procedure compilation or execution, Space management and Sorting

   

  5.1-- 查看每個session的CPU利用情況:    select ss.sid,se.command,ss.value CPU ,se.username,se.program

    from v$sesstat ss, v$session se

    where ss.statistic# in

    (select statistic#

    from v$statname

    where name = 'CPU used by this session')

    and se.sid=ss.sid

    and ss.sid>6

    order by ss.sid  5.2-- 比較上述Session,看那個session的CPU使用時間最多,然后查看該Session的具體情況:    select s.sid, event, wait_time, w.seq#, q.sql_text

    from v$session_wait w, v$session s, v$process p, v$sqlarea q

    where s.paddr=p.addr and

    s.sid=&p and

    s.sql_address=q.address;  5.3-- 得到上述信息后,查看相應操作是否有hash joins 和 full table scans。假如有hash joins 和 full table scans那么必須創建相應的Index或者檢查Index是否有效。

   

  另外必須檢查是否有并行的查詢存在和同一時刻有多個用戶在執行相同的SQL語句,假如有必須關閉并行的查詢和任何類型的并行提示(hints);假如查詢使用intermedia數據,那么為了減少總的Index大小,必須限制使用Intermedia的Worldlist。(try restricting the Wordlist that intermedia uses to help redUCe the total indexsize)。

   

  6-- 上述方案只能根據已經運行完成的操作,對于正在執行的長時間操作只能等操作完成后才能檢測得到。因此我們可以通過另外一個很好的工具來檢測正在運行的長時間操作語句。v$session_longops,這個視圖顯示那些操作正在被運行,或者已經完成。每個process完成后會刷新本視圖的信息。

   

  7-- 怎樣尋找集中使用CPU的Process:

   

  很多時候會發現有N個Process在平均分享著CPU的利用率,這種情況唯一的可能性就是這些Process在執行著相同的Package或者Query.

   

  這種情況:建議通過statspack,在CPU高利用率額時候運行幾個快照,然后根據這些快照檢查Statspack報告,檢查報告中最TOP的Query。然后使用 sql_trace and tkprof 工具去跟蹤一下。同時檢查buffer cache 的命中率是否大雨95%。

   

  同時在報告中還需要檢查一下table scans (long tables),看是否在報告生成期間有存在全表掃描。

   

  8-- 另外還有一些不是非凡重要的,但是也必須關心檢查的參數可能消耗CPU。

   

  parallel query 并行查詢:

   

  并行查詢最好用于數據倉庫的環境下,那種情況任何時候只有幾個用戶在同時使用。在一個聯機事務處理環境中,當同時許多用戶去并行查詢一個數據庫的巨大表時候,會導致CPU的爆滿。所以最好在數據庫的級別關閉并行查詢:設置參數如下:    parallel_min_server = 0    parallel_max_server = 0    parallel_automatic_tuning = false;

  在配置上述參數后,假如SQL語句中使用的并行的提示,那么還是有可能會出現并行查詢的情況,所以還需要繼續監視相關的SQL語句,假如有就去除提示,以達到目的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平泉县| 土默特左旗| 河北区| 双城市| 潞西市| 旬阳县| 海门市| 宣恩县| 盐津县| 彰化县| 汽车| 中宁县| 印江| 宁强县| 嘉黎县| 贞丰县| 获嘉县| 广饶县| 深州市| 宜宾市| 东丰县| 金沙县| 惠州市| 南皮县| 井陉县| 临沂市| 扎囊县| 梨树县| 柳河县| 汾西县| 南靖县| 河源市| 开阳县| 潮州市| 水富县| 牡丹江市| 汶川县| 东光县| 通州市| 淳安县| 贺州市|