当前位置: 首页 > article >正文

oracle 资源管理器的使用

14.8.2资源管理器的使用
资源管理器控制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,则操作不会启动。
(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),并带有超时。队列采用内存结构,不能直接查询。

14.8.3资源管理器的组成

数据库环境中,一定会存在同时有多个用户对数据库进行作业的情况,而这些需求要执行的作业所耗费的时间与优先级必定不同,因此,就可利用数据库资源管理根据各用户会话的需求与应用属性分成不同的组,然后依照不同需求与应用属性组,分配不同的数据库系统资源,这样就可以将有限的资源做最大的利用。数据库资源管理的组成要素包括以下三点:
(1)资源使用者组(Resource Consumer Group):一个资源使用组由一组具有相似请求的用户组成,一个组可以包含许多用户,一个用户又可以是多个组的成员(这个很重要),实际中多个 session 使用一个用户名访问数据库是很普遍的,但是同一时刻,每个 session 只能有一个组作为这个 session 的有效使用者组。
当新创建一个 session 时,Oracle 会根据你的设定自动把它分配到某个组(初始化组)。如果以某个用户登录的 session,它的用户名是属于多个组的,数据库管理员可以手动的切换这个 session 所属的组。
下面三类特别的组是系统定义的组,它们不能被修改或删除。
SYS_GROUP:属于Oracle数据库系统管理员SYS与SYSTEM用户的资源使用者组。
DEFAULT_CONSUMER_GROUP:如果有用户没有指定到用户组,则该用户属于DEFAULT_CONSUMER_GROUP。
OTHER_GROUP:在资源计划里除了指定组以外的用户都默认在这个组里需要强调的一点是 OTHER_GROUPS,它是绑定在资源计划中的,所有资源计划必须要包括

(2)资源计划指令(Resource Plan Directive):是使用资源的条件,如分配给某个特定的资源使用者组,使其在某个特定的时段可使用80%的CPU,或是限制某个使用者组活动会话的数量等,而资源指令只是被包含在资源计划中,资源计划和指令间有着一对多的关系,在资源计划中不能包含两条相同的指令。
(3)资源计划(Resource Plan):包含一系列指令,这些指令决定了每个使用者组的资源使用分配,在一个数据库中,同一段时间内只能启用一个资源计划,但一个资源计划还可以包含多个子资源计划,每个资源计划都必须包含给OTHER_GROUP分配的指令。
资源计划是 Oracle 把数据库资源按一定方法来分配,可以限制每个组占用资源的比例。在一个数据库中同一时间只能有一个资源计划 active,也可以无任何资源计划 active。
查看当前被激活的资源计划的三个办法:
第一重方式查看参数,代码如下:
show resoure_manager_plan ;
第二种方式是命令方式,代码如下:
select name,is_top_plan from v$rsrc_plan;
第三种方式是是通过 OEM 查看资源管理信息
资源计划指令:Resource plan directives
资源计划指令就是给出各种限定的条件,例如给某个组分配一定百分比的 CPU 时间,或者限制一个组内最大活动的会话数等等。
以上就是数据库资源管理的三个组成要素。如应用在实际的例子上,假设有一套数据库系统必须执行联机事务处理系统(Online Transaction Processing,OLTP)与报表系统,但由于上班时间的事务量比较大,因此,可将70%的资源使用分配给OLTP应用,而报表系统可分配20%的使用资源,剩下的10%就分配给其他没有在资源计划内的组所使用。

14.8.4资源管理常用数据字典

显示数据库的计划和状态,代码如下:

select from dba_rsrc_plans;

执行后如图14-12所示。
在这里插入图片描述

图14-12查询计划的名称和状态

显示计划指令,代码如下:
select * from dba_rsrc_plan_directives

执行后如图14-13所示。
在这里插入图片描述

图14-13查询计划指令

显示连接的会话,代码如下:
select * from v$session
执行后如图14-14所示。
在这里插入图片描述

图14-14查询连接的会话

显示当前活动的计划,代码如下:
select * from v$rsrc_plan
执行后如图14-15所示。

在这里插入图片描述

图14-15查询当前活动的计划

【例14-3】 建立TIM、MIKE、MGR三个用户并授予连接数据库的权限,然后建立两个使用组。将三个用户定位到相应的自建组中。

建三个用户,并授予 connect 角色,代码如下:
create user tim identified by tim;

create user mike identified by mike;

create user mgr identified by mgr;

grant connect to tim identified by tim;
grant connect to mike identified by mike;
grant connect to mgr identified by mgr;2)

使用OEM建立两个使用者组:
以sys用户登录,找到EM菜单下Consumer Groups ,建 OLTP 组、DSS 组,把新建的三个用户指定到两个自建的组中,使用 OEM 完成把TIM、MIKE用户添加到OLTP 组,把TIM、MIKE户添加到DSS 组
建组结束前可以单击 Show SQL 研究一下输出,注意挂起区域的用法,单击 Enter 返回。
设置初始使用者组
缺省方式建立的用户会定位到 DEFAULT_CONSUMER_GROUP 组下。查询用户的组代码下:
SQL> select username,INITIAL_RSRC_CONSUMER_GROUP from dba_users;

执行后如图14-16所示。
在这里插入图片描述

.
图14-16查询当前用户属于的组

将 TIM、MIKE、MGR 这三个用户定位到相应的自建组中,session 登录后便直接属于对应的自建组,代码如下:

exec dbms_resource_manager.set_initial_consumer_group(‘TIM’,‘OLTP’);
exec dbms_resource_manager.set_initial_consumer_group(‘MIKE’,‘DSS’);
exec dbms_resource_manager.set_initial_consumer_group(‘MGR’,‘OLTP’);

14.8.5其他资源指令和阀值
(1)活动会话池
目的是限制一组同时运行的 SESSION 数量,假设 DSS 组有 8 个用户,如果就让 3 个可以运行(active session)。可将该组最大激活数设为 3,那么另外的 5 个可以连接上来,但要排队等着激活。而排队也可设延迟时间,超时后就会报错。
(2)限制并行度
Oracle 可通过参数设置并行度,如:parallel_max_servers(创建一个并行执行服务器池),但是无法阻止任何人使用它,于是可以通过 Resource Management 加以限制。
(3)通过执行时间控制作业
数据库中一个大型作业会挤掉其他用户性能,Threshold 指令可以解决这个问题。到了时间阀值,按 action 的规定去做。
依据空闲时间终止 session。不做任何事情的 session 浪费服务器资源,如 PGA 白白占用,idle time 指令从两个方面限制这样的情况,比如某组的 max idle time(秒)=1800,表示空闲了 3 分钟,block another session(秒)=30,表示把别人锁了 30 秒,这两种情况都会终止该 session。
(4)限制 undo 数据的产生
某些用户的大型事务可能填满 undo 表空间,如批处理事务不定期的提交,为了安全起见,可以对这里潜在的用户设置 undo 表空间使用上限,比如某组其 undo pool 设置为 6G,当到达这个上限值后该组中的所有 session 都会被挂起,直至事务提交后释放池中的空间。

相关文章:

oracle 资源管理器的使用

14.8.2资源管理器的使用 资源管理器控制CPU资源使用说明:  第一种分配方法:EMPHASIS CPU 分配方法确定在资源计划中对不同使用者组中的会话的重视程度。CPU占用率的分配级别为从1 到8,级别1 的优先级最高。百分比指定如何将CPU 资源分配给每…...

新手入门系列-linux系统下安装和使用docker

新手入门系列一 virtualbox+vagrant创建linux虚拟机 新手入门系列二 linux系统下安装和使用docker 前言 前面一章节我们安装了unbuntu虚拟机,这一节我们在虚拟机上安装和使用docker。 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的…...

mysql中4种扫描方式和聚簇索引非聚簇索引【爽文一篇】

目录 一 mysql的聚簇索引&非聚簇索引 1.1 数据表 1.2 聚簇索引 1.3 非聚簇索引 1.4 覆盖索引 二 mysql的4种扫描查询 2.1 全表扫描 2.2 索引扫描 2.3 覆盖索引扫描 2.4 回表扫描 2.5 总结 三 mysql的回表查询详解 3.1 回表查询 一 mysql的聚簇索引&非聚簇…...

贝叶斯优化Transformer融合支持向量机多变量回归预测,附相关性气泡图、散点密度图,Matlab实现

贝叶斯优化Transformer融合支持向量机多变量回归预测,附相关性气泡图、散点密度图,Matlab实现 目录 贝叶斯优化Transformer融合支持向量机多变量回归预测,附相关性气泡图、散点密度图,Matlab实现效果一览基本介绍程序设计参考资料…...

水平可见直线--上凸包(andrew算法

P3194 [HNOI2008] 水平可见直线 - 洛谷 不过只有90% #include<bits/stdc.h> using namespace std; #define N 100011 typedef long long ll; typedef pair<ll,int> pii; int n; struct no {double k,b;int id; }a[N],an[N]; int k; bool cmp(no a,no b) {if(a.k…...

【mysql】并发 Insert 的死锁问题 第二弹

上次死锁的场景还历历在目&#xff08;【mysql】并发 Insert 的死锁问题&#xff1a;Deadlock found when trying to get lock&#xff1b; try restarting transaction_1213 - deadlock found when trying to get lock; try-CSDN博客&#xff09;&#xff0c;这次又把代码写死…...

Docker配置SRS服务器 ,ffmpeg使用rtmp协议推流+vlc拉流

目录 演示视频 前期配置 Docker配置 ffmpeg配置 vlc配置 下载并运行 SRS 服务 推拉流流程实现 演示视频 2025-05-18 21-48-01 前期配置 Docker配置 运行 SRS 建议使用 Docker 配置 Docker 请移步&#xff1a; 一篇就够&#xff01;Windows上Docker Desktop安装 汉化完整指…...

一个stm32工程从底层上都需要由哪些文件构成

原文链接&#xff1a;https://kashima19960.github.io/2025/05/17/stm32/一个stm32工程从底层上都需要由哪些文件构成/ 前言 我最近因为做课设要用到stm32&#xff0c;所以去找了一些开源的stm32工程来看看&#xff0c;然后发现现在新版的keil mdk对于环境的配置跟以前 相比发…...

[Mac] 开发环境部署工具ServBay 1.12.2

[Mac] 开发环境部署工具ServBay 链接&#xff1a;https://pan.xunlei.com/s/VOQS0LDsC_J6XU4p-R6voF6YA1?pwdnbyg# 非常给力的本地 Web 开发/测试环境工具&#xff1a;ServBay。之前我们本地搭个 PHP MySQL Nginx 环境&#xff0c;或者搞个 PHP web 环境啥的&#xff0c;不…...

商城小程序源码介绍

今天要为大家介绍一款基于ThinkPHP、FastAdmin以及UniApp开发的商城小程序源码&#xff0c;这款源码在设计和功能上都有不俗的表现&#xff0c;非常适合想要搭建线上商城的开发者。 该源码采用了ThinkPHP作为后端框架&#xff0c;利用其强大的性能和灵活性&#xff0c;保障了系…...

鸿蒙OSUniApp 实现图片上传与压缩功能#三方框架 #Uniapp

UniApp 实现图片上传与压缩功能 前言 在移动应用开发中&#xff0c;图片上传是一个非常常见的需求。无论是用户头像、朋友圈图片还是商品图片&#xff0c;都需要上传到服务器。但移动设备拍摄的图片往往尺寸较大&#xff0c;直接上传会导致流量消耗过大、上传时间过长&#x…...

科技项目验收测试对软件产品和企业分别有哪些好处?

科技项目验收测试是指在项目的开发周期结束后&#xff0c;针对项目成果进行的一系列验证和确认活动。其目的是确保终交付的产品或系统符合预先设定的需求和标准。验收测试通常包括功能测试、性能测试、安全测试等多个方面&#xff0c;帮助企业评估软件在实际应用中的表现。 科…...

javascript和vue的不同

1. 数据绑定方式 JavaScript&#xff08;原生&#xff09; 手动操作 DOM&#xff1a;通过document.querySelector()等方法获取 DOM 元素&#xff0c;然后直接修改其属性或内容。 示例&#xff1a; <div id"counter">0</div> <button onclick"i…...

duxapp 2025-01-06更新 CLI新增帮助支持,优化基础模块结构

CLI 新增帮助命令 yarn duxapp -h yarn duxapp --helpyarn duxapp icon -h yarn duxapp icon create -h基础库 完善所有函数和组件的Types移除 Detail 组件移除 checkLocationPermission 方法移除 duxapp/utils/app.js 有关于模块的方法移除 Queue 队列功能移除 recursionSe…...

汽车零部件冲压车间MES一体机解决方案

在当前制造业升级的大背景下&#xff0c;提升生产效率、实现精细化管理已成为企业竞争力的关键。特别是在汽车零部件制造领域&#xff0c;冲压车间作为生产流程中的重要一环&#xff0c;其生产数据的实时采集与分析对于确保产品质量、优化生产节拍、降低运营成本至关重要。今天…...

hysAnalyser 从MPEG-TS导出ES功能说明

摘要 hysAnalyser 是一款特色的 MPEG-TS 数据分析工具。本文主要介绍了 hysAnalyser 从MPEG-TS 中导出选定的 ES 或 PES 功能(版本v1.0.003)&#xff0c;以便用户知悉和掌握这些功能&#xff0c;帮助分析和解决各种遇到ES或PES相关的实际问题。hysAnalyser 支持主流的MP1/MP2/…...

家里wifi不能上网或莫名跳转到赌博及色情网站就是域名被劫持、DNS被污染了

文章目录 定义上网过程域名被劫持可能阶段案例排查工具 解决方法清除系统DNS缓存查看DNS缓存清除DNS缓存 登录路由器&#xff0c;设置DNS可用的DNS地址&#xff1a; 找网络运营商报警 定义 DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;劫持&#xff0c…...

基于SSM实现的健身房系统功能实现十六

一、前言介绍&#xff1a; 1.1 项目摘要 随着社会的快速发展和人们健康意识的不断提升&#xff0c;健身行业也在迅速扩展。越来越多的人加入到健身行列&#xff0c;健身房的数量也在不断增加。这种趋势使得健身房的管理变得越来越复杂&#xff0c;传统的手工或部分自动化的管…...

【Java微服务组件】分布式协调P1-数据共享中心简单设计与实现

欢迎来到啾啾的博客&#x1f431;。 记录学习点滴。分享工作思考和实用技巧&#xff0c;偶尔也分享一些杂谈&#x1f4ac;。 欢迎评论交流&#xff0c;感谢您的阅读&#x1f604;。 目录 引言设计一个共享数据中心选择数据模型键值对设计 数据可靠性设计持久化快照 &#xff08…...

[Harmony]大文件持久化

1.添加权限 在module.json5文件中添加权限 "requestPermissions": [{"name": "ohos.permission.READ_WRITE_USER_FILE", // 读写用户数据"reason": "$string:read_write_user_file_reason","usedScene": {"…...

pgsql14自动创建表分区

最近有pgsql的分区表功能需求&#xff0c;没想到都2025年了&#xff0c;pgsql和mysql还是没有自身支持自动创建分区表的功能 现在pgsql数据库层面还是只能用老三样的办法来处理这个问题&#xff0c;每个方法各有优劣 1. 触发器 这是最传统的方法&#xff0c;通过创建一个触发…...

cursor/vscode启动项目connect ETIMEDOUT 127.0.0.1:xx

现象&#xff1a; 上午正常使用cursor/vscode&#xff0c;因为需要写前端安装了nodejs16.20和vue2&#xff0c;结果下午启动前端服务无法访问&#xff0c;浏览器一直转圈。接着测试运行最简单的flask服务&#xff0c;vscode报错connect ETIMEDOUT 127.0.0.1:xx&#xff0c;要么…...

Leetcode 3553. Minimum Weighted Subgraph With the Required Paths II

Leetcode 3553. Minimum Weighted Subgraph With the Required Paths II 1. 解题思路2. 代码实现 题目链接&#xff1a;3553. Minimum Weighted Subgraph With the Required Paths II 1. 解题思路 这一题很惭愧&#xff0c;并没有自力搞定&#xff0c;是看了大佬们的解答才有…...

兼顾长、短视频任务的无人机具身理解!AirVista-II:面向动态场景语义理解的无人机具身智能体系统

作者&#xff1a;Fei Lin 1 ^{1} 1, Yonglin Tian 2 ^{2} 2, Tengchao Zhang 1 ^{1} 1, Jun Huang 1 ^{1} 1, Sangtian Guan 1 ^{1} 1, and Fei-Yue Wang 2 , 1 ^{2,1} 2,1单位&#xff1a; 1 ^{1} 1澳门科技大学创新工程学院工程科学系&#xff0c; 2 ^{2} 2中科院自动化研究所…...

springboot踩坑记录

之前运行好端端的项目&#xff0c;今天下午打开只是添加了一个文件之后 再运行都报Failed to configure a DataSource: url attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver class Action: Conside…...

SparkSQL基本操作

以下是 Spark SQL 的基本操作总结&#xff0c;涵盖数据读取、转换、查询、写入等核心功能&#xff1a; 一、初始化 SparkSession scala import org.apache.spark.sql.SparkSession val spark SparkSession.builder() .appName("Spark SQL Demo") .master("…...

Web 架构之动静分离

文章目录 一、引言二、动静分离的原理2.1 什么是动静分离2.2 为什么要进行动静分离 三、动静分离的实现方式3.1 基于 Nginx 的动静分离3.2 基于 CDN 的动静分离 四、常见问题及解决方法4.1 缓存问题4.2 跨域问题4.3 性能监控问题 五、思维导图六、总结 一、引言 在当今的 Web 应…...

20250515配置联想笔记本电脑IdeaPad总是使用独立显卡的步骤

20250515配置联想笔记本电脑IdeaPad总是使用独立显卡的步骤 2025/5/15 19:55 百度&#xff1a;intel 集成显卡 NVIDIA 配置成为 总是用独立显卡 百度为您找到以下结果 ?要将Intel集成显卡和NVIDIA独立显卡配置为总是使用独立显卡&#xff0c;可以通过以下步骤实现?&#xff…...

sparkSQL读入csv文件写入mysql

思路 示例 &#xff08;年龄>18改成>20) mysql的字符集问题 把user改成person “让字符集认识中文”...

大涡模拟实战:从区域尺度到街区尺度的大气环境模拟

前言&#xff1a; 随着低空经济的蓬勃发展&#xff0c;无人机、空中出租车等新型交通工具正在重塑我们的城市空间。这场静默的革命不仅带来了经济机遇&#xff0c;更对城市大气环境提出了全新挑战。在距离地面200米以下的城市冠层中&#xff0c;建筑物与大气的复杂相互作用、人…...