ORACLE資源管理器概念及試驗(OCM複習)

gaopengtttt發表於2011-11-03

1、  概念

使用資料庫資源管理對系統進行管理,包括使用資源計劃、資源使用者組和資源計劃指令。包括資源使用者組、資源計劃、資源計劃指令

2、  建立一個資源計劃過程

授予admin許可權

execute dbms_resource_manager_privs.grant_system_privilege(grantee_name => 'pptest',privilege_name => 'ADMINISTER_RESOURCE_MANAGER',admin_option => FALSE);

建立資源組

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

建立資源計劃

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(秒為單位));

execute DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();

      為資源計劃分配資源分配方法(預計最大執行時間)

當預計執行時間大於預計時間,語句將不會執行。

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、  設定使用者可以切換的組的許可權

execute dbms_resource_manager_privs.grant_switch_consumer_group(grantee_name => 'ppzhu',consumer_group => 'gen',grant_option => false);

2、  設定使用者的初始化組

  execute dbms_resource_manager.set_initial_consumer_group(user => 'ppzhu',consumer_group => 'gen');

     啟動當前資源管理器

      alter system set resource_manager_plan='plan_test' scope=both;

檢視資源計劃組的設定。

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,'test','high');

execute dbms_resource_manager.submit_pending_area;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-710169/,如需轉載,請註明出處,否則將追究法律責任。

相關文章