`
mtvwang
  • 浏览: 40681 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Oracle数据库资源管理器(Database Resource Manager)

阅读更多

原帖地址:
http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/dbrm001.htm

 

Oracle资源管理器简介

      Oracle资源管理器(Oracle Database Resource Manager,以下简称DBRM)管理数据库资源,为不同的会话分配不同的数据库资源。DBRM管理的资源主要包括CPU时间。下面分以下几个章节介绍:

  • Oracle DBRM帮你处理哪些问题
  • Oracle DBRM是怎样处理这些问题的
  • Oracle DBRM包含的内容
  • Oracle DBRM资源分配方法
  • Oracle DBRM的权限管理

Oracle DBRM帮你处理哪些问题

      当数据库服务器资源由操作系统来分配时,你可能会遇到以下问题:

  • 过多的资源开销

当服务器进程数很多时,操作系统进程和数据库服务进程间的来回切换会导致CPU占用率或内存使用率高。

 

  • 低效的调度

操作系统调度数据库服务时占用寄存器,这样做效率很低。

 

  • 资源分配的不合理

操作系统平均分配系统资源给活动的进程(对数据库进程来说),不能判断它们的优先级高低。

 

  • 不能管理数据库特有的资源,例如:并行执行的服务数和活动的会话数。

Oracle RMDB是如何解决这些问题的

 

      Oracle RMDB把硬件等资源的分配交给数据库服务器本身来解决以上问题。在某个数据库环境中,可能同时存在着多个用户请求数据库服务,并且他们所要完成的任务优先级不同,那么我们就应该区别对待这些会话请求。Oracle RMDB能让你根据各个会话的应用属性,将它们分组,然后为每组分配不同的数据库资源,最大化提高你的数据库应用性能。

      Oracle RMDB的具体功能:

  • RMDB可以在系统启动时,限制某些会话请求只分配到最少的进程资源和用户使用上限。
  • 为不同的用户或应用分配不同的CPU时间。在一个数据仓库应用中,ROLAP(relational online analytical processing)应用分配到的比例就应该比批处理任务高。
  • 限制同一组内用户对数据库操作的并行度。
  • 建立一个活动的会话池。会话池由一组用户活动会话组成,对某一组用户来说,同一时间活动的会话数有特别的数量上限。如果会话池满了,新的会话请求会被放入等待队列,而且你还可以设置一个时间上限,超过这个上限,等待队列会被停止。会话池限制了同一时间活动的会话请求数量,保证了活动的会话请求更快的完成任务。
  • 管理长时间未响应的会话或请求,这些会话或请求往往占用了很多的CPU或I/O资源。这些会话能被自动的结束掉,或者将它们换到其他低级的组去。
  • 优化器会估算请求的运行时间,如果超出了某个显示,RMDB会阻止它的请求。
  • 限制一个会话的空闲等待时间。
  • 根据不同的资源分配需求,配置不同的模式。你可以动态的改变这些模式,例如,从白天运行模式变到夜间运行模式,而不用重启数据库服务。你还可以通过Oracle调度器来管理模式的改变。详细内容请见: Chapter 26, "Oracle Scheduler Concepts"

Oracle RDMB的组成元素

下表介绍了Oracle RDMB的组成元素。

 

元素 描述
资源使用组 根据会话的资源请求将它们分为一组。RDMB按组管理会话的资源分配,而不是按单个的会话。
资源计划 资源计划包含一系列指令,这些指令就决定了给每个组的资源分配配置。要执行资源的分配,你只需执行相应的资源计划。
资源计划指令 资源计划指令指定了资源计划和组之间的映射关系。

 

 

 

 

 

 

 

 

 

       Oracle是通过存储过程来实现这些功能的,你可以在以下包里找到这些存储过程:DBMS_RESOURCE_MANAGER.

资源使用组

    资源使用组由许多用户会话组成,这些会话有相同的资源使用请求。新创建一个会话时,RDMB会根据你的设定自动把它分配到某个组。数据库管理员还可以手动的调整某个会话所属的组。

    下面三类特别的组是系统组,它们不能被修改或删除。

  • SYS_GROUP
  • DEFAULT_CONSUMER_GROUP
  • OTHER_GROUP 

资源计划指令

   RDMB根据当前活动资源计划中的一系列资源计划指令为资源使用组分配资源。资源计划和指令间有着一对多的关系,资源计划中不能包含两条相同的指令。

   有很多种不同分配资源的指令,例如给某个组分配一定百分比的总的CPU时间,或者限制一个组内最大活动的会话数。

资源计划

   在一个数据库中同一时间只有一个资源计划起作用。一个资源计划还可以包含子资源计划。每个资源计划都必须包含给OTHER_GROUP分配支援的指令。

例子:一个简单的资源计划

   下图显示的是包含OLTP(online transaction processing)应用和报表系统数据库系统的白天的资源分配计划。

它为OLTP应用分配75%的CPU时间,为报表系统分配15%的CPU时间,剩下的是为OTHER_GROUPS分配的。
 

子资源计划

       资源指令除了给组分配资源,还可以为其他资源计划分配资源,被分配资源的计划成为子计划。下图是一个包含子计划的资源计划的例子。



 

DBRM管理的内容

       资源分配方法指定资源分配给组或子计划的百分比。DBRM管理的资源包括以下内容:

CPU Time

Active Session Pool With Queuing

       你可以设定某组的最大活动会话数,会话池满后,新的会话会被放入等待队列。

Degree Of Parallelism Limit

       限制并行运行的会话数。

Automatic Consumer Group Switching

       此功能类似于触发器机制,当某个会话满足设定的条件,它会自动被分配到其他组中去。

Cancelling SQL and Terminating Sessions

       DBRM可以取消那些长时间运行的SQL查询或会话活动。

Excution Time Limit

       DMRM可以估算某个操作的运行时间,如果超过了设定的值,数据库不会执行它。

Undo Pool

     

Idle Time Limit

      设定一个会话的最长未响应时间。

 

  • 描述: 一个简单的资源计划
  • 大小: 9.1 KB
  • 描述: 一个带子计划的资源计划
  • 大小: 6.4 KB
分享到:
评论

相关推荐

    oracle数据库入门教程

    智能管理方面,Oracle数据库提供了自动管理功能,如Automatic Storage Management (ASM)用于自动管理磁盘存储,Database Resource Manager (DRM)则帮助优化资源分配。这些工具减轻了DBA的工作负担,但理解其工作原理...

    使用resource Manager对数据库资源再分配.doc

    在Oracle数据库管理中,Resource Manager是一个强大的工具,用于控制和优化数据库资源的分配,以确保不同类型的数据库工作负载得到适当的服务水平。Resource Manager通过将资源分配给不同的消费者组(Consumer ...

    Linux 下手动创建oracle数据库

    - `resource_manager_plan=""`: 资源管理计划。 - `sessions=170`: 最大会话数。 - `sga_target=285212672`: 共享全局区(SGA)的目标大小。 - `undo_management=AUTO`: 自动撤销管理。 - `undo_retention=900`: ...

    oracle数据库教程12c

    - **版本信息**:Oracle Database 12c Release 2 (12.2)是Oracle公司发布的数据库管理系统的一个重要版本,版本号为E85634-06,发布日期为2018年5月。 - **版权信息**:该版本受版权保护,版权所有者为Oracle及其...

    Oracle数据库DBA管理手册-8

    此外,本章还提到了Oracle 8i引入的Database Resource Manager,这是一个用于管理数据库资源的工具,允许DBA设置资源分配计划和用户组,动态调整资源分配以适应不同的工作负载。并行查询选项(PQO)也是一个重要的...

    Ora9i数据库管理员指南_oracle_数据库管理_

    另外,Database Resource Manager允许对数据库资源进行分配和限制,以确保关键业务的优先处理。 总的来说,《Ora9i数据库管理员指南》这本书是全面了解和掌握Oracle 9i数据库管理的宝贵资源,无论你是初学者还是...

    Oracle+10g+数据库管理艺术

    在性能优化方面,Oracle 10g的Database Resource Manager(DRM)使得DBA可以更好地控制资源分配,根据业务优先级设置不同用户的资源使用策略。另外,SQL Tuning Advisor和Automatic Workload Repository(AWR)提供...

    Oracle数据库操作命令整理

    ### Oracle数据库操作命令知识点 #### 一、Oracle的启动与关闭 - **切换用户到Oracle** - 使用`su - oracle`切换用户到Oracle环境,适用于没有DBA密码的...对于Oracle数据库管理员来说,熟练掌握这些命令至关重要。

    Oracle数据库实验报告

    - **内容概述**:这部分主要涉及Oracle数据库的数据导入、查询表和用户信息、管理数据文件等。 - **操作示例**: - 导入表:`SQL> imp system/testtables=(xs,kc,xs_kc) file=c:\xskc.dmp;` - 查询归档文件信息:`...

    Oracle Database 11g DBA手册

    Oracle Database 11g是Oracle公司推出的一款企业级数据库管理系统,是DBA(数据库管理员)进行数据管理和系统优化的重要工具。本手册详细介绍了在Oracle Database 11g中进行数据库管理的各种技术和实践方法。 一、...

    oracle数据库实战

    - **Oracle Enterprise Manager (OEM) - Resource Advisor** - **Oracle Performance Manager (OPM)** - **OEM - Diagnostics - Performance Overview** **4.2 STATPACK监控** - **安装与配置**: - 运行`@D:\ora\...

    Oracle数据库操作命令.doc

    Oracle数据库是当前最流行的关系型数据库管理系统之一,具有高效、可靠、安全等特点。下面是 Oracle 数据库操作命令的知识点: 一、连接数据库 1. 使用 su - oracle 命令连接数据库,适合于没有 DBA 密码时使用,...

    Oracle Database 11g RAC Administration

    SQL Access Advisor和Database Resource Manager有助于优化SQL查询和数据库资源的使用。另外,TAF(Transparent Application Failover)能够在应用层透明地处理节点故障,保持会话的连续性。 **高可用性和灾难恢复...

    oracle database value

    6. **资源限制**:使用资源管理器(Resource Manager)来限制DBA的CPU、内存和I/O使用,以控制其对系统资源的访问。 7. **细粒度访问控制**(Fine-Grained Access Control, FGAC):允许基于复杂的业务逻辑定义权限...

    Oracle.Database.10g.Administration.Workshop.II.pdf

    - **版本介绍**:Oracle Database 10g 是 Oracle 公司推出的一个数据库管理系统的重要版本,其中 g 代表网格(Grid)计算。此版本在性能、安全性以及可管理性方面进行了大量的改进。 - **特性亮点**: - 自动存储管理...

    oracle数据库导入导出命令

    ### Oracle数据库导入导出命令详解 #### 一、Oracle数据库完全导出操作 根据题目描述,我们首先关注如何将一个名为“TEST”的Oracle数据库进行完全导出,具体...这对于日常的数据库管理和维护具有重要的实用价值。

    Oracle数据库11gActiveDataGuard构建标准规范-V0.docx

    1.5 将备节点的数据库加入到CRS(Cluster Resource Manager)中进行管理 在RAC环境中,将备数据库纳入CRS管理可以实现集群级别的故障切换和资源管理。 1.6 备数据库归档日志文件删除 为了优化存储,可以设置策略...

    Oracle Database 11g R2高可用性

    7. **Database Resource Manager (DRM)**: DRM 管理数据库资源,如CPU和内存,确保关键业务优先获得资源,避免资源争抢,提高系统稳定性。 8. **Adaptive Server Management**: 自适应服务器管理功能能够监控数据库...

    oracle数据库导入导出

    Oracle 数据库的导入导出是数据库管理中常用的数据迁移和备份恢复操作。Oracle 提供了 exp 和 imp 命令工具来实现这一功能。exp 是用于导出数据,而 imp 则是用于导入数据。这两个命令是 Oracle 数据库管理的重要...

Global site tag (gtag.js) - Google Analytics