Oracle数据库资源管理

1.了解Resource Manager术语

Resource Manager的3个基本结构:资源使用者组、资源计划(和辅助计划)、资源计划向导。

使用数据库资源管理器可以帮助管理资源 (如 CPU 和还原空间) 在用户会话间的分配方式。继续执行以下步骤可以配置资源管理器:

  • 使用者组 定义根据资源处理需求将用户会话分组的使用者组。资源计划将资源分配给使用者组。指定一些用户和角色, 他们可以在每个使用者组中开始会话, 或者将他们的会话切换到每个使用者组。
  • 使用者组映射 定义使用者组映射规则, 此规则基于会话属性 (例如用户名, 服务名, 模块名等) 将用户会话映射到使用者组。要解决映射冲突, 请按映射规则优先级的顺序应用映射规则。
  • 计划 定义资源计划, 其中包含指定将资源分配给使用者组方式的指令。例如, 对于每个计划, 需要指定分配给每个使用者组的 CPU 资源百分比。可以选择指定其他限制, 如使用者组中的会话可以执行或保持空闲的最大时间, 或者会话在自动切换到低优先级的使用者组之前消耗的 CPU 或 I/O 资源的最大量。
  • 设置 查看当前活动的资源计划。激活资源计划。
  • 性能统计信息 监视当前启用的资源计划的统计信息。按使用者组监视 CPU 和 I/O 的使用情况, 并按使用者组监视资源管理器为 CPU 执行的约束数。

2.了解Resource Manager分配方法

Resource Manager可以根据以下一个或多个度量单位分配资源:

  • CPU使用率
  • 并行程度
  • 活动会话数量
  • 撤销空间
  • CPU时限
  • 闲置时间限制

3.了解DEFAULT_PLAN

资源计划resource_manager_plan参数:

SQL> show parameter resource

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
resource_limit                       boolean                           FALSE
resource_manager_cpu_allocation      integer                           2
resource_manager_plan                string
--设置resource_manager_plan为DEFAULT_PLAN
SQL> alter system set resource_manager_plan = ‘DEFAULT_PLAN‘;

System altered.

SQL> show parameter resource

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
resource_limit                       boolean                           FALSE
resource_manager_cpu_allocation      integer                           2
resource_manager_plan                string                            DEFAULT_PLAN

如果未设置resource_manager_plan参数的值,则不在实例中执行资源管理。

4.新建资源计划

可以使用PL/SQL包“DBMS_RESOURCE_MANAGER”的CREATE_PLAN、UPDATE_PLAN和DELETE_PLAN来创建、更新和删除资源计划。

--为资源管理器会话创建等待区(必须要创建)
exec DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();

--新建资源计划,名称DEVELOPERS
execute DBMS_RESOURCE_MANAGER.CREATE_PLAN -
(Plan => ‘DEVELOPERS‘, -
Comment => ‘Developers, in Development database‘);

5.创建使用者组

新建两个使用者组:ONLINE_DEVELOPERS和BATCH_DEVELOPERS

--新建使用者组 ONLINE_DEVELOPERS
exec DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP -
(Consumer_Group => ‘ONLINE_DEVELOPERS‘, -
Comment => ‘Online developers‘);

--新建使用者组 BATCH_DEVELOPERS
exec DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP -
(Consumer_Group => ‘BATCH_DEVELOPERS‘, -
Comment => ‘Batch developers‘);

6.了解资源分配方法

创建两个计划指导,以便将75%的CPU资源分配给ONLINE_DEVELOPERS组,25%的CPU资源分配给BATCH_DEVELOPERS组。
另外,将ONLINE_DEVELOPERS组并行性限制为12,将BATCH_DEVELOPERS组的并行性限制为6。

--ONLINE_DEVELOPERS
exec dbms_resource_manager.create_plan_directive -
(Plan => ‘DEVELOPERS‘, -
Group_or_subplan => ‘ONLINE_DEVELOPERS‘, -
Comment => ‘Online developers‘, -
Cpu_p1 => 75, -
Cpu_p2 => 0, -
Parallel_degree_limit_p1 => 12);

--BATCH_DEVELOPERS
exec dbms_resource_manager.create_plan_directive -
(Plan => ‘DEVELOPERS‘, -
Group_or_subplan => ‘BATCH_DEVELOPERS‘, -
Comment => ‘Batch developers‘, -
Cpu_p1 => 25, -
Cpu_p2 => 0, -
Parallel_degree_limit_p1 => 6);

--OTHER_GROUPS(计划中必须包含此组)
exec dbms_resource_manager.create_plan_directive -
(Plan => ‘DEVELOPERS‘, -
Group_or_subplan => ‘OTHER_GROUPS‘, -
Comment => ‘Everyone else‘, -
Cpu_p1 => 0, -
Cpu_p2 => 100, -
Parallel_degree_limit_p1 => 6);

--验证是否有效
exec DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA();
--提交更改
exec DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
--清除更改
exec DBMS_RESOURCE_MANAGER.CLEAR_PENDING_AREA();

7.分配使用者组

将用户合理分配到使用者组中,
将JINGYU分配到Online_developers使用者组:

--赋予JINGYU切换到ONLINE_DEVELOPERS使用者组的权限
exec dbms_resource_manager_privs.grant_switch_consumer_group -
(grantee_name=>‘jingyu‘, -
consumer_group=>‘ONLINE_DEVELOPERS‘, -
grant_option=>true);

--将JINGYU分配到Online_developers使用者组
exec DBMS_RESOURCE_MANAGER.SET_INITIAL_CONSUMER_GROUP -
(‘JINGYU‘,‘ONLINE_DEVELOPERS‘);

将ALFRED分配到Batch_developers使用者组:

--赋予ALFRED切换到BATCH_DEVELOPERS使用者组的权限
exec dbms_resource_manager_privs.grant_switch_consumer_group -
(grantee_name=>‘alfred‘, -
consumer_group=>‘BATCH_DEVELOPERS‘, -
grant_option=>true);

--赋予用户administer_resource_manager权限
begin
  dbms_resource_manager_privs.grant_system_privilege(
  grantee_name=>‘alfred‘,
  privilege_name=>‘administer_resource_manager‘,
  admin_option=>true);
end;
/

--将alfred分配到Batch_developers使用者组
exec DBMS_RESOURCE_MANAGER.SET_INITIAL_CONSUMER_GROUP -
(‘alfred‘,‘BATCH_DEVELOPERS‘);

8.激活资源计划

--激活资源计划 DEVELOPERS
alter system set resource_manager_plan = ‘DEVELOPERS‘;

9.了解Resource Manager视图

DBA_RSRC_PLANS                  -> 资源计划和每个计划的状态
DBA_RSRC_PLAN_DIRECTIVES        -> 资源计划指导
DBA_RSRC_CONSUMER_GROUPS        -> 资源计划使用者组
DBA_RSRC_CONSUMER_GROUP_PRIVS   -> 使用者组用户和角色分配
DBA_RSRC_GROUP_MAPPINGS         -> 会话属性与使用者组之间的使用者组映射
DBA_RSRC_MAPPING_PRIORITY       -> 资源映射优先级
DBA_USERS                       -> INITIAL_RSRC_CONSUMER_GROUP列包含用户的初始化使用者
DBA_RSRC_MANAGER_SYSTEM_PRIVS   -> 被授予DBMS_RESOURCE_MANAGER包上的权限的用户

查看每个计划的状态和特点:

set linesize 120
col plan for a30
col status for a30
select plan, status, num_plan_directives, mandatory from dba_rsrc_plans;

status列值为PENDING说明计划尚未经过验证并成功提交;
mandatory列值为YES说明无法删除计划。

10.监视Resource Manager

下面3个动态性能视图显示Resource Manager的统计信息:

v$rsrc_consumer_group   -> 按使用者组列出的CPU使用率
v$sysstat               -> 所有会话的CPU使用率
v$sesstat               -> 按会话列出的CPU使用率

还可以通过EM的Resource Manager下statistics连接查询CPU、I/O、等待时间和排队会话的明细。

Reference

  • OCP 认证考试指南 (1Z0-053)[M]. 清华大学出版社, 2010.
时间: 2024-11-07 05:42:26

Oracle数据库资源管理的相关文章

P6 EPPM手动安装指南(Oracle数据库)(一)

P6 EPPM手动安装指南(Oracle数据库) P6 EPPM Manual Installation Guide (Oracle Database) 1.      内容... 1 1.1.         Oracle数据库手动配置的概述... 1 1.1.1.            Oracle数据库安装... 2 1.1.1.1.           创建数据库结构甲骨文和加载应用程序数据... 2 1.1.1.1.1.            创建P6 EPPM为Oracle数据库结构

51CTO学院四周年课程分享:Oracle数据库课程优惠活动清单1.0

        51CTO学院四周年活动(7月1日-7月7日)       Oracle数据库课程优惠活动清单(1年只有1次)  微职位优惠2000+.视频单课原价6折.视频套餐折上8折 活动预约QQ:176140749(风哥);   学习交流QQ群:199479729.158277749 推荐活动一:Oracle 云数据库高级工程师微职位(九大阶段.高薪就业.辅导培训) --立减2000元+ 活动地址 http://edu.51cto.com/px/train/131?xiaotu 课程试听

Oracle数据库最全笔记--基本概念(持续更新)

前言: 为什么要学习数据库? 1.1数据库的概念 数据库是按照数据结构组织,存储和管理数据的仓库. 数据库,简单来说是本身可视为电子化的文件柜-存储电子文件的处所,用户可以对文件中的数据进行新增.截取.更新.删除等操作. 它将数据以一定方式存储在一起.能够为多个用户共享.尽可能小的冗余度的特点.是与应用程序彼此独立的数据集合. 1.2数据模型是数据库中数据的存储方式,是数据库系统的基础 数据模型经历了: 1.2.1层次模型:层次模型是数据库系统最早使用的一种模型,他的数据结构是一颗"有向树&qu

Oracle数据库性能优化视频课程套餐(案例、实战、详细、全面)

套餐名称: Oracle数据库性能优化视频课程套餐(案例.实战.详细.全面) 套餐介绍: 风哥Oracle数据库性能优化培训套餐(案例.实战.详细.全面),包括内容: Oracle性能优化之执行计划管理.统计信息管理.性能诊断工具.性能跟踪工具.分区表管理.资源管理.操作系统工具.性能调整.物化视图.JOB自动任务管理等,套餐涉及10套课程,60个小时的课程,大量的案例. 套餐地址: http://edu.51cto.com/pack/view/id-974.html

Oracle数据库精讲课程之Rac管理最全课程

1. 本课程是怎么样的一门课程(全面介绍) 该课程隶属***数据库板块-<oracle数据库精讲课程之rac管理> Real Application Cluster简称RAC,是ORACLE公司推出的一款集群管理软件.本课程在Redhat环境下搭建RAC平台,通过前期的理论讲解,并不断实践操作,实现以下目标:安装RAC数据库服务器.创建RAC数据库: 通过SQL/PLSQL访问Oracle RAC数据库: 创建数据库应用: 安装.配置客户端: 定制RAC数据库备份方案并实施: 性能监控及调整:

Oracle数据库用户及权限管理_超越OCP精通Oracle视频课程培训08

课程目标 Oracle视频教程,风哥本套oracle教程培训学习用户的管理/创建/删除/修改,.权限与角色的创建与管理,密码策略180天过期的处理,数据库监控与备份权限的用户等的Oracle数据库用户的日常管理与维护. 适用人群 IT相关从业人员.Oracle数据库技术人员.想加工资的.想升职的都可以. 课程地址: http://edu.51cto.com/course/course_id-6472.html 课程简介 本课程介绍: Oracle视频教程,风哥本套oracle教程培训学习用户的管

在C#中,不安装Oracle客户端如何连接Oracle数据库

本方法优点: 1.程序内集成Oracle客户端,无需用户自行进行配置 本方法缺点: 2.增加程序包的体积(Oracle instant client本身有几十兆大小) 下面说一下如何实现. 0.首先,从Oracle网站上下载对应版本的Oracle instant client包,网址在这里 http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 由于是Windows程序,只需要下载W

整理ORACLE数据库备份常用术语

本文将讲述在备份是常用的数据库相关术语以及业界定义的专业术语,供大家参考和学习. 数据库相关术语: (1)冷备份: 冷备份是将数据库关闭之后,将数据文件.联机日志文件.控制文件拷贝到其他地方进行备份.此外,冷备份也可以包括对参数文件和口令文件的备份,但是这两种文件的备份是可以根据需要进行选择的,冷备份实际上也是一种物理备份. (2)热备份: 热备份是相对于冷备份而言的,不需要停机操作,直接可以在线采用archive mode下进行数据库备份和还原操作.比较常见的热备方法就是使用Rman备份. (

Oracle数据库精讲课程之Rac管理(集群组件、性能监控及调整、节点管理、备份和恢复)

对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 本课程主要是介绍Oracle RAC体系结构与工作机制,了解并掌握RAC数据库下的相关技术,如:cache Fusion. Failover.load balance.FAN.OCR和Voting disk等,通过VMWARE虚拟环境,实践演练RAC数据库的安装部署.RAC数据库日常性能监控.备份和恢复.实例增加和删除以及补丁安装等操作,通过本课程的学习,学员在掌握RAC理论知识基础上,能够熟练掌握RAC数据库的日常管理操作. 课