建立資源管理計畫

2021-09-10 02:16:28 字數 4108 閱讀 4551

第一步 建立pending area

所有關於 resource manager 元件建立和更改都必須在 pending area 中完成,可以理解為乙個「草稿區".

sql> exec dbms_resource_manager.create_pending_area

第二步 建立resource planing

建立資源計畫時需要注意的一點是如果 sub_plan 引數指定為 true,那麼這個計畫只能作為子計畫使用,並且不需要為 other_groups 建立 plan directive,否則必須給other_groups 建立 plan directive

begin

dbms_resource_manager.create_plan(

plan => 『plan1』,

comment => 『test plan…』,

sub_plan => false); --預設值即為 false

end;

/第三步 建立consumer_group

根據實際需求建立所需要的使用者組,需要注意的是雖然這一步並沒有建立 other_groups 使用者組,但是後面必須為 other_groups 使用者組建立相對應的plan directive

begin

dbms_resource_manager.create_consumer_group(

consumer_group => 『group_oltp』,

comment => 『group of oltp users…』,

mgmt_mth => 『round-robin』); --該使用者組內各會話的cpu資源採取輪詢的分配方法

end;

/begin

dbms_resource_manager.create_consumer_group(

consumer_group => 『group_olap』,

comment => 『group of olap users…』,

mgmt_mth => 『round-robin』);

end;

/第四步 建立資源組和客戶機的對映關係

第五步 配置資源組

begin

dbms_resource_manager.create_plan_directive(

plan => 『plan1』, --將該plan directive 關聯到 plan 「plan1」

group_or_subplan => 『group_olap』, --可以指定使用者組,也可以指定sub plan,和上乙個引數構成了 plan diretive 的唯一屬性

comment => 『directives for olap consumer group…』,

active_sess_pool_p1 => 5, --最大活躍會話數,達到該限制後其他會話進入 inactive session queue

queueing_p1 => 10, --在 inactive session queue 的等待超時時間

parallel_degree_limit_p1 => 2, --最大並行度

switch_group => 『kill_session』, --在滿足指定條件後,對會話所採取的操作

switch_time => 3, --執行時間限制,會話操作執行時間超過該值後,即被採取上一步的相應操作(second)

switch_estimate => false, --如果設定為 true,在操作執行前oracle先估算執行時間以決定是否對其切換使用者組

max_est_exec_time => 5, --最大估算執行時間,優化器對操作時間進行估算,如果超過該值則直接返回「ora-07455」

undo_pool => null, --uncommited undo segments 限制(kb)

max_idle_time => 300, --會話最大空閒時間

max_idle_blocker_time => 3, --blocker會話的最大空閒時間

mgmt_p1 => 30, --cpu使用限制(level 1)

mgmt_p2 => 0); --cpu使用限制(level 2)

end;

/begin

dbms_resource_manager.create_plan_directive(

plan => 『plan1』,

group_or_subplan => 『group_oltp』, --為「group_oltp」使用者組建立指令計畫

comment => 『directives for oltp consumer group…』,

active_sess_pool_p1 => 10,

switch_group => 『cancel_sql』,

switch_time => 3,max_idle_time => 3,

mgmt_p1 => 60,

mgmt_p2 => 0);

end;

/begin

dbms_resource_manager.create_plan_directive(

plan => 『plan1』,

group_or_subplan => 『other_groups』, --為沒有對映到以上使用者組中的會話建立 plan directive

comment => 『directives for the other users group…』,

parallel_degree_limit_p1 => 1,

mgmt_p1 => 0,

mgmt_p2 => 100); --cpu使用限制(level 2 的100%,即 level 1 分配剩下的10%)

end;

/第六步 驗證和提交資源計畫

在對資源管理元素的建立及更改完成後執行校驗並提交,如果出現邏輯上的錯誤會導致報錯,比如:

. 沒有定義 other_groups 使用者組的 plan directive

. 乙個 plan 中各個 plan directive 的 mgmt_p1 或者 mgmt_p2 之和大於 100%等一些其他的錯誤

sql> exec dbms_resource_manager.validate_pending_area()

pl/sql procedure successfully completed.

sql> exec dbms_resource_manager.submit_pending_area()

pl/sql procedure successfully completed.

第七步 檢視資源計畫

可以通過動態效能檢視和資料字典檢視

至此,資源管理計畫已經建立完成,修改初始化引數 resource_manager_plan 以啟用新的資源管理計畫,或者直接在em控制台中將該計畫的狀態改為「active」sr

ccon

sgro

uphi

stor

yv

rsrc_cons_group_history v

rsrcc​

onsg

​rou

ph​i

stor

yvrsrc_consumer_group

vr sr

ccon

sume

rgro

upcp

umth

vrsrc_consumer_group_cpu_mth v

rsrcc​

onsu

merg

​rou

pc​p

um​t

hvrsrc_plan

vr sr

cpla

ncpu

mthv

rsrc_plan_cpu_mth v

rsrcp​

lanc

​pum

​thv

rsrc_plan_history

vr sr

cses

sion

info

vrsrc_session_info v

rsrcs​

essi

oni​

nfov

rsrcmgrmetric

v$rsrcmgrmetric_history

MTK資源管理

資源檔案生成的臨時檔案主要有 custmenutree out.c,這個檔案是選單臨時檔案,生成了我們的最終顯示的選單結構。如果你新增的選單沒有顯示,正常顯示的選單突然不顯示了或者顯示錯位了,或者顯示的選單與呼叫的功能不符合了,都可以從這裡查到原因。resource base table.txt這個...

MTK資源管理

使用mtk作開發,常常不可避免和資源打交道,常使用的資源有字串,字型,選單,風格,聲音等,mtk好像沒有系統的專門的資源管理工具,導 致資源管理十分凌亂而容易出問題,雖然有些牛人也開發了一些工具來管理這些資源,但由於使用不便或者其他一些原因,比如資源由大量的巨集控制,以及修改維護 的人多,還有一些其...

linux 資源管理

一 系統資源 網路資源 儲存資源,計算資源 二 系統資源管理名命令 1.檢視目錄下的檔案使用情況 du sh 目錄 檔案 注 du sh檢視的是目錄 檔案占用block塊的大小 ll h檢視檔案 目錄的本身大小 2.檢視檔案系統 格式化好的分割槽 的使用情況 df h 注 檢視檔案系統使用i節點的情...