Oracle之Database Resource Manager和Database resource group

1、什么是Database Resource Manager

2、database resource manager的作用是什么?

3、database resource manger如何创建

4、database resource manager应用场景是什么?

一,基本概念

Simple View Of Resource Plan

. Resource consumer group (资源用户组)
A group of sessions that are grouped together based on resource requirements. The Resource Manager allocates resources to resource consumer groups, not to individual sessions.
资源管理器将资源统一分配给资源用户组,而不是某一个具体的会话,当会话建立时会根据自身属性映射到不同的用户组,并从中申请系统资源

. Resource plan (资源计划)
A container for directives that specify how resources are allocated to resource consumer groups. You specify how the database allocates resources by activating a specific resource plan.
一个数据库可以有多个Resource Plan,但是同一时刻只能有一个Plan状态为Active(由初始化参数 resource_manager_plan 决定),关联多个 Resource Plan directive

. Resource plan directive (资源计划指令)
Associates a resource consumer group with a particular plan and specifies how resources are to be allocated to that resource consumer group.
创建一个计划指令后就决定了系统资源如何分配给一个资源用户组

二,如何创建一个资源计划

1. Create Pending Area

All changes to the plan schema must be done within a pending area. The pending area can be thought of as a "scratch" area for plan schema changes.
所有关于 Resource Manager 组件创建和更改都必须在 Pending Area 中完成,文档说可以理解为一个“草稿区”

SQL> exec DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA

PL/SQL procedure successfully completed.

2. Create A Resource Planing

创建资源计划时需要注意的一点是如果 sub_plan 参数指定为 TRUE,那么这个计划只能作为子计划使用,并且不需要为 OTHER_GROUPS 创建 Plan Directive

SQL> BEGIN
  2 DBMS_RESOURCE_MANAGER.CREATE_PLAN(
  3 plan => ‘PLAN1‘,
  4 comment => ‘Test Plan...‘,
  5 sub_plan => FALSE);                   --默认值即为 FALSE
  6 END;
  7 /

PL/SQL procedure successfully completed.

3. Create Consumer Groups

根据实际需求创建所需要的用户组,需要注意的是虽然这一步并没有创建 OTHER_GROUPS 用户组,但是后面必须为 OTHER_GROUPS 用户组创建相对应的Plan Directive

SQL> BEGIN
  2 DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
  3 consumer_group => ‘GROUP_OLTP‘,
  4 comment => ‘Group of OLTP USERS...‘,
  5 mgmt_mth => ‘ROUND-ROBIN‘);            --该用户组内各会话的CPU资源采取轮询的分配方法
  6 END;
  7 /

PL/SQL procedure successfully completed.

SQL> BEGIN
  2 DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
  3 consumer_group => ‘GROUP_OLAP‘,
  4 comment => ‘Group of OLAP USERS...‘,
  5 mgmt_mth => ‘ROUND-ROBIN‘);
  6 END;
  7 /
PL/SQL procedure successfully completed.

4. Map Sessions To Consumer Groups

根据会话的登录和运行属性建立该会话和资源用户组的映射关系,可以使用过程 SET_INITIAL_CONSUMER_GROUP 通过“Username”设置用户的初始用户资源组,该过程在11gR1被弃用后,改为使用过程 SET_CONSUMER_GROUP_MAPPING 通过“Session Attribute”来映射用户组。
这里所说的会话属性包括:  oracle_user,client_os_user,client_program,client_machine,module_name ...
当会话的多个属性映射发生冲突时,会根据每个属性的优先级来决定最终映射关系,使用这个过程来调整属性的优先级:SET_CONSUMER_GROUP_MAPPING_PRI

SQL> BEGIN
  2 DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
  3 attribute => ‘CLIENT_MACHINE‘,
  4 value => ‘ASM‘,                    --将从“ASM”客户机发起的会话映射到“GROUP_OLAP”用户组
  5 consumer_group => ‘GROUP_OLAP‘);
  6 END;
  7 /

PL/SQL procedure successfully completed.

SQL> BEGIN
  2 DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
  3 attribute => ‘CLIENT_MACHINE‘,
  4 value => ‘WORKGROUP\XIAO‘,         --将从“WORKGROUP\XIAO”客户机发起的会话映射到“GROUP_OLTP”用户组
  5 consumer_group => ‘GROUP_OLTP‘);
  6 END;
  7 /

PL/SQL procedure successfully completed.

5. Create Resource Plan Directives

针对会话映射到的每一个用户组创建资源计划指令,可以看做是数据库资源管理的控制核心。

这里可以控制的资源种类比较多:
a.CPU使用、
b.最大活跃会话数、
c.会话并行度、
d.会话最大空闲时间,
e.Undo使用大小等

SQL> BEGIN
  2 DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
  3 plan => ‘PLAN1‘,                                        --将该Plan Directive 关联到 PLAN "Plan1"
  4 group_or_subplan => ‘GROUP_OLAP‘,                       --可以指定用户组,也可以指定Sub Plan,和上一个参数构成了 Plan Diretive 的唯一属性
  5 comment => ‘Directives for OLAP consumer group...‘,
  6 active_sess_pool_p1 => 5,                               --最大活跃会话数,达到该限制后其他会话进入 Inactive session queue
  7 queueing_p1 => 10,                                      --在 Inactive session queue 的等待超时时间
  8 parallel_degree_limit_p1 => 2,                          --最大并行度
  9 switch_group => ‘KILL_SESSION‘,                         --在满足指定条件后,对会话所采取的操作
10 switch_time => 3,                                       --执行时间限制,会话操作执行时间超过该值后,即被采取上一步的相应操作(second)
11 switch_estimate => FALSE,                               --如果设置为 TRUE,在操作执行前Oracle先估算执行时间以决定是否对其切换用户组
12 max_est_exec_time => 5,                                 --最大估算执行时间,优化器对操作时间进行估算,如果超过该值则直接返回“ORA-07455”
13 undo_pool => NULL,                                      --uncommited undo segments 限制(KB)
14 max_idle_time => 300,                                   --会话最大空闲时间
15 max_idle_blocker_time => 3,                             --Blocker会话的最大空闲时间
16 mgmt_p1 => 30,                                          --CPU使用限制(Level 1)
17 mgmt_p2 => 0);                                          --CPU使用限制(Level 2)
18 END;
19 /

PL/SQL procedure successfully completed.

SQL> BEGIN
  2 DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
  3 plan => ‘PLAN1‘,
  4 group_or_subplan => ‘GROUP_OLTP‘,                       --为“GROUP_OLTP”用户组创建指令计划
  5 comment => ‘Directives for OLTP consumer group...‘,
  6 active_sess_pool_p1 => 10,
  7 switch_group => ‘CANCEL_SQL‘,
  8 switch_time => 3,max_idle_time => 3,
  9 mgmt_p1 => 60,
10 mgmt_p2 => 0);
11 END;
12 /

PL/SQL procedure successfully completed.

SQL> BEGIN
  2 DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
  3 plan => ‘PLAN1‘,
  4 group_or_subplan => ‘OTHER_GROUPS‘,                     --为没有映射到以上用户组中的会话创建 Plan Directive
  5 comment => ‘Directives for the other users group...‘,
  6 parallel_degree_limit_p1 => 1,
  7 mgmt_p1 => 0,
  8 mgmt_p2 => 100);                                        --CPU使用限制(Level 2 的100%,即 Level 1 分配剩下的10%)
  9 END;
10 /

PL/SQL procedure successfully completed.

6. Validate & Submit Resource Plan

在对资源管理元素的创建及更改完成后执行校验并提交,如果出现逻辑上的错误会导致报错,比如:
  . 没有定义 OTHER_GROUPS 用户组的 Plan Directive
  . 一个 Plan 中各个 Plan Directive 的 mgmt_p1 或者 mgmt_p2 之和大于 100%等一些其他的错误

SQL> exec DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA()

PL/SQL procedure successfully completed.

SQL> exec DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA()

PL/SQL procedure successfully completed.

7. View The Database Resource Manager Elements

可以通过动态性能视图和数据字典查看,也可以通过EM的图形界面来查看

Consumer Groups:

Consumer Groups Mapping:

Resource Plan Directives:

至此,资源管理计划已经创建完成,修改初始化参数 resource_manager_plan 以启用新的资源管理计划,或者直接在EM控制台中将该计划的状态改为“Active”

附(动态性能视图及数据字典)
DBA_RSRC_CATEGORIES
DBA_RSRC_CONSUMER_GROUP_PRIVS
DBA_RSRC_CONSUMER_GROUPS
DBA_RSRC_GROUP_MAPPINGS
DBA_RSRC_IO_CALIBRATE
DBA_RSRC_MANAGER_SYSTEM_PRIVS
DBA_RSRC_MAPPING_PRIORITY
DBA_RSRC_PLAN_DIRECTIVES
DBA_RSRC_PLANS
V$RSRC_CONS_GROUP_HISTORY
V$RSRC_CONSUMER_GROUP
V$RSRC_CONSUMER_GROUP_CPU_MTH
V$RSRC_PLAN
V$RSRC_PLAN_CPU_MTH
V$RSRC_PLAN_HISTORY
V$RSRC_SESSION_INFO
V$RSRCMGRMETRIC
V$RSRCMGRMETRIC_HISTORY

2、关闭数据库DRM功能。

A、方案1:彻底关闭需要修改_gc_policy_time=0参数,但是需要重启数据库。

原文地址:https://www.cnblogs.com/dayu-liu/p/11073678.html

时间: 2024-10-11 06:15:49

Oracle之Database Resource Manager和Database resource group的相关文章

Azure Resource Manager 简介

Azure Resource Manager 简介? 注意 您当前查看的页面是未经授权的转载!查看最新版本请前往:http://www.cnblogs.com/qin-nz/p/azrue-resource-manager-introduction.html. 提示 本文更新时间:2016年01月01日. Azure 资源管理器 ( Azure Resource Manager ) 是微软新提供的一种管理Azure资源的一种模式. 这种管理的思想不仅出现在命令行和PowerShell中,也出现在

resource manager因为CapacityScheduler的NPE异常退出,引起failover切换

一.问题描述 yarn2.0发生resource manager down(master2)掉,并引起resource manager的failover切换 二.问题分析 1)看master2上resource manager的日志 2016-06-26 12:35:41,504 INFO org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger: USER=warehouse        OPERATION=AM Released

Mac Error Create Android Project - “Errors running builder 'Android Resource Manager' on project”

http://stackoverflow.com/questions/18096315/mac-error-create-android-project-errors-running-builder-android-resource-man 在mac笔记本上运行android eclipse报标题的错误,然后在stackoverflow上找到了答案 18down votefavorite 5 I spent the whole day just trying to create a simple

Resource Manager

Azure Resource Manager overview https://azure.microsoft.com/en-us/documentation/articles/resource-group-overview/ https://azure.microsoft.com/en-us/documentation/articles/resource-manager-deployment-model/

Hadoop 管理工具HUE配置-Yarn Resource Manager HA配置

安装HUE之后,需要配置很多东西才能将这个系统的功能发挥出来,因为Yarn是配置的HA模式,所以在配置HUE的时候,会有些不用,下面一段文字是官网拿来的 # Configuration for YARN (MR2) # ------------------------------------------------------------------------ [[yarn_clusters]] [[[default]]] # Whether to submit jobs to this cl

yarn 与 resource manager ha

YARN最初的思想是把hadoop1中的job tracker的功能拆分出来,把它的资源管理与任务调度功能分成两个单独的进程.yarn体系结构中有两个进程,resource manager和nodemanger.前者主要负责资源分配,后者nodemanager在每一个机器中都有一个进程,负责container的创建,监控分配的资源(CPU,内存和磁盘与网络资源),同时通过心跳汇报这些情况给RM.applicationmaster是框架特定的作业进程,主要负责与RM申请资源与监控任务执行的情况.运

Oracle GoldenGate 支持 从SAP HANA database抽取或者复制数据到SAP HANA database 吗?

Oracle GoldenGate 支持 从SAP  HANA database抽取或者复制数据到SAP HANA database 吗? 来源于: Does Oracle GoldenGate Support Replication to / from SAP - HANA database (文档 ID 1413202.1) 适用于: Oracle GoldenGate - Version 10.4.0.19 and later Information in this document ap

hadoop官方文档学习笔记(1)——resource manager HA

resource manager HA是hadoop自从2.4之后推出的功能,以Active/Standby的方式提供冗余,目的是为了消除单点失败的风险. 1.总体架构: 2.故障切换:有自动和手动两种形式. 手动:如果以手动形式切换,使用yarn haadmin命令首先将Active节点转为standby,再将standby节点转为active. 自动:RM有基于zookeeper的节点选举机制决定哪一个是活动节点.不需要像HDFS一样部署一个zkfc守护进程,因为RM内嵌了这样的功能. 做了

Oracle学习之DATAGUARD(十一) snapshot database

Snapshot Standby,此功能可将备库置身于"可读写状态"用于不方便在生产环境主库中测试的内容,比如模拟上线测试等任务.当备库读写状态下任务完成后,可以非常轻松的完成Snapshot Standby数据库角色切换回备库角色,恢复与主库数据同步.在Snapshot Standby数据库状态下,备库是可以接受主库传过来的日志,但是不能够将变化应用在备库中. 物理备库要转换成Snapshot的前提条件 停止备库上的日志应用. 备库开启数据库闪回功能 下面演示,如果切换成snapsh