程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle優化CPU使用的實際操作方案詳解

Oracle優化CPU使用的實際操作方案詳解

編輯:Oracle數據庫基礎

如果你在Oracle優化CPU使用的實際應用方面,你是否存在一些不解之處,以下的文章主要是通過對Oracle優化CPU使用Oracle優化CPU使用的實際應用的方案的介紹,來解答你在Oracle優化CPU使用時在實際操作方面的問題。

Oracle優化CPU使用率

本人很喜歡Oracle,在工作中也很喜歡總結關於Oracle優化CPU使用率的經驗教訓,下面就這個問題來詳細說說吧。CPU是服務器的一項重要資源,服務器良好的工作狀態是在工作高峰時CPU的使用率在90%以上。如果空閒時間Oracle優化CPU使用率就在90%以上,說明服務器缺乏CPU資源;如果工作高峰時Oracle優化CPU使用率仍然很低,說明服務器CPU資源還比較富余。

查看Oracle優化CPU使用率

使用操作相同命令可以看到CPU的使用情況,一般Unix操作系統的服務器,可以使用“sar u”命令查看Oracle優化CPU使用率,Windows NT操作系統的服務器,可以使用性能管理器來查看CPU的使用率。

查看數據庫使用CPU的時間

可以通過查看V$SYSSTAT數據字典中“CPU used by this session”統計項得知Oracle數據庫使用的CPU時間,查看“OS User level CPU time”統計項得知操作系統的用戶態下CPU時間,查看“OS System call CPU time”統計項得知操作系統的系統態下CPU時間,操作系統總的CPU時間就是用戶態和系統態時間之和。

如果Oracle數據庫使用的CPU時間占操作系統總的CPU時間90%以上,說明服務器CPU基本上被Oracle數據庫使用著。反之,則說明服務器CPU被其它程序占用過多,Oracle數據庫無法得到更多的CPU時間。

數據庫管理員還可以通過查看V$SYSSTAT數據字典來獲得當前連接Oracle優化數據庫各個會話占用的CPU時間,從而得知什麼會話耗用服務器CPU比較多。出現CPU資源不足的情況是很多的,SQL語句的重解析、低效率的SQL語句、鎖沖突都會引起CPU資源不足。

查看SQL語句的解析情況

數據庫管理員可以執行下述語句來查看SQL語句的解析情況:

  1. SELECT * FROM V$SYSSTAT   
  2. WHERE NAME IN   
  3. ('parse time cpu', 'parse time elapsed', 
    'parse count (hard)');  

這裡“parse time cpu”是系統服務時間,“parse time elapsed”是響應時間,用戶等待時間waite time = parse time elapsed - parse time cpu。

由此可以得到用戶SQL語句平均解析等待時間=waite time / parse count。這個平均等待時間應該接近於0,如果平均解析等待時間過長,數據庫管理員可以通過下述語句來發現是什麼SQL語句解析效率比較低。

  1. SELECT SQL_TEXT, PARSE_CALLS, EXECUTIONS FROM V$SQLAREA   
  2. ORDER BY PARSE_CALLS;  

程序員可以優化這些語句,或者增加Oracle參數SESSION_CACHED_CURSORS的值。以上介紹Oracle優化CPU使用率。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved