资源管理器

原创 2012年03月30日 17:10:58

一、资源管理器(DRM)由三个要素组成:

资源消费群(resource_consumer_group)
资源计划(resource_plan)
资源计划指令(resource_plan_directive)
 
执行与DRM有关的操作,必须具有 administer_resource_manager 系统权限。
 
二、未决域(pending area)
DRM的三个要素都必须创建在未决域中,然后提交。
 
1、创建未决域
exec dbms_resource_manager.create_pending_area;
 
2、验证未决域
exec dbms_resource_manager.validate_pending_area;
验证域中的内容是否合法。
 
3、清除未决域
exec dbms_resource_manager.clear_pending_area;
执行此命令后,未决域以及未决域中的内容一起被删除。
 
4、提交未决域
exec dbms_resource_manager.submit_pending_area;
执行此命令后,相当于执行了验证、提交、清除三个命令。未决域中的内容会被存储在数据字典中,等待启用。
 
三、资源消费群
一个用户可以隶属于多个消费群,但一个会话同一时间只能隶属于一个消费群。
ORACLE 已经预定义了4个消费群:
 
default_consumer_group :未分配消费群的用户和会话。
other_groups :当前的资源计划中没有明确指定资源分配所有消费群。任何一个资源计划中都必须包含此群。
sys_group 和 low_group :用于执行系统计划的消费群。
 
1、创建、更新、删除消费群()
 
创建:
exec dbms_resource_manager.create_cosumer_group('群名','注释');
 
更新:
exec dbms_resource_manager.update_consumer_group('群名','注释');
 
删除:
exec dbms_resource_manager.delete_consumer_group('群名');
执行此命令后,隶属于此群的用户和会话将自动转到 default_consumer_group.
 
 
2、将用户会话分配给消费群(消费群映射)
可以基于会话的属性将会话动态分配给消费群,成为消费群映射。
 
(1)设定映射:
dbms_resource_manager.set_consumer_group_mapping(
attribute => oracle_user,
value => 'user1,
consumer_group => 'low_group');
 
如上,当会话的oracle用户属性值为user1时,就将之分配给消费群low_group。
 
(2)设定映射优先权:
由于可能会出现某会话的两个属性分别满足两个不同的映射规则,那么该服从哪个规则呢?——可以设定各个属性的优先权,服从优先级高的属性。
dbms_resource_manager.set_mapping_priority(
oracle_user => 1,
client_os_user => 2);
 
(3)动态转换会话的消费群
 
基于会话的唯一标识转换消费群:(会话唯一标识由 session_id 和 session_serial 共同组成,这两个参数的值在 v$session 视图中)。
dbms_resource_manager.switch_consumer_group_for_sess(
session_id => '56',
session_serial => '106',
consumer_group => 'low_group');
 
基于会话所属的用户转换消费群:(将用户下的所有会话转换消费群)
dbms_resource_manager.switch_consumer_group_for_user(
user => 'user1',
consumer_group => 'low_group');
 
用户转换自己当前会话的消费群:(使用 dbms_session 包)
dbms_session.switch_current_consumer_group(
new_consumer_group => 'low_group');
 
转换自己当前会话的消费群需要特定权限:
dbms_resource_manager_privs.grant_switch_consumer_group(
grantee_name => 'user1',
consumer_group => 'low_group',
grant_option => 'false');
 
撤销此权限:
dbms_resource_manager_privs.revoke_switch_consumer_group(
grantee_name => 'user1',
consumer_group => 'low_group');
 
四、资源计划
分为简单资源计划和复杂资源计划。
 
1、简单资源计划
有如下特点:
(1)三要素在一个过程中定义。
(2)只能分配cpu资源。
(3)只能使用emphasis方式分配cpu资源(即百分比)。
(4)分配的消费群最大数为8个。
 
创建:
dbms_resource_manager.create_simple_plan(
simple_plan => '计划名',
consumer_group1 => '消费群1',
group1_cpu => 50,
consumer_group2 => '消费群2',
group2_cpu => 50);
 
 
2、复杂资源计划
特点:
(1)三要素必须单独创建。
(2)可以嵌套子计划。
 
创建:
dbms_resource_manager.create_plan(
plan => '计划名',
comment => '注释');
 
3、修改资源计划:
dbms_resource_manager.update_plan(
plan => '计划名',
new_属性 => '新值');
 
4、删除资源计划:
dbms_resource_manager.delete_plan('计划名');
dbms_resource_manager.delete_plan_cascade('计划名');
加上cascade参数,删除计划内的要素。
 
五、计划指令
 
创建:
dbms_resource_manager.create_plan_directive(
plan => '计划名',
group_or_subplan => '消费群或子计划',
资源限制参数);
 
注:可以为子计划创建指令,但只能分配cpu资源。
 
更新:
dbms_resource_manager.update_plan_directive(
两个必需参数,
new_属性 => '新值');
 
删除:
dbms_resource_manager.delete_plan_directive(
两个必需参数);

 

简单资源管理器

下面共享一个我自己的资源管理器,很简单的,看起来也明白,主要是我是新手,不想写的太复杂,自己项目使用的好用,便是最好的。 using UnityEngine; using System.Collec...
  • Happy_zailing
  • Happy_zailing
  • 2017年12月06日 14:20
  • 53

windows解决右键,资源管理器重启问题

一,查看windows日志1,在运行里输入eventvwr命令,打开事件察看器,展开windows日志2,展开应用程序的日志,查看红色叹号的错误信息,点击展开,找到错误模块名称: Sync115Ext...
  • superjunjin
  • superjunjin
  • 2016年11月23日 20:36
  • 2173

c#打开资源管理器

winform点击按钮打开资源管理器,并定位到指定文件。private void toolStripStatusLabel1_Click(object sender, EventArgs e) ...
  • nima1994
  • nima1994
  • 2017年06月26日 10:35
  • 701

Linux的资源管理器

说是资源管理器,其实就是使用命令来对Linux运行系统的参数的查看。下面就一起看一看怎么像在windows下查看资源管理器吧。 1、查看进程(额,自然是电脑上正在运行的进程咯) ps aux 其...
  • Marksinoberg
  • Marksinoberg
  • 2015年11月06日 10:34
  • 8404

windows资源管理器的实现实例

Windows的资源管理器想必大家都用过,该程序的窗口一分为二,左边的窗口显示本机当前所有驱动器以及驱动器中的所有文件夹,当用户单击文件夹后,如果该文件夹下面还有子文件夹,则上层文件夹展开显示下级的文...
  • u010983763
  • u010983763
  • 2016年10月25日 11:13
  • 1731

如何解决win7资源管理器不断重启和停止工作

最近在使用电脑的时候出现了这个问题,差了网上很多资料,都说是因为系统资源不够所以导致这个问题,其实这么说比较扯蛋,因为根本没有解决问题。 当然,出现这种情况可能存在的问题有很多种,但是类似系统资源...
  • kenhubery
  • kenhubery
  • 2015年01月20日 11:57
  • 6561

批处理脚本重启资源管理器

将以下代码写入文本文件,然后改后缀名为.bat,然后就可以执行了。执行过程是: 1.杀掉资源管理器,explorer.exe进程 2.等待5秒 3.启动explorer.exetaskkill ...
  • aitcax
  • aitcax
  • 2016年11月02日 11:04
  • 1274

用Visual C++打造自己的资源管理器

Windows的资源管理器想必大家都用过,该程序的窗口一分为二,左边的窗口显示本机当前所有驱动器以及驱动器中的所有文件夹,当用户单击文件夹后,如果该文件夹下面还有子文件夹,则上层文件夹展开显示下级的文...
  • hczhiyue
  • hczhiyue
  • 2014年01月16日 22:18
  • 1778

c# 仿Windows资源管理器

1.上网,了解需要的步骤。 2.设计资源管理器功能。 3.开始实现细节功能。 首先理解treeview 和 listview 的使用方法。 参考资料:  listview基本使用方法 点击打开链接 ...
  • jackcily
  • jackcily
  • 2017年12月31日 15:39
  • 181

系统默认打开方式改为资源管理器

 设置成此方法打开文件夹后会有效防止Autorun.inf病毒的运行,因为用资源管理器打开病毒就不会自动运行了。在不同的磁盘、文件夹下进行文件的复制、剪切和粘贴时,使用系统提供的“资源管理器”的方式打...
  • oswin_jiang
  • oswin_jiang
  • 2009年06月03日 13:14
  • 1362
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:资源管理器
举报原因:
原因补充:

(最多只允许输入30个字)