這篇文章主要介紹“ORCALE怎么建立一個資源計劃”,在日常操作中,相信很多人在ORCALE怎么建立一個資源計劃問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”O(jiān)RCALE怎么建立一個資源計劃”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)臨猗免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
1、 概念
使用數(shù)據(jù)庫資源管理對系統(tǒng)進行管理,包括使用資源計劃、資源使用者組和資源計劃指令。包括資源使用者組、資源計劃、資源計劃指令
2、 建立一個資源計劃過程
授予admin權(quán)限
execute dbms_resource_manager_privs.grant_system_privilege(grantee_name => 'pptest',privilege_name => 'ADMINISTER_RESOURCE_MANAGER',admin_option => FALSE);
創(chuàng)建資源組
SQL> execute dbms_resource_manager.create_consumer_group('VIP','VIP USER');
PL/SQL procedure successfully completed
SQL> execute dbms_resource_manager.create_consumer_group('gen','gen user');
PL/SQL procedure successfully completed
創(chuàng)建資源計劃
execute dbms_resource_manager.create_plan('PLAN_TEST','TEST');
為資源計劃分配資源分配方法(CPU,重點法)
execute dbms_resource_manager.create_pending_area;
SQL> execute dbms_resource_manager.create_plan_directive(plan => 'PLAN_TEST',group_or_subplan => 'vip',comment => 'cpu resource use',cpu_p1 => 100);
SQL> execute dbms_resource_manager.create_plan_directive('plan_test','gen','cpu resource gen user',cpu_p2=> 100);
SQL> execute dbms_resource_manager.create_plan_directive('plan_test','other_groups',comment => 'other user',cpu_p3 => 100);
為資源計劃分配資源分配方法(活動會話)
execute dbms_resource_manager.create_pending_area;
execute dbms_resource_manager.update_plan_directive(plan => 'PLAN_TEST',group_or_subplan => 'vip',new_active_sess_pool_p1 => 100(此資源組允許100個活動會話,new_queueing_p1 => 60(秒為單位));
executeDBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
為資源計劃分配資源分配方法(預(yù)計最大執(zhí)行時間)
當(dāng)預(yù)計執(zhí)行時間大于預(yù)計時間,語句將不會執(zhí)行。
SQL> execute dbms_resource_manager.create_pending_area;
PL/SQL procedure successfully completed
SQL> execute dbms_resource_manager.update_plan_directive(plan => 'PLAN_TEST',group_or_subplan => 'vip',new_max_est_exec_time => 1000);
PL/SQL procedure successfully completed
SQL> execute DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
PL/SQL procedure successfully completed
分配用戶到資源組
1、 設(shè)置用戶可以切換的組的權(quán)限
executedbms_resource_manager_privs.grant_switch_consumer_group(grantee_name => 'pptest',consumer_group => 'vip',grant_option => false);
2、 設(shè)置用戶的初始化組
execute dbms_resource_manager.set_initial_consumer_group(user => 'pptest',consumer_group => 'vip');
啟動當(dāng)前資源管理器
alter system set resource_manager_plan='plan_test' scope=both;
查看資源計劃組的設(shè)置。
select * from dba_rsrc_plan_directives where PLAN='PLAN_TEST';
3、 使用映射,讓某個用戶的會話都屬于某個資源組
execute dbms_resource_manager.create_pending_area;
execute dbms_resource_manager.set_consumer_group_mapping(dbms_resource_manager.oracle_user,'pptest','gen');
execute dbms_resource_manager.submit_pending_area;
4、 對于任何沒有分配初始組的用戶資源計劃組為DEFAULT_CONSUMER_GROUP,一旦計劃啟用這部分用戶會歸入OTEHER_GROUPS組
5、 對于設(shè)置了set_consumer_group_mapping的用戶及時你沒有權(quán)限及dbms_resource_manager_privs.grant_switch_consumer_group設(shè)置的,也是不能使用相應(yīng)的MAPPING的組,如果設(shè)置MAPPING初始組就是MAPPING的。
execute dbms_resource_manager.set_consumer_group_mapping(dbms_resource_manager.oracle_user,'pptest1','VIP');
SQL> select username, resource_consumer_group from v$session where username is not null;
USERNAME RESOURCE_CONSUMER_GROUP
------------------------------ --------------------------------
PPTEST1 OTHER_GROUPS
PPTEST1 OTHER_GROUPS
還是OTHER_GROUPS
SQL> select * from dba_rsrc_consumer_group_privs where GRANTEE='PPTEST1';
GRANTEE GRANTED_GROUP GRANT_OPTION INITIAL_GROUP
------------------------------ ------------------------------ ------------ -------------
SQL> select * from dba_rsrc_group_mappings where VALUE='PPTEST1';
ATTRIBUTE VALUE CONSUMER_GROUP STATUS
------------------------------ -------------------------------------------------------------------------------- ------------------------------ ------------------------------
ORACLE_USER PPTEST1 VIP
6、 如果用戶不屬于任何組你想設(shè)置初始組會報錯
SQL> execute dbms_resource_manager.set_initial_consumer_group(user => 'pptest2',consumer_group => 'gen');
begin dbms_resource_manager.set_initial_consumer_group(user => 'pptest2',consumer_group => 'gen'); end;
ORA-29399: user PPTEST2 does not have privilege to switch to consumer group GEN
ORA-06512: at "SYS.DBMS_RESOURCE_MANAGER", line 489
ORA-06512: at line 2
因為必須設(shè)置
execute dbms_resource_manager_privs.grant_switch_consumer_group(grantee_name =>'pptest2',consumer_group =>'gen',grant_option =>false);
及權(quán)限。
所以這里就涉及到一個權(quán)限問題set_initial_consumer_group他表示你可以使用的組,如果沒有在這里面你是不能使用的即使使用set_consumer_group_mapping進行修改但是雖然不報錯但是你是不能使用的,如果使用set_initial_consumer_group來定義初始組你是不能定義的會報錯涉及的視圖
dba_rsrc_consumer_group_privs
dba_rsrc_group_mappings
一個時間段一個用戶只能MAPPING到一個資源組,dba_rsrc_group_mappings可以修改,set_initial_consumer_group可以設(shè)置初始MAPPING。
所以一般的使用set_initial_consumer_group建立初始組就完成了映射,修改才使用set_consumer_group_mapping,不過一定要記得_resource_manager_privs.grant_switch_consumer_group設(shè)置這個用戶可以使用那些資源組。
到此,關(guān)于“ORCALE怎么建立一個資源計劃”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
本文名稱:ORCALE怎么建立一個資源計劃
鏈接URL:http://chinadenli.net/article32/ihohsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計公司、電子商務(wù)、App開發(fā)、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)