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; /