2009-05-21 72 views
2

我是Oracle 10g資源管理器的新手,正在尋找關於如何制定計劃以實現我的目標的指導。我會測試這個計劃,但我希望得到一些指導,所以我不必嘗試數百種不同的計劃配置。我有以下目標:Oracle資源管理器計劃設計

  1. 不要讓非sys會話顯着減慢sys會話。
  2. 不要讓任何OLTP用戶會話顯着減慢任何其他OLTP用戶會話。
  3. 不要讓批處理減慢OLTP。

鑑於這些目標,我首先想到的是創建以下的消費羣體/計劃指令:

Consumer Group  Level 1  Level 2 Level 3 
SYS     100%   0%  0% 
OLTP1     0%   10%  0% 
OLTP2     0%   10%  0% 
OLTP3     0%   10%  0% 
OLTP4     0%   10%  0% 
OLTP5     0%   10%  0% 
OLTP6     0%   10%  0% 
OLTP7     0%   10%  0% 
OLTP8     0%   10%  0% 
OLTP9     0%   10%  0% 
OLTP10     0%   10%  0% 
BATCH     0%   0%  100% 

使用這種方法每個OLTP用戶可以放在不同的OLTP組(假設10個用戶)。這個文檔並不十分清楚,但是聽起來好像OLTP1組中的OLTP用戶需要的分享率超過了10%,只要每個其他OLTP組在需要的時候獲得10%就可以獲得它。我的理解是否準確?這會工作還是有更好的方法?

回答

3

我會簡化這一點,如果他們有相同的要求,爲OLTP做一個組。只有在新組的要求與其他組的要求不同時,才能創建新組。還要確保當OLTP用戶啓動長時間運行的重負荷過程時,該會話切換到批處理組,或根本不啓動。 當CPU消耗爲100%時,資源管理器纔會啓動。從這一點開始,它將開始分配資源,以確保每個組根據您的指令獲得應該獲得的內容。 其他要考慮的事情是最大並行度,會話池和(從11g起)撤消使用和IO限制。

最好的問候, 羅納德 http://ronr.blogspot.com

+0

感謝您的答覆。我還沒有嘗試過。我創建多個OLTP組的原因是,沒有一個OLTP應用程序會踐踏其他OLTP應用程序。如果他們都在同一個組中,失控的應用程序可能會使用該組的所有處理時間,而不會爲其他應用程序留下任何內容。通過在消費達到100%時將它們隔離,失控的OLTP應用程序將被限制到10%,併爲其他OLTP應用程序留出充足的處理時間。這聽起來合理嗎? – 2009-07-15 13:45:23