Oracle管理安全和资源(五)资源管理器

一、资源管理器(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个。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

创建:

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(

两个必需参数);

时间: 2024-10-03 12:38:51

Oracle管理安全和资源(五)资源管理器的相关文章

Oracle管理安全和资源(三)Oracle资源管理器简介

Oracle资源管理器(Oracle Database Resource Manager,以下简称DBRM)管理数据库资源,为不同的会话分配不同的数据库资源.DBRM管理的资源主要包括CPU时间.下面分以下几个章节介绍: Oracle DBRM帮你处理哪些问题 Oracle DBRM是怎样处理这些问题的 Oracle DBRM包含的内容 Oracle DBRM资源分配方法 Oracle DBRM的权限管理 1.Oracle DBRM帮你处理哪些问题  当数据库服务器资源由操作系统来分配时,你可能

Oracle管理安全和资源(四)Oracle资源管理器的使用

1.资源管理,启用参数 09:44:54 SQL> show  parameter resource NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ resource_limit                       boolean     FALSE resource_

Oracle管理安全和资源(一)Oracle策略文件

Profile 是口令限制.资源限制的命名集合.建立Oracle数据库时,Oracle会自动建立Default Profile,然后分配各用户,如果没有指定,用户会启用default profile. 1.查看口令文件 09:07:15 SQL> select username ,profile from dba_users; USERNAME                       PROFILE ------------------------------ ---------------

Oracle管理安全和资源(二)使用Oracle Profile管理口令

1.账户锁定 FAILED_LOGIN_ATTEMPTS:用于指定连续登录的最大失败次数. PASSWORD_LOCK_TIME:用于指定账户被锁定的天数. 03:34:13 SQL> create profile lock_account limit 03:36:51   2   failed_login_attempts 3 03:37:07   3   password_lock_time 10; Profile created. 02:56:45 SQL> select profile

Windows Server 2008存储资源管理器详解

使用存储区域网络(SAN)的公司都面临的一个共同问题就是如何持续跟踪可用的SAN资源并确定这些资源的物理位置.为了帮助我们克服这个问题,微软http://www.aliyun.com/zixun/aggregation/32995.html">在Windows Server 2008中添加了一个新工具,它就是存储资源管理器(Storage Explorer). 存储资源管理器实际上并没有将SAN信息记录到文档中,但它可以让你浏览并准确得知SAN资源是如何连接到你的网络中.让我们 来看看它是

Win7清理资源管理器搜索记录保护隐私的4个小技巧

现在的硬盘越来越大,而Windows7的搜索功能又特别好用,直接在文件夹右上方的搜索框输入关键词即可查找,但是总是会保留搜索过的记录,为了保护个人隐私,小编特汇总几种清理资源管理搜索记录的方法,现介绍给大家. 第一,魔方在手,清理不愁. 打开魔方优化大师,找到清理大师,"一键清理"不提供痕迹清理,所以我们找到"用户隐私清理"功能,在上方"用户隐私设置"中,我们可以选择"清空资源管理器搜索记录",然后执行清理. 第二.手动清理

Win7资源管理器等软件的菜单栏无法隐藏怎么办?

一般情况下Windows7菜单栏不显示,如果需要使用菜单栏按下Alt键即可.但使用某些软件后,Windows 7菜单栏竟然永久显示出来了,怎么切换都不行. 让Windows7菜单栏永久显示,确实会给你的一些操作带来方便,但同时也给了其他用户修改系统设置的机会,或许在某个时候你会发现,一些原本属于你自己的个性化定义被篡改了. 如果你想让Windows 7菜单栏恢复成系统默认状态,通过Alt键就可以"收发自如",那就请按照下面的步骤,取消Windows 7菜单栏始终显示. 1.首先请在文件

Win7资源管理器停止记忆 保护隐私

Win 7的应用技巧很多都是用户在日常的使用中总结出来的,用户使用电脑的环境不一样,可能也会导致他们本身对电脑的要求也不会一样.例如有人的电脑就是自己在用,而有些人的电脑会成为集体使用的对象. 那么,这里存在一个问题,即是当用户的个人电脑,在很多场合需要让很多人去使用的时候,我们就不得不考虑用户个人隐私的问题了. 比如说,我们本文中要谈到的Windows7资源管理器的搜索历史记录问题,就是涉及到了用户自己的隐私.Win 7强大的搜索是特别好用的一个功能,但是这里有个问题是不得不考虑的,那就是搜索

设置Win8资源管理器功能区的菜单状态

Windows 8中的资源管理器添加了类似Office 2007的功能区菜单,但是并不是每一个用户都喜欢它,那么是否能够在资源管理器打开时自动最小化功能区菜单?或者根据自己的喜好设置资源管理器打开时功能区菜单的状态呢? 我们可以使用[CTRL]+[F1]快捷键快速地切换功能区菜单的状态,与此同时,在没有为资源管理器设置默认功能区菜单状态的情况下,资源管理器将能够记住最后关闭时功能区菜单的状态,在重新打开时自动以相同的状态显示功能区菜单. 除此之外,我们还可以通过组策略或者注册表控制功能区菜单的状