第一步 建立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
phi
stor
yvrsrc_consumer_group
vr sr
ccon
sume
rgro
upcp
umth
vrsrc_consumer_group_cpu_mth v
rsrcc
onsu
merg
rou
pcp
umt
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節點的情...