BEGIN DBMS_RESOURCE_MANAGER.CREATE_PLAN( plan => 'PLAN1', comment => 'Test Plan...', sub_plan => FALSE); --默認值即爲 FALSE END; / 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.SET_CONSUMER_GROUP_MAPPING( attribute => 'CLIENT_MACHINE', value => 'ASM', --將從「ASM」客戶機發起的會話映射到「GROUP_OLAP」用戶組 consumer_group => 'GROUP_OLAP'); END; / BEGIN DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING( attribute => 'CLIENT_MACHINE', value => 'WORKGROUP\XIAO', --將從「WORKGROUP\XIAO」客戶機發起的會話映射到「GROUP_OLTP」用戶組 consumer_group => 'GROUP_OLTP'); 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; /