程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 獲得Oracle系統性能統計其實很簡單

獲得Oracle系統性能統計其實很簡單

編輯:Oracle數據庫基礎

以下的文章主要介紹的是獲得Oracle系統性能統計的實際操作步驟,有很多的人都問過我關於Oracle的性能相關問題。例如什麼是性能慢?如何正確的量化性能統計?問題我不一一列出了,下面的文字大部分來自Oracle 英文文檔。

如果有效地診斷性能問題,則進行性能統計必不可少。Oracle能夠產生基於整個系統表現的、或者基於會話的、或者基於單個SQL語句的統計數據。Oracle也可以在段和服務追蹤和獲取統計數據的累積值。

當我們關注某個方面的性能問題時,我們只需將該范圍的統計數據拿來,並作出判斷。一種典型方法是取得采樣期間統計數據的“首”“尾”,判斷期間的差異,並據此得出新能問題所在的判斷。

統計數據,通常是自系統啟動後到當前的累計統計數據,可以通過諸如V$SESSTAT V$SYSSTAT等動態視圖獲得。因此,任何一次數據庫系統的啟動關閉操作都會導致這些統計數據的重置。

Oracle系統性能統計:Oracle 10g/11g 包含了如下類型的統計數據:

AWR的統計數據,關於系統運行的累計統計;

度量值,關於累計統計差異性描述的變化值;

抽樣數據,關於激活會話的統計數據。

Oracle在10g版本中提供了自動的工作量資料檔案庫功能,簡稱AWR,就是自動進行性能取樣,數據涵蓋了除會話級別統計以外的大多統計。這個過程在一段時期內重復進行,每次取樣結果稱為一張AWR快照。每張快照之間的差異描述了系統性能狀態的改變,因此,這種快照代表了系統在取樣期間內的改變。

除此之外,Oracle還自動收集另一種類型的統計,稱之為:度量值。所謂度量,就是某個累計統計數據,在取樣期間內改變的程度、比率。“度量”能涵蓋各種性能方面,包括響應時間、事務處理吞吐量、數據庫調用數量、磁盤讀寫數量等。度量值可以通過對V$ 類型的動態視圖中獲得,v$視圖中的數據是一個相當小的時間間隔內的平均值,一般而言是60秒的期間。

Oracle系統性能統計:通過v$視圖可以獲得近期的度量值,遠期的度量值則可以通過AWR快照獲得。

還有一種Oracle收集的統計數據,稱之為抽樣數據。Oracle10g中新增了抽樣數據的取樣機制,稱之為自動的會話歷史記錄 ( ASH )。抽樣數據由ASH執行完成。ASH抽樣所有活躍會話當前狀態,抽樣數據被收集到內存中,通過V$視圖訪問。在AWR進行工作載荷取樣時,這類數據也被自動搜集。

Oracle10g提供了一種診斷系統性能問題的有力方法:對比法。首先,我們需要建立統計基准線。這個基准線可以采用系統在高效、穩定運行期間的統計數據集合。依據這個基准線集合,在系統出現性能出現問題的情況下,進行對比,發現問題所在。這種方法有效地解決了當我們面對數以千計的數據庫性能統計數據而一籌莫展的問題,避免我們陷入統計數據的海洋。

統計基准線的獲得通過AWR實現。通過AWR,我們指定度量基准線和保存AWR快照的時間范圍或一種類似指定,並把這段期間的統計數據作為統計基准線。顯然,這個時間范圍指定應慎重選擇。最合理的度量基線,應該是在系統正常載荷狀態下,具有良好性能狀態時,獲得的累計統計。這樣,在系統遭遇性能障礙時,通過好壞比較得到問題根源。

這裡所說的所有統計數據——實時性能數據,或者AWR歷史快照數據,我們都可以通過Oracle企業管理器(OEM)查看。不僅如此,企業管理器也能用來捕捉與AWR統計數據相關的操作系統和網絡統計的數據。

以上的相關內容就是對獲得Oracle系統性能統計的介紹,望你能有所收獲。

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