限制每个instance的cpu配额:
1.创建plan,名称为MAXCAP_PLAN
BEGIN DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA(); DBMS_RESOURCE_MANAGER.CREATE_PLAN( PLAN => 'MAXCAP_PLAN',COMMENT => 'Limit overall database cpu'); DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE( PLAN => 'MAXCAP_PLAN',GROUP_OR_SUBPLAN => 'OTHER_GROUPS',COMMENT => 'This group is mandatory',MAX_UTILIZATION_LIMIT => 90); DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA(); DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA(); END; /
说明:
MAX_UTILIZATION_LIMIT => 90 指定每个instance能使用的cpu资源的百分比。
2.还可以更进一步的针对细分cpu数量:
例如
show parameter cpu_count
假设cpu_count为12,同一台服务器上有4个实例。分配方法假定:
inst1: 4cpu
inst2: 4cpu
inst3: 2cpu
inst4: 2cpu
则在每个实例上执行
alter system set cpu_count=cpu数量;
例如
show parameter cpu_count
假设cpu_count为12,同一台服务器上有4个实例。分配方法假定:
inst1: 4cpu
inst2: 4cpu
inst3: 2cpu
inst4: 2cpu
则在每个实例上执行
alter system set cpu_count=cpu数量;
并且,需要指定instance的resource plan为MAXCAP_PLAN:
alter system set resource_manager_plan=MAXCAP_PLAN;
alter system set resource_manager_plan=MAXCAP_PLAN;
说明:
原文链接:https://www.f2er.com/oracle/207797.html