1、概述

作用:用于维护资源计划,资源使用组和资源计划指令;包dbms_resource_manager_privs用于维护与资源管理相关的权限.

2、包的组成

1)、dbms_resource_manager.create_plan
作用:建立资源计划
语法:dbms_resource_manager.create_plan(plan in varchar2,comment in varchar2,cpu_mth in varchar2 default 'EMPHASIS',
active_sess_pool_mth in varchar2 default 'ACTIVE_SESS_POOL_ABSOLUTE',
parallele_degree_limit_mth in varchar2 default 'PARALLEL_DEGREE_LIMIT_ABSOLUTE',
queueing_mth in varchar2 default 'FIFO_TIMEOUT');
其中plan指定资源计划名,comment指定用户注释信息,cpu_mth指定cpu资源的分配方法,active_sess_pool_mth指定最大活动会话的分配方法,
parallele_degree_limit_mth指定并行度的分配方法,queueing_mth指定活动会话池的队列策略类型。

2)、dbms_resource_manager.create_simple_plan
作用:用于建立简单资源计划,该资源计划最多包含8个资源使用组。
语法:dbms_resource_manager.create_simple_plan(simple_plan in varchar2 default,
consumer_group1 in varchar2 default,group1_cpu in number default,
consumer_group2 in varchar2 default,group2_cpu in number default,
consumer_group3 in varchar2 default,group3_cpu in number default,
consumer_group4 in varchar2 default,group4_cpu in number default,
consumer_group5 in varchar2 default,group5_cpu in number default,
consumer_group6 in varchar2 default,group6_cpu in number default,
consumer_group7 in varchar2 default,group7_cpu in number default,
consumer_group8 in varchar2 default,group8_cpu in number default);

3)、dbms_resource_manager.update_plan
作用:用于更新资源计划的定义
语法:dbms_resource_manager.update_plan(plan in varchar2,
new_comment in varchar2 default null,new_cpu_mth in varchar2 default null,
new_active_sess_pool_mth in varchar2 default null,new_parallel_degree_limit_mth in varchar2 default null,
new_queueing_mth in varchar2 default null);
其中new_comment指定用户的新的注释信息,new_cpu_mth指定cpu资源的新的分配方法,
new_active_sess_pool_mth指定最大活动会话的新的分配方法,
new_parallel_degree_limit_mth指定并行度的新的分配方法,
new_queueing_mth指定活动会话池的新的队列策略类型。

4)、dbms_resource_manager.delete_plan
作用:用于删除资源计划
语法:dbms_resource_manager.delete_plan(plan in varchar2);

5)、dbms_resource_manager.delete_plan_cascade
作用:用于删除资源计划及其所有后代(资源计划指令、子计划和资源使用组)
语法:dbms_resource_manager.delete_plan_cascade(plan in varchar2);

6)、dbms_resource_manager.greate_consumer_group
作用:用于建立资源使用组
语法:dbms_resource_manager.greate_consumer_group(consumer_group in varchar2,
comment in varchar2,cpu_mth in varchar2 default 'ROUND-ROBIN');
其中consumer_group指定资源使用组名。

7)、dbms_resource_manager.update_consumer_group
作用:用于更新资源使用组信息
语法:dbms_resource_manager.update_consumer_group(
consumer_group in varcahr2,new_comment in varchar2,new_cpu_mth in varchar2 default null);

8)、dbms_resource_manager.delete_consumer_group
作用:删除资源使用组
语法:dbms_resource_manager.delete_consumer_group(consumer_group in varchar2);

9)、dbms_resource_manager.create_plan_directive
作用:建立资源计划指令
语法:dbms_resource_manager.create_plan_directive(
plan in varchar2,group_or_subplan in varchar2,
comment in varchar2,cpu_p1 in number default null,
cpu_p2 in number default null,cpu_p3 in number default null,
cpu_p4 in number default null,cpu_p5 in number default null,
cpu_p6 in number default null,cpu_p7 in number default null,
cpu_p8 in number default null,
active_sess_pool_p1 in number default unlimited,
queueing_p1 in number default unlimited,
switch_group in varchar2 default null,
switch_time in number default unlimited,
switch_estimate in boolean default false,
max_est_exec_time in number default nulimited,
undo_pool in number default unlimited,
paralle1_degree_limit_p1 in number default unlimited);
其中group_or_subplan指定资源使用组或者子计划的名称,cpu_p1指定CPU资源分配方法的第一个参数(p2是第二个参数。。。),
active_sess_pool_p1指定最大活动会话分配方法的第一个参数,queueing_p1指定队列超时时间,
switch_group指定到达切换时间时要切换到的资源使用组,switch_time指定切换时间,
switch_estimate默认false,设置为true时表示通知Oracle使用执行时间估计自动切换资源使用组。
undo_pool指定资源使用组的undo池尺寸,paralle1_degree_limit_p1指定并行度分配方法的第一个参数。

10)、dbms_resource_manager.update_plan_directive
作用:用于更新资源计划指令
语法:dbms_resource_manager.update_plan_directive(
plan in varchar2,group_or_subplan in varchar2,
new_comment in varchar2,cpu_p1 in number default null,
new_cpu_p2 in number default null,new_cpu_p3 in number default null,
new_cpu_p4 in number default null,new_cpu_p5 in number default null,
new_cpu_p6 in number default null,new_cpu_p7 in number default null,
new_cpu_p8 in number default null,
new_active_sess_pool_p1 in number default unlimited,
new_queueing_p1 in number default unlimited,
new_switch_group in varchar2 default null,
new_switch_time in number default unlimited,
new_switch_estimate in boolean default false,
new_max_est_exec_time in number default nulimited,
new_undo_pool in number default unlimited,
new_paralle1_degree_limit_p1 in number default unlimited);
其中new_cpu_p1指定CPU资源分配方法的第一个参数(p2是第二个参数。。。),
new_active_sess_pool_p1指定最大活动会话分配方法的第一个参数,new_queueing_p1指定队列超时时间,
new_switch_group指定到达切换时间时要切换到的资源使用组,new_switch_time指定切换时间,
new_switch_estimate默认false,设置为true时表示通知Oracle使用执行时间估计自动切换资源使用组。
new_undo_pool指定资源使用组的undo池尺寸,new_paralle1_degree_limit_p1指定并行度分配方法的第一个参数。

11)、dbms_resource_manager.delete_plan_directive
作用:用于删除资源计划指令
语法:dbms_resource_manager.delete_plan_directive(plan in varchr2,group_or_subplan in varchar2);

12)、dbms_resource_manager.create_pending_area
作用:用于建立pending内存区,并且该内存区将用于改变资源管理对象
语法:dbms_resource_manager.create_pending_area;

13)、dbms_resource_manager.validate_pending_area
作用:用于校验资源管理器的改变
语法:dbms_resource_manager.validate_pending_area;

14)、dbms_resource_manager.clear_pending_area
作用:用于清除资源管理器的改变
语法:dbms_resource_manager.clear_pending_area;

15)、dbms_resource_manager.submit_pending_area
作用:用于提交资源管理器的改变
语法:dbms_resource_manager.submit_pending_area;

16)、dbms_resource_manager..set_initial_consumer_group
作用:用于指定用户的初始资源使用组
语法:dbms_resource_manager.set_initial_consumer_group(user in varchar2,consumer_group in varchar2);
其中user指定用户名,consumer_group指定用户的初始资源使用组名。

17)、dbms_resource_manager.switch_consumer_group_for_sess
作用:dbms_resource_manager.switch_consumer_group_for_sess(session_id
in number,session_serial in number,consumer_group in varchr2);
其中session_id指定会话ID号,session_serial指定会话序列号。

18)、dbms_resource_manager.switch_consumer_group_for_user
作用:用于改变特定用户所有会话的资源使用组
语法:dbms_resource_manager.switch_consumer_group_for_user(user in varchar2,consumer_group in varchar2);

19)、dbms_resource_manager_privs.grant_system_privilege
作用:用于将资源管理权限授予用户或角色
语法:dbms_resource_manager_privs.grant_system_privilege(grantee_name in varchar2,
privilege_name in varchar2 default 'administer_resource_manager',admin_option in boolean);
其中grantee_name指定被授权的用户或角色,privilege_name指定要授予的资源管理权限,
admin_option指定是否可以转授资源管理权限(true为能,false为不能)
例子:exec dbms_resource_manager_prive.grant_system_privilege('scott','administer_resource_manager',true)

20)、dbms_resource_manager_privs.revoke_system_privilege
作用:用于回收资源管理权限
语法:dbms_resource_manager_privs。revoke_system_privilege(revokee_name
in varchar2,privilege_name in varchar2 default
'administer_resource_manager');
其中revoke_name指定被收回权限的用户或角色,privilege_name指定要收回的资源管理权限。
例子:exec dbms_resource_manager_privs.revoke_system_privilege('scott','administer_resource_maneger');

21)、dbms_resource_manager_privs.grant_switch_consumer_group
作用:用于将用户或角色分配给特定的资源使用组
语法:dbms_resource_manager_privs.grant_switch_consumer_group(grantee_name
in varchar2,consumer_group in varchar2,grant_option in boolean);
其中grant_option指定资源使用组转授选项
例子:exec dbms_resource_manager_privs.grant_switch_consumer_group('scott','sys_group',true)

22)、dbms_resource_manager_privs.revoke_switch_consumer_group
作用:用于收回分配给用户或角色的资源使用组
语法:dbms_resource_manager_privs.revoke_switch_consumer_group(revokee in varchar2,consumer_group in varchar2);
例子:dbms_resource_manager_privs.revoke_switch_consumer_group('scott','sys_group');

3、综合实例

1)、为用户授权资源管理权限
说明:默认情况下只有特权用户sys,dba用户system可以进行资源管理,其余用户要使用要为其授权,下面授权给scott。
conn system/menager@test
exec dbms_resource_manager_prive.grant_system_privilege('scott','administer_resource_manager',true)
2)、建立各种资源对象
说明:建立资源对象前,必须分配pending内存区,建立资源对象后,必须检查并提交pending内存区。
(1)、建立pending内存区
conn scott/tiger@test
exec dbms_resource_manager.create_pending_area
(2)、建立资源使用组
exec dbms_resource_manager.create_consumer_group('oltp','联机事务处理组');
exec dbms_resource_manager.create_consumer_group('dss','决策支持组');
(3)、建立资源计划
exec dbms_resource_manager.create_plan('day','该资源计划用于联机事务处理');
exec dbms_resource_manager.create_plan('night','该资源计划用于决策支持');
(4)、建立资源计划指令
说明:建立资源计划指令必须要在资源计划和other_groups组之间的定义管理关系。
例子:
begin
dbms_resource_manager.create_plan_directive(plan=>'DAY',group_or_subplan=>'sys_group',comment=>'最高级别组',cpu_p1=>100,parallel_degree_limit_p1=>3);
dbms_resource_manager.create_plan_directive(plan=>'DAY',group_or_subplan=>'olpt',comment=>'中间级别组',cpu_p2=>80,parallel_degree_limit_p1=>1);
dbms_resource_manager.create_plan_directive(plan=>'DAY',group_or_subplan=>'other_groups',comment=>'最低级别组',cpu_p3=>80,parallel_degree_limit_p1=>1);
dbms_resource_manager.create_plan_directive(plan=>'NIGHT',group_or_subplan=>'sys_group',comment=>'最高级别组',cpu_p1=>100,parallel_degree_limit_p1=>20);
dbms_resource_manager.create_plan_directive(plan=>'NIGHT',group_or_subplan=>'dss',comment=>'中间级别组',cpu_p2=>80,parallel_degree_limit_p1=>20);
dbms_resource_manager.create_plan_directive(plan=>'NIGHT',group_or_subplan=>'other_groups',comment=>'最低级别组',cpu_p3=>80,parallel_degree_limit_p1=>20);
end;
(5)、验证pending内存区
说明:验证通过则可以提交pending内存区,不通过需要清除pending内存区并重新建立资源对象。
exec dbms_resource_manager.validate_pending_area
(6)、提交pending内存区
说明:提交pending内存区最终建立永久的资源管理对象。
exec dbms_resource_manager.submit_pending_area
3)、分配用户到资源使用组
exec dbms_resource_manager_privs.grant_switch_consumer_group('scott','oltp',false);
exec dbms_resource_manager_privs.grant_switch_consumer_group('scott','dss',false);
4)、设置用户的默认资源使用组
说明:数据库用户可以属于多个资源使用组,但在特定会话特定时刻只能使用某个资源使用组的相应资源。
通过设置用户的默认资源使用组,可以使用户登录时自动使用相应资源使用组的资源。
exec dbms_resource_manager.set_initial_consumer_group('scott','oltp');
5)、激活资源计划
说明:为了通过数据库资源管理器限制数据库用户的资源使用,必须要激活资源计划。
alter system set resource_manager_plan=DAY where scope=momory.
6)、改变会话或用户的资源使用组
说明:如果用户属于多个资源使用组,初始登录时会使用默认资源使用组,为了改变特定会话的资源使用组,
执行exec dbms_resource_manager.switch_consumer_group_for_sess(7,8,'dss');
为了改变特定用户所有会话的资源使用组,
执行exec dbms_resource_manager.switch_consumer_group_for_user('scott','dss');

十九、dbms_resource_manager(用于维护资源计划,资源使用组和资源计划指令)的更多相关文章

  1. 第十九章——使用资源调控器管理资源(1)——使用SQLServer Management Studio 配置资源调控器

    原文:第十九章--使用资源调控器管理资源(1)--使用SQLServer Management Studio 配置资源调控器 本系列包含: 1. 使用SQLServer Management Stud ...

  2. 第十九章——使用资源调控器管理资源(2)——使用T-SQL配置资源调控器

    原文:第十九章--使用资源调控器管理资源(2)--使用T-SQL配置资源调控器 前言: 在前一章已经演示了如何使用SSMS来配置资源调控器.但是作为DBA,总有需要写脚本的时候,因为它可以重用及扩展. ...

  3. ClassLoader 提供了两个方法用于从装载的类路径中取得资源:

    转:http://cheneyph.iteye.com/blog/831721 ClassLoader 提供了两个方法用于从装载的类路径中取得资源: public URL  getResource ( ...

  4. finally不管有没有错都会运行 finally 块用于清除 try 块中分配的任何资源,以及运行任何即使在发生异常时也必须执行的代码

    finally 块用于清除 try 块中分配的任何资源,以及运行任何即使在发生异常时也必须执行的代码

  5. IDEA项目搭建十四——Web站点Controller基类及布局页静态资源设计

    一.简介 站点搭建完成后,编写页面时一般会有如下几个需求 1.嵌套静态页面时有很大一部分通用代码,如css.js这部分可以使用thymeleaf的局部片段代码块组成 2.这些静态资源默认放在程序中,但 ...

  6. Web 开发人员和设计师必读文章推荐【系列二十九】

    <Web 前端开发精华文章推荐>2014年第8期(总第29期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

  7. Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列十九】

    <Web 前端开发精华文章推荐>2013年第七期(总第十九期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和 C ...

  8. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  9. 第十九次ScrumMeeting博客

    第十九次ScrumMeeting博客 本次会议于12月9日(六)22时整在3公寓725房间召开,持续20分钟. 与会人员:刘畅.辛德泰.张安澜.赵奕.方科栋. 1. 每个人的工作(有Issue的内容和 ...

随机推荐

  1. spark streaming基础知识1

    1.怎么理解spark streaming中的dstream? 它是spark streaming的基础数据结构,代表着(time,RDD)序列,有两种生成方式,一种是基于流数据创建(kafka,so ...

  2. 论文笔记:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

    ICML, 2015 S. Ioffe and C. Szegedy 解决什么问题(What) 分布不一致导致训练慢:每一层的分布会受到前层的影响,当前层分布发生变化时,后层网络需要去适应这个分布,训 ...

  3. SQL注入漏洞有哪些

    SQL注入攻击是当今最危险.最普遍的基于Web的攻击之一.所谓注入攻击,是攻击者把SQL命令插入到Web表单的输入域页面请求的查询字符串中,如果要对一个网站进行SQL注入攻击,首先需要找到存在SQL注 ...

  4. 资料:mnist.pkl.gz数据包的下载以及数据内容解释

    deeplearning.net/data/mnist/mnist.pkl.gz The MNIST dataset consists of handwritten digit images and ...

  5. 关于URL和http协议,http消息格式

    转自:http://crystal2012.iteye.com/blog/1447845 在WWW(全球资讯网)中想要连结到某个网页,便需要给浏览器一个位址,而URL在此的功能就是告知浏览器某个资源在 ...

  6. [原创]css中a标签去掉锚点文本下划线

    我对博客的认识是:记录问题,解决问题,分享知识.如果有轮子,我不需要造轮子. 1.问题解决方式: 设置属性:text-decoration:none; 2.更多属性参数参考 text-decorati ...

  7. 20145302张薇《Java程序设计》第十六周课程总结

    20145302 <Java程序设计>第十六周课程总结 实验报告链接汇总 实验一 Java开发环境的熟悉 实验二 Java面向对象程序设计 实验三 敏捷开发与XP实践 实验四 Andoid ...

  8. zabbix_server.log大量提示cannot send list of active checks to "IP": host [HostName] not found

    zabbix server 日志大量提示上图信息 原因是 zabbix_agent.conf配置文件中配置的HostName与zabbix的web界面配置的不同导致的 zabbix_agent.con ...

  9. 在linux上使用tomcat服务器图片验证码不显示问题

    背景描述:在liunx系统上,使用tomcat中间件,访问web项目,登录页面的图片验证码显示不出来,但是在window系统上可以正常显示 解决方案:设置一下这个文件tomcat/bin/catali ...

  10. PigVar: THE PIG VARIATIONS AND POSITIVE SELECTION DATABASE

    URL: http://www.ibiomedical.net/ http://103.53.216.7/ Go to aldb database. (keywords: chicken, cow, ...