轉:oracle資源管理組 resource manager

Oracle資源管理器簡介


  Oracle資源管理器(Oracle Database Resource Manager,以下簡稱DBRM)管理數據庫資源,爲不同的會話分配不同的數據庫資源。DBRM管理的資源主要包括CPU時間。下面分以下幾個章節介紹:


  Oracle DBRM幫你處理哪些問題


  Oracle DBRM是怎樣處理這些問題的


  Oracle DBRM包含的內容


  Oracle DBRM資源分配方法


  Oracle DBRM的權限管理


  Oracle DBRM幫你處理哪些問題


  當數據庫服務器資源由操作系統來分配時,你可能會遇到以下問題:


  過多的資源開銷


  當服務器進程數很多時,操作系統進程和數據庫服務進程間的來回切換會導致CPU佔用率或內存使用率高。


  低效的調度


  操作系統調度數據庫服務時佔用寄存器,這樣做效率很低。


  資源分配的不合理


  操作系統平均分配系統資源給活動的進程(對數據庫進程來說),不能判斷它們的優先級高低。


  不能管理數據庫特有的資源,例如:並行執行的服務數和活動的會話數。


  Oracle RMDB是如何解決這些問題的


  Oracle RMDB把硬件等資源的分配交給數據庫服務器本身來解決以上問題。在某個數據庫環境中,可能同時存在着多個用戶請求數據庫服務,並且他們所要完成的任務優先級不同,那麼我們就應該區別對待這些會話請求。Oracle RMDB能讓你根據各個會話的應用屬性,將它們分組,然後爲每組分配不同的數據庫資源,最大化提高你的數據庫應用性能。


  Oracle RMDB的具體功能:


  RMDB可以在系統啓動時,限制某些會話請求只分配到最少的進程資源和用戶使用上限。


  爲不同的用戶或應用分配不同的CPU時間。在一個數據倉庫應用中,ROLAP(relational online analytical processing)應用分配到的比例就應該比批處理任務高。


  限制同一組內用戶對數據庫操作的並行度。


  建立一個活動的會話池。會話池由一組用戶活動會話組成,對某一組用戶來說,同一時間活動的會話數有特別的數量上限。如果會話池滿了,新的會話請求會被放入等待隊列,而且你還可以設置一個時間上限,超過這個上限,等待隊列會被停止。會話池限制了同一時間活動的會話請求數量,保證了活動的會話請求更快的完成任務。


  管理長時間未響應的會話或請求,這些會話或請求往往佔用了很多的CPU或I/O資源。這些會話能被自動的結束掉,或者將它們換到其他低級的組去。


  優化器會估算請求的運行時間,如果超出了某個顯示,RMDB會阻止它的請求。


  限制一個會話的空閒等待時間。


  根據不同的資源分配需求,配置不同的模式。你可以動態的改變這些模式,例如,從白天運行模式變到夜間運行模式,而不用重啓數據庫服務。你還可以通過Oracle調度器來管理模式的改變。


  Oracle RDMB的組成元素


  下表介紹了Oracle RDMB的組成元素。


  元素描述


  資源使用組根據會話的資源請求將它們分爲一組。RDMB按組管理會話的資源分配,而不是按單個的會話。


  資源計劃資源計劃包含一系列指令,這些指令就決定了給每個組的資源分配配置。要執行資源的分配,你只需執行相應的資源計劃。


  資源計劃指令資源計劃指令指定了資源計劃和組之間的映射關係。


  Oracle是通過存儲過程來實現這些功能的,你可以在以下包裏找到這些存儲過程:DBMS_RESOURCE_MANAGER.


  資源使用組


  資源使用組由許多用戶會話組成,這些會話有相同的資源使用請求。新創建一個會話時,RDMB會根據你的設定自動把它分配到某個組。數據庫管理員還可以手動的調整某個會話所屬的組。


  下面三類特別的組是系統組,它們不能被修改或刪除。


  SYS_GROUP


  DEFAULT_CONSUMER_GROUP


  OTHER_GROUP


  資源計劃指令


  RDMB根據當前活動資源計劃中的一系列資源計劃指令爲資源使用組分配資源。資源計劃和指令間有着一對多的關係,資源計劃中不能包含兩條相同的指令。


  有很多種不同分配資源的指令,例如給某個組分配一定百分比的總的CPU時間,或者限制一個組內最大活動的會話數。


  資源計劃


  在一個數據庫中同一時間只有一個資源計劃起作用。一個資源計劃還可以包含子資源計劃。每個資源計劃都必須包含給OTHER_GROUP分配支援的指令。


  例子:一個簡單的資源計劃


  下圖顯示的是包含OLTP(online transaction processing)應用和報表系統數據庫系統的白天的資源分配計劃。


  它爲OLTP應用分配75%的CPU時間,爲報表系統分配15%的CPU時間,剩下的是爲OTHER_GROUPS分配的。






  子資源計劃


  資源指令除了給組分配資源,還可以爲其他資源計劃分配資源,被分配資源的計劃成爲子計劃。下圖是一個包含子計劃的資源計劃的例子。






  DBRM管理的內容


  資源分配方法指定資源分配給組或子計劃的百分比。DBRM管理的資源包括以下內容:


  CPU Time


  Active Session Pool With Queuing


  你可以設定某組的最大活動會話數,會話池滿後,新的會話會被放入等待隊列。


  Degree Of Parallelism Limit


  限制並行運行的會話數。


  Automatic Consumer Group Switching


  此功能類似於觸發器機制,當某個會話滿足設定的條件,它會自動被分配到其他組中去。


  Cancelling SQL and Terminating Sessions


  DBRM可以取消那些長時間運行的SQL查詢或會話活動。


  Excution Time Limit


  DMRM可以估算某個操作的運行時間,如果超過了設定的值,數據庫不會執行它。


  Undo Pool


  Idle Time Limit


  設定一個會話的最長未響應時間。




原文出自【比特網】,轉載請保留原文鏈接:http://soft.chinabyte.com/database/161/12244161.shtml
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章