虽然知道dbms_resource_manager可以限制CPU的使用率,但也一直未真正使用过。今天有个需求,需要限制数据库某一个或几个用户的CPU最大使用率,于是有了如下测试。
1. 在数据库中创建MAINTENANCE资源消费组
begin
dbms_resource_manager.create_pending_area();
dbms_resource_manager.create_consumer_group(
consumer_group=>'MAINTENANCE'
);
dbms_resource_manager.submit_pending_area();
end;
/
2. 在数据库中创建消费者与资源消费组的映射规则。
----也即将数据库用户test 加入到MAINTENANCE消费组
begin
dbms_resource_manager.create_pending_area();
-- Map 'TEST' user to MAINTENANCE group
dbms_resource_manager.set_consumer_group_mapping(
attribute=>'ORACLE_USER',
value=>'TEST',
consumer_group=>'MAINTENANCE');
dbms_resource_manager.submit_pending_area();
end;
/
3. 为数据库用户授权,允许访问资源消费者组。
begin
<