17 - Oracle数据库资源管理器

第十七课

17、 数据库资源管理器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

dbms_resource_manager_privs程序包
administer_resource_manager权限
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
快速创建一个资源计划:

BEGIN
  dbms_resource_manager.create_simple_plan(simple_plan => 'simple_resplan1'
                                          ,consumer_group1 => 'consgroup1'
                                          ,group1_percent => 80
                                          ,consumer_group2 => 'consgroup2'
                                          ,group2_percent => 20);
END;

创建复杂资源计划:
步骤:
1.创建一个暂挂区域
2.创建消费组
3.映射会话到消费组
4.创建资源计划
5.创建资源计划指令
6.验证暂挂区域
7.提交暂挂区域
命令行操作:

BEGIN
  dbms_resource_manager.clear_pending_area();
  dbms_resource_manager.create_pending_area();
  dbms_resource_manager.create_consumer_group(consumer_group => 'group1'
                                             ,cpu_mth => 'ROUND-ROBIN');
  dbms_resource_manager.set_consumer_group_mapping(dbms_resource_manager.oracle_user
                                                  ,'OUZY'
                                                  ,'GROUP1');
  dbms_resource_manager.create_plan(plan => 'plan1');
  dbms_resource_manager.create_plan_directive(plan => 'plan1'
                                             ,group_or_subplan => 'GROUP1'
                                             ,mgmt_p1 => 70);
  dbms_resource_manager.create_plan_directive(plan => 'plan1'
                                             ,group_or_subplan => 'OTHER_GROUPS'
                                             ,mgmt_p1 => 30);
  dbms_resource_manager.validate_pending_area();
  dbms_resource_manager.submit_pending_area();
END;

创建消费组:
在这里插入图片描述
在这里插入图片描述
调度策略:
轮循:round-robin
运行至完成:run-to-completion
消费者组映射:
定义向消费组分配会话的规则。允许切换到此消费组的用户和角色。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
未分配的会话将分配至OTHER_GROUPS组。
每个计划都必须包含针对OTHER_GROUPS组的指令。
select t.username,t.initial_rsrc_consumer_group from dba_users t;
在这里插入图片描述
创建资源计划和资源计划指令:
指定如何将资源分配给消费组的指令。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
启用计划:

alter system set resource_manager_plan = plan1 scope=both;
或者:
BEGIN
  dbms_resource_manager.switch_plan('PLAN1');
END;
select * from v$rsrc_plan;查看当前资源计划
select username,status,resource_consumer_group from v$session;

在这里插入图片描述
活动会话是事务处理、查询或并行操作中当前涉及的会话。

update t set owner='xx' where object_id=1000;
select username,status,resource_consumer_group from v$session;
  1. 会话池
  2. 空闲时间
    在这里插入图片描述

EMPHASIS这一CPU 分配方法确定在资源计划中对不同使用者组中的会话的重视程度。可以是单一级别也可以是多级别。
RATIO策略是一种单级别的CPU分配方法。
–ratio例子

BEGIN
  dbms_resource_manager.clear_pending_area();
  dbms_resource_manager.create_pending_area();
  dbms_resource_manager.create_consumer_group(consumer_group => 'CG_OUZY2');

  dbms_resource_manager.set_consumer_group_mapping(attribute => 'ORACLE_USER'
                                                      ,VALUE => 'OUZY'
                                                      ,consumer_group => 'CG_OUZY2');
  dbms_resource_manager.create_plan(plan => 'plan2'
                                       ,mgmt_mth => 'RATIO');
  dbms_resource_manager.create_plan_directive(plan => 'plan2'
                                                 ,group_or_subplan => 'CG_OUZY'
                                                 ,shares => '4');
  dbms_resource_manager.create_plan_directive(plan => 'plan2'
                                                 ,group_or_subplan => 'OTHER_GROUPS'
                                                 ,shares => '3');
  dbms_resource_manager.validate_pending_area();
  dbms_resource_manager.submit_pending_area();
  dbms_resource_manager.clear_pending_area();
END;

select * from dba_rsrc_plans;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

超量配置方法:此方法适用于非关键性数据库和低负载、非关键性的生产系统。
分区方法:此方法适用于关键生产系统。它能够防止实例互相影响。
select * from v$rsrc_plan;
在这里插入图片描述
在这里插入图片描述

select * from v$rsrc_plan;
select * from v$rsrc_consumer_group;

在这里插入图片描述

select * from dba_rsrc_plans;
select * from dba_rsrc_plan_directives;
select * from dba_rsrc_consumer_groups;
select * from dba_rsrc_consumer_group_privs;
select * from dba_rsrc_group_mappings;
select * from dba_rsrc_mapping_priority;
select * from dba_rsrc_manager_system_privs;

使用Toad管理资源:
在这里插入图片描述
监视资源管理器:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一种CPU方法的计划按照如下方式在两个级别分配资源:

  1. 级别1:SYS_GROUP 50%,OLTP 50%
  2. 级别2:DSS 50%,BATCH 50%
    如果唯一登录的用户来自BATCH组,那么他们能使用的CPU百分比是多少?
    A.12.5%
    B.25%
    C.50%
    D.100%
    答案D
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值