Oracle资源管理器介绍(一)

数据库资源管理器通过控制数据库内部的执行调度来控制资源在各个会话之间的分布。通过控制所要运行的会话以及会话运行的时间长度,数据库资源管理器可以确保资源分布与计划指令相匹配,因此也符合业务目标。

请注意,oracle resource manager对CPU的限制粒度为消费组(consumer group), 无法细化控制消费组内个别进程消耗CPU的比例,只要不超出该消费组的CPU限制,消费组内的单个或多个进程的CPU使用不受限制。 

10g中Resource Manager资源管理器可以控制的资源种类:

  1. Oracle进程的CPU使用率
  2. 并行度(Parallel)
  3. UNDO数量
  4. SQL语句操作执行时间(Execute Time)
  5. 会话空闲时间(Idle Time)  ---连接用户处于unactive状态超过idle time,会话自动被kill
  6. 活跃会话(session)数   --- 注意:是活跃即处于active状态的会话

CPU资源使用说明:

 一, EMPHASIS CPU 分配方法确定在资源计划中对不同使用者组中的会话的重视程度。CPU

占用率的分配级别为从1 到8,级别1 的优先级最高。百分比指定如何将CPU 资源分配

给每一级中的各个使用者组。

以下规则适用于EMPHASIS 资源分配方法:

CPU 资源在给定级别按指定的百分比分配。为资源使用者组指定的CPU 百分比是该

使用者组在给定级别可以使用的最大值。

给定级别上没有使用的使用者资源可供下一级别的使用者组使用。例如,如果级别1

的使用者组只使用了60% 的可用资源,则其余的40% 可供级别2 的使用者组使用。

任何给定级别的百分比总和必须小于等于100。

对于没有明确指定计划指令的所有级别,其所有子计划或使用者组的默认资源是0%。

EMPHASIS 资源分配方法避免了资源缺乏问题,该问题导致优先级较低的使用者没

有运行的机会。

二,RATIO 策略是一个单级别CPU 分配方法。将指定要为使用者组分配的CPU 比率相对应的数字,而不是百分比。例如,假定有三个使用者组OLTP_USERS、DSS_USERS 和BATCH_USERS,可以指定下列比率:

OLTP_USERS:4

DSS_USERS:3

BATCH_USERS:2

OTHER:1

这就类似于让OLTP 用户获得40% 的资源、DSS 用户获得30% 的资源、批用户获得20%的资源、所有其它使用者组获得10% 的可用资源。如果OTHER 或DSS_USERS 使用者组中当前都没有使用者在使用CPU 资源,则OLTP_USERS 使用者组将获得三分之二的可用资源,而BATCH_USERS 使用者组将获得三分之一。

最大估计执行时间:

1.     数据库资源管理器可以预先估计操作的执行时间。

2.     可以在资源使用者组级别为操作指定最大估计执行时间。

3.     如果估计时间超过MAX_EST_EXEC_TIME,则操作不会启动。(ORA-07455)

4.     此功能的好处是消除了使用过多系统资源的异常大的作业。

5.     默认值为UNLIMITED。

通过设置资源计划指令的MAX_EST_EXEC_TIME 参数,可以定义任何给定时间发生的

任何操作的最大估计执行时间。设置了此参数后,数据库资源管理器将估计特定作业消

耗的时间。如果操作的估计时间超过MAX_EST_EXEC_TIME,则不启动操作并发出

ORA-07455 错误。这样可以消除占用过多系统资源的任何异常大的作业。

如果有多个计划指令引用了某个资源使用者组,则该组可能有多个MAX_EST_EXEC_TIME。

数据库资源管理器将选择所有传入值中限制性最强的那个值。

使用基于成本的优化程序的统计信息,可以计算出给定语句的估计执行时间。

并行度

PARALLEL_DEGREE_LIMIT_MTH 限制任何操作的最大并行度。只能为资源使用者组,

而不能为子计划指定此方法。ABSOLUTE 方法是可能值,该方法指定可以为一个操作分配

的进程数量。如果有多个计划指令引用了相同的子计划或使用者组,则使用所有可能值中

的最小值作为该子计划或使用者组的并行度限制。

活动会话池

ACTIVE_SESS_POOL_MTH 限制活动会话的数量。所有其它会话均为非活动的,在队列

中等待激活。ACTIVE_SESS_POOL_ABSOLUTE 是默认且唯一的可用方法。

使用活动会话池功能,可以控制每个资源使用者组的最大并发活动会话数。使用此功能,

由于资源的消耗与活动会话的数量成比例,所以DBA 能间接控制任何资源使用者组使用

的资源量。使用活动会话池有助于减少从系统中获取资源的服务器数量,因而可以避免

由于试图同时运行过多作业而导致的低效的分页、交换和其它资源损耗(如内存)。

使用活动会话填充活动会话池后,资源管理器对尝试成为活动会话的所有后续会话进行

排队,直到其它活动会话完成或成为不活动会话。活动会话是事务处理、查询或并行操作

中当前涉及的会话。单独的并行从属进程不被视为会话;而将整个并行操作视为一个活动

会话。

每个资源使用者组只有一个队列,排队方法是先进先出(FIFO),并带有超时。队列采用

内存结构,不能直接查询。

参考:刘相兵的博客

时间: 2024-11-08 18:14:58

Oracle资源管理器介绍(一)的相关文章

Oracle资源管理器(二)-- 创建和使用数据库资源计划

(参考 http://blog.csdn.net/mrluoe/article/details/7969436 -- 整理并实践通过) 第1步,创建3个用户 SQL> create user srcb identified by srcb; User created. SQL> create user kso identified by kso; User created. SQL> create user hr identified by hr; User created SQL>

Oracle的优化器介绍

Oracle优化器介绍 本文讲述了Oracle优化器的概念.工作原理和使用方法,兼顾了Oracle8i.9i以及最新的10g三个版本.理解本文将有助于您更好的更有效的进行SQL优化工作. RBO优化器 RBO是一种基于规则的优化器,随着CBO优化器的逐步发展和完善,在最新的10g版本中Oracle已经彻底废除了RBO.正在使用Oracle8i或9i的人们或多或少的都会碰到RBO,因此在详细介绍CBO之前,我们有必要简单回顾一下古老的RBO优化器. 在RBO中Oracle根据可用的访问路径和访问路

Oracle 优化器

http://blog.csdn.net/it_man/article/details/8185370一.优化器基本知识 Oracle在执行一个SQL之前,首先要分析一下语句的执行计划,然后再按执行计划去执行.分析语句的执行计划的工作是由优化器(Optimizer)来完成的.不同的情况,一条SQL可能有多种执行计划,但在某一时点,一定只有一种执行计划是最优的,花费时间是最少的. 相信你一定会用Pl/sql Developer.Toad等工具去看一个语句的执行计划,不过你可能对Rule.Choos

ORACLE优化器RBO与CBO介绍总结

RBO和CBO的基本概念 Oracle数据库中的优化器又叫查询优化器(Query Optimizer).它是SQL分析和执行的优化工具,它负责生成.制定SQL的执行计划.Oracle的优化器有两种,基于规则的优化器(RBO)与基于代价的优化器(CBO) RBO: Rule-Based Optimization 基于规则的优化器 CBO: Cost-Based Optimization 基于代价的优化器 RBO自ORACLE 6以来被采用,一直沿用至ORACLE 9i. ORACLE 10g开始,

【推荐】介绍两款Windows资源管理器,Q-Dir 与 FreeCommander XE(比TotalCommander更易用的免费资源管理器)

你是否也像我一样,随着硬盘.文件数量的增加,而感到对于文件的管理越来越乏力. 于是我试用了传说中的各种软件,包括各种Explorer外壳,或者第三方资源管理器. 最后我确定下来经常使用,并推荐给您的是这两款软件:FreeCommander XE.Q-Dir. ============================= 我为什么推荐FreeCommander 和 Q-Dir? 因为 TotalCommander 太难学,Clover 太低端. Q-Dir 是一款简单的四格窗体的资源管理器,可以同时

10gocm->session5->数据库管理实验->GC资源管理器的资源消耗组介绍

<GC资源管理器> 公文:administrator's Guide->24 Using the Database Resource Manager 用法:在实际生产环境中使用的少 行动:限制使用数据库资源.CPU    undo表空间  IO  session 场合:当有多个应用使用一个数据库而且资源紧张时可用"资源管理器"调节 实现:可用GC完毕也可用EM完毕.还能够使用程序包完毕 UI方式:简单,快捷,不easy出错 commend方式:设置复杂,命令非常长.失

Oracle优化器三大种类的介绍

Oracle优化器一共有三种即,RULE (基于规则),COST (基于成本)以及CHOOSE (选择性),我们大家都知道设置缺省的相关Oracle优化器,其可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明. 如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖. 为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行analyze 命令,

oracle监控资源管理器

资源管理器的配置在一组dba视图显示,主要是如下视图: dba_rsrc_plans 显示计划和状态. dba_rsrc_plan_directives 显示计划指令 dba_rsrc_consumer_groups 显示使用者组 当前情形显示在v$视图中: v$session 显示每个会话的活动使用者组 v$rsrc_plan 显示当前活动的计划 v$rsrc_consumer_group 显示活动计划中的指令对应的使用者组的统计信息. 如果会话受到资源管理器的影响,它就会显示为等待事件.会话

【学习笔记】 多线程资源管理器(附流程图附源码)

<奇怪的大冒险>教程视频连接:http://www.taikr.com/course/222笔记结合了前7课的视频内容,感谢新总提供的免费视频PS:部分字段.属性和方法的命名与视频教程中有出入. 资源管理器核心的集合一共有三个:1.等待加载的资源队列 private Queue <ResLoadRequest> m_QueWaitLoadAsset = new Queue< ResLoadRequest >(); 2.当前正在加载的资源列表 private List &