oracle用户资源管理

本文详细介绍了Oracle数据库的用户资源管理,包括资源用户组、资源规划、资源分配方法和资源计划目录的功能。通过示例展示了如何使用DBMS_RESOURCE_MANAGER包创建和管理资源计划,以及如何限制用户组的CPU使用、并发会话数、等待时间和并行度。资源管理器旨在确保资源公平分配,防止系统负载过重,并动态调整资源配置。
摘要由CSDN通过智能技术生成
一、前言
资源管理器有三个部件组成:资源用户组(Resource consumer group )、资源规划(Resource plan )、资源分配方法(Resource allocation method)及资源计划目录(Resource plan directives) 。它们的功能如下:
部件说明
资源用户组: 根据数据库资源处理需求,将用户会话分成组
资源规划: 指定哪些资源分配给资源用户的命令
资源分配方法: 数据库资源管理器分配特殊资源时采用的方法,由资源用户组和资源规划来使用。
资源规划命令: 管理员使用这些命令将资源用户组与特殊规划连接起来,并在资源用户组之间分配资源。
数据库资源管理器可以完成:
1.确保某些用户处理少量的资源,不考虑对系统的加载和用户的数量。
2.按比例将CPU时间分配给不同的用户和程序,分配有效的处理资源。
3.限制一组用户可以使用的并行度。
4.对实例进行配置,使其能使用特殊的资源分配方法。例如,DBA不用关闭数据库实例就可以动态地改变这些配置方法。

二、概述
用户资源管理涉及到的数据包主要有两个:DBMS_RESOURCE_MANAGER和DBMS_RESOURCE_MANAGER _PRIVS。
其中包DBMS_RESOURCE_MANAGER主要是用于建立资源计划,建立资源用户组,建立资源分配方法等用户资源相关的管理;而DBMS_RESOURCE_MANAGER _PRIVS的主要用途是进行用户资源管理的权限控制。
对于一个简单的用户资源管理计划来说,仅仅使用DBMS_RESOURCE_MANAGER包就足够了,所以下面仅仅对DBMS_RESOURCE_MANAGER的使用进行详细的说明。

三、举例
下面通过一个简单的用户资源管理计划的建立来让大家熟悉下DBMS_RESOURCE_MANAGER包的使用方法。
(1)用户资源管理示意图
 
上面就是一个数据仓库的简单的用户资源管理计划示意图。资源用户管理计划的名字是DW_PLAN,在这个资源管理计划下有三个资源用户组,分别是DB_DEV,TMP_DATA,OTHER_GROUPS。
这个资源管理计划里面仅仅包括对CPU的控制,其中用户组DB_DEV可以获得的资源CPU 80% LEVEL 1,用户组TMP_DATA可以获得的资源是CPU 20% LEVEL 1,而用户组OTHER_GROUPS可以获得的资源是CPU 100% LEVEL 2。
CPU的百分比很好理解的,比如说DB_DEV可以获得80%的CPU资源,他的级别是LEVEL 1。关于这个LEVEL是很让人迷惑的,其实LEVEL就是资源获取的优先级别,拿上面的例子来说,假设DB_DEV和TMP_DATA分别获得了系统的80%和20%的CPU资源,那么作为下一级LEVEL 2的OTHER_GROUPS将不会获得任何CPU的资源。当DB_DEV和TMP_DATA分别获得了系统的40%和10%的CPU资源,那么作为下一级LEVEL 2的OTHER_GROUPS将会获得50%的CPU资源。
换句话说,LEVEL 2所能获得的全部资源就是LEVEL 1所未能使用的那部分资源。
优先级ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值