资源消耗组:
资源消耗组是用户组.会话组.基以处理的需要的组.资源计划指令,下一节将讨论,指资源在消耗组和在计划调度的子方案中如何分配.
资源计划指令:
资源分配指令指定资源在资源消耗组中如何分配.数据库资源管理提供分配资源的几种方式.
CPU方式:
这种方式使用能够指定cpu资源在消耗组和或子方案之间被分配.
队列的活动会话池:
你能的控制消耗组充许的最大的并发活动会话,指定最大数量的活动连接池.当一个会活不能初始化时,因为连接池已满,这个会话被放到一个队列.当一个活动会话完成,在队列中的这第一个会话能被安排执行.你也能指定指定一个过期时间,当一个工作在对列中执行(等待执行)将过期,导致终于的的错误.
整个平发执行的会话,被计算为一个会话.
并行度的限制:
指定一个并行度的限制.使你能够为任何消费组的操作控制最大的数量的并行度.
自动消耗组交换:
这个方法使你能够通过指定规则控制资源,如可满足条件,导致会话到一个消耗组的自动交换.用于确定转换的规则:
组交换:如果其他规则满足,指定会话的消耗组被转换.
交换时间:在会话被转换到另一个消费组之间,会话执行的时间长度. 交换通话时间:在会话交换到另一个消费组之前,指定这具时间长度.一旦顶级会话完成,他将恢复到他以前的消费组. 使用评估:指定这个数据库使用多长时间打操作将执行评估.如果活动的会话超过了"交换时间的秒数",数据库资源管理器交换正在运行的会话到"交换组".活动意识着这个会话正在运行并且消耗资源.而不是空闭等待用户输入或者等待CPU周期.即使在新组的活动会话池是满的,是这个会话允许持续运行.以这种情况消费组有更多的会话运行比他指定的的活动会话池.一旦会话完成其操作,它被交换回他原来的消费组.
如果"使用评估"设置为true,数据库资源管理器使用一个预测评估这个操作完成的时间.如果数据库评估时间比指定"交换时间"值更长,这个操作执行开始之前,数据库交换这个会话到另一个消费组.如果"使用评估"这个叁数没有设置,这个操作正常开始执行,仅当其他交换条件满足时才交抽象消费组.
交换通话时间用于中间层使用会话池的三层的应用程序.每个顶线会话最后,会话被交换回它原来的消费组----他刚登陆的那个组.在PL/SQL中一个完整个PL/SQL块被称作为一个顶级通话.在SQL顶级通话中被一个客户端单独发出的单独SQL语句被称为一个通话.
你不能指定同时指定"通话交换时间"和"交换时间"
取消的SQL和终止的会话
你能指定指令取消运行很长时间的SQL或者终止运行很长时间的会话.你通过设置"CANCET_SQL"或者"KILL_SESSION"来交换资源组.
执行时间的限制:
你能为操作指定分配一个最大的执行时间.如果数据库评估一个操作要比指定"最大的数据的执行时间"长,这个操作被终止带一个错误.这个操作被捕获,这个操作重新调度.
撤消池:
你能为每个消费指定一个撤消池.撤消池控制消耗组产生总的撤消的数量,当被消耗组产生总的撤消超过化的限制,当前的DML语名不生的重做被终止.直到撤消空间是空闭的,消耗组的成员都才能处理数据的维护.
空闲时间限制:
你能指定会话能空闲时间,当超出这个时间后会话将会被终止.你能进一步限制这个终端阻塞其他会话的会话.
管理数据库资源管理器:
你必须有ADMINISTER_RESOURCE_MANAGER系统权限来管理数据库资源管理器.数据库管理员有这个有ADMIN 选项的权限作为DBA角色部分权限.
开始管理娄据库资源管理器,让你执行在DBMS_RESOURCE_MANAGER包的所有程序。在下面的表中列以了所有程序,并且它们的使用是在后面的几节本章解释。
Procedure | Description |
Create_simple_plan | 一步到位,创建一个简便的资源计划,包含高达8个消费组。从你开始浏览这个页面开始,这是最快的方法 。 |
Create_plan | 创建一个资源组,并指定它的分配方法 |
Update_plan | 更新一个资源计划。 |
Delete_plan | 删除一个资源计划和它的指令。 |
Delete_plan_cascade | 删除一个资源计划和子计划。 |
Create_consumer_group | 创建一个资源消耗组 |
Update_consumer_group | 更新一个资源消耗组。 |
Delete_consumer_group | 删 除一个消耗组。 |
Create_plan_directive | 充许对资源消耗组或者在这个计划的子计划资源指定资源计划指令 |
Update_plan_directive | 更新计划指令 |
Delete_plan_directive | 删除计划批令 |
Create_pending_area | 创建一个还有改变的未决区域(草稿区域)能被计划调模式。 |
Validate_pending_area | 验证挂起计划模式的更改 |
Clear_pending_area | 清除挂起区域所有的挂起的改变 |
Submit_pending_area | 为计划模式提交所有的改变。 |
Set_initial_consumber_group | 为用户设置这个初始消费组。些程序已被老替代。这个数据库推荐你使用set_consumer_mapping 程序来指定初始消耗组。 |
Switch_consumer_grou_for_sess | 交换指定会话的消耗组。 |
Switch_consumer_group_for_user | 交换指定用户的所有会话的消耗组。 |
Switch_consumer_group_mapping | 映身会话到指定的消耗组。 |
Set_consumer_group_privs | 确立会话属性映射的优先极。 |
作为一个DBA,你可以带着admin选择,选择对其他用户和角色授以管理员权限。他是可接受使用dbms_resource_manager_privs包。这个包包含这些程序在下面的表列出:
Produre | Description |
Grant_system_privilege | 授以administer_resource_manager 系统权限给用户和角色。 |
Revoke_system_privilege | 撤消administer_resource_manager系统权限从用户和角色。 |
Grant_switch_consumer_group | 对用户、角色、用户组、公共的。授以交换到指定资源 |
在下面的例子授以管理员的权限给scott用户,但没有给scott用户admin 选择。因些scott用户能执行dbms_resource_manager 包的所用程序,但scott不能使用grant_system_privilege 程序授管理员权限给其他用户。
EXEC dbms_resource_manager_privs.grant_system_privilege
(GRANT_NAME=>'SCOTT','PRIVILEGE_NAME=>'ADMINISTER_RESOURCE_MANAGER',
ADMIN_OPTION=>FALSE);
你能使用REVOKE_SYSTEM_PROVILEGE程序撤消这个权限。
————————————————————————————————————————————————
注意: ADMINISER_RESOURCE_MANAGER 系统权限只能使用DBMS_RESOURCE_MANAGER_PRIVS 包授权或者撤消权限。不能通过SQL语句 grant 或者revoke授于哉撤消权限。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27036311/viewspace-753537/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27036311/viewspace-753537/