2011-04-04 28 views
0

我正在使用IIS計數器來監視IIS的「bussiness」。特別我喜歡2人:oracle請求計數器

  1. 當前匿名用戶(誰目前有WWW服務掛起匿名請求的用戶數量在IIS 6.0,當前用戶(匿名或非匿名)是目前的請求數。服務器)
  2. 總匿名用戶(誰已經建立了匿名請求自WWW服務啓動。當文件被從內核緩存中,此計數器不會增加用戶的數量。)
正在處理

因爲我的瓶頸是數據庫,這正好是Oracle 10g,我想知道是否有類似的計數ers可以從Oracle服務器(在數據庫級別)獲取。

從基本上講,我想知道有多少數據庫請求ABC正在等待我的請求服務,以及有多少請求服務自上次重置,當天初始...

我怎麼能得到這個Oracle服務器的數據?

回答

2

V$SESSION可用於確定當前有多少數據庫會話處於活動狀態。此查詢將顯示用戶會話的數量(而不是Oracle數據庫自身創建的後臺會話)在當前時刻處於活動狀態。您可能希望進一步將此限制爲其中中間層所連接的用戶爲USERNAME的活動會話數,或者從中創建會話的MACHINE是您的中間層服務器之一。

SELECT COUNT(*) 
    FROM v$session 
WHERE status = 'ACTIVE' 
    AND type = 'USER' 

對於Web瀏覽器的「服務請求數量」,Oracle沒有簡單的映射。從數據庫的角度來看,「請求」何時開始和結束都沒有任何標記。您可能會計算事務數量,但Oracle數據庫本身會不斷在後臺發出事務,如果您想採取一種可以緊密映射到所服務網頁數量的措施,則可能會導致問題。

但是,這就是說,使用計數器來診斷和監視Oracle數據庫性能並不是一個特別好的主意。 Oracle擁有更復雜的監控和調優工具。根據版本(標準版或企業版)以及您是否授權使用性能和調優軟件包,您最好從數據庫成爲瓶頸時的時間段抓取AWR report,並分析該版本以查看需要的內容調整。

+0

我很喜歡V $ SESSION,但是從我的測試中,通過用戶名進行的活動會話的數量讓我對數據庫性能的描述不是很清晰...... O結束時我希望有一些代表工作負載的數值的要求 – bensiu 2011-04-04 15:41:35

+2

@bensiu - 什麼是不清楚?我發佈的查詢會告訴你當前有多少會話正在執行。我同意這可能不是一個特別有用的指標,可用於Oracle數據庫的使用量,但它幾乎是您的第一個請求的完美類比。如果您確實需要單個數字,我更願意使用來自AWR報告的總數據庫時間/經過時間線。但是,將性能降至單一數字是一個令人難以置信的有損過程。 – 2011-04-04 15:47:25

+2

是不是單號42? – DCookie 2011-04-05 03:29:10