一、前言
资源管理器有三个部件组成:资源用户组(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所未能使用的那部分资源。
优先级ÿ
资源管理器有三个部件组成:资源用户组(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所未能使用的那部分资源。
优先级ÿ