概述

当多个实例运行在同一台服务器上时,为了避免实例间的相互影响,从oracle 11gr2开始推出了实例囚笼的概念。实例囚笼能够限制数据库实例使用的CPU资源。使用实例囚笼,只需要设置CPU_COUT和resource_manager_plan两个参数。该功能可以用于的数据库资源整合,而取代之前的虚拟化和分区等传统的资源分割方法。


1、查看服务器的CPU个数

select value from v$osstat where stat_name = 'NUM_CPUS';

2、开启Instance Caging,只需设置两个参数即可

alter system set cpu_count = 8;alter system set resource_manager_plan = 'default_plan'; 

3、验证功能已经启用

SQL> select instance_caging from v$rsrc_plan where is_top_plan = 'TRUE';SQL> show parameter cpu_count; 

4、查看功能使用情况

SQL> select to_char(begin_time, 'HH24:MI') time, sum(avg_running_sessions) avg_running_sessions, sum(avg_waiting_sessions) avg_waiting_sessions from v$rsrcmgrmetric_history group by begin_time order by begin_time;TIME AVG_RUNNING_SESSIONS AVG_WAITING_SESSIONS----- -------------------- --------------------14:48 .82905 .00008333314:49 .536 .4029514:50 .334233333 .06001666717:30 8.53193333 4.3932833317:31 15.85885 .000117:32 9.46965 22.3486667

avg_running_sessions是一分钟内的活动sessions数,如果次数远小于CPU_COUNT,这实例远没有达到限制。如果AVG_WAITING_SESSIONS很大,这系统基本达到最大限制了


5、可以动态的调整CPU_COUNT来调整实例使用的资源。下面是测试结果

a, 设置cpu_count为32,即不设置限制。

SQL> alter system set cpu_count =32;

开始压力测试,PC服务器的TPMC达到45万TPMC,CPU利用率75%左右

09:44:17 all 69.73 0.00 5.65 2.83 0.00 21.7909:44:27 all 71.52 0.00 5.81 2.69 0.00 19.9909:44:37 all 61.98 0.00 5.12 2.91 0.00 29.9909:44:47 all 69.76 0.00 5.66 3.58 0.00 21.00

b, 设置实例囚笼功能,即限制CPU_cout为16,数据库出现大量resmgr:cpu quantum等待事件(这个和资源管理有关),此时系统利用率65%左右,但%user为50%左右,即16个cpu.TPMC为20万。能力受到限制

SQL> alter system set cpu_count=16;09:49:28 CPU %user %nice %system %iowait %steal %idle09:49:38 all 53.91 0.00 8.78 1.81 0.00 35.5009:49:48 all 52.15 0.00 8.66 2.88 0.00 36.3109:49:58 all 53.91 0.00 8.37 1.85 0.00 35.8709:50:08 all 50.98 0.00 8.76 2.66 0.00 37.6009:50:18 all 53.24 0.00 8.42 1.91 0.00 36.43

c, cpu_count=8;%User为27%,基本保持在8个CPU数量,TPMC 10万左右

09:57:38 CPU %user %nice %system %iowait %steal %idle09:57:48 all 27.96 0.00 4.99 3.01 0.00 64.0309:57:58 all 27.82 0.00 4.47 2.49 0.00 65.2109:58:08 all 27.97 0.00 4.54 2.31 0.00 65.1809:58:18 all 27.90 0.00 4.50 2.25 0.00 65.34

d,查看动态视图avg_running_sessions和cpu_count基本一致,说明已经达到最大限度了

SQL> select to_char(begin_time, 'HH24:MI') time, sum(avg_running_sessions) avg_running_sessions, sum(avg_waiting_sessions) avg_waiting_sessions from v$rsrcmgrmetric_history group by begin_time order by begin_time;09:44 18.4489333 .01766666709:45 14.9326833 34.187733309:46 14.5135167 44.634616709:47 13.7069167 41.368833309:48 14.3363833 43.900166709:49 14.3411 43.34509:50 14.2703333 43.244509:51 8.04406667 58.947166709:52 1.86445 15.796183309:53 7.1256 62.354666709:54 7.32335 64.6405509:55 7.30835 64.377409:56 7.2753 64.063633309:57 7.35958333 65.005409:58 7.23883333 64.419333309:59 7.06161667 62.326483310:00 7.3477 66.117933310:01 7.3673 66.751910:02 5.44061667 48.055616710:03 .009183333 010:04 .006833333 010:05 .00545 010:06 .0062 010:07 1.5357 12.926683310:08 7.35653333 65.469233310:09 7.36343333 65.635783310:10 7.1894 63.24075

设置instance caging

参数CPU_COUNT指定了Oracle实例可以同时使用的CPU的数量,数据库的部分功能配置依赖于CPU_COUNT参数,比如查询优化器,并行查询和资源管理器。

Instance caging是Oracle Database 11gR2企业版的新特性,是对CPU资源使用的一个简单管理方法. 如果要启动Instance caging,需要为数据库实例设置CPU_COUNT参数和启动一个资源管理计划。

通常有两种方法来设置instance caging:

  • Partitioning:
  • 在这种方法中,所有实例的CPU_COUNT的总和小于或等于系统的CPU数目,实例之间互不干扰。
  • Over-provisioning:
  • 在这种方法中, 所有实例的CPU_COUNT的总和超过系统的CPU数目,实例的性能会相互影响。

1. CPU_COUNT参数的默认值是系统上最大可用的CPU数量

SQL> show parameter cpu_countNAME TYPE VALUE------------------------------------ ----------- ------------------------------cpu_count integer 64

通过alter system限定实例可用的CPU数量

SQL> alter system set cpu_count=2;

2. 可以设置自己的资源管理计划,在CPU指令中使用mgmt_p1,mgmt_p2,...,mgmt_p8来限定消费者组的CPU资源利用率。

最简单的方法是启动默认的DEFAULT_PLAN.

SQL> alter system set resource_manager_plan=DEFAULT_PLAN;

在11gR2中,还不能为数据库实例指定特定的CPU,同一系统上的不同实例的进程可能会运行在相同的CPU上。


后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

mobaxterm怎么解除sessions个数限制_详解Oracle实例囚笼--限制数据库实例使用的CPU资源...相关推荐

  1. mobaxterm怎么解除sessions个数限制_一拳超人:饿狼因为黑光解开限制器,能否达到波罗斯的水准?...

    <一拳超人>重制版漫画更新到了169话,此次村田也是给大家带来诚意满满的内容,30多页的内容,都是关于饿狼和黑光的战斗,尤其是黑光在此次战斗中,也是表现出来强力的风格,将自己的防御力,给表 ...

  2. mobaxterm怎么解除sessions个数限制_广发信用卡特定商户交易被限制怎么解决?多久解除?其实没那么复杂...

    大家好,今天给大家分析解决一下最近广发限额问题,除此之外,目前还有其它银行也出现了限额,类似这种问题会越来越严重,限额的银行也是越来越多,那么我们究竟如何去解决呢? 相信有广发信用卡的朋友们在用卡时都 ...

  3. python爬关键词百度指数_详解python3百度指数抓取实例

    百度指数抓取,再用图像识别得到指数 前言: 土福曾说,百度指数很难抓,在淘宝上面是20块1个关键字: 哥那么叼的人怎么会被他吓到,于是乎花了零零碎碎加起来大约2天半搞定,在此鄙视一下土福 安装的库很多 ...

  4. 11g oracle xe启动_详解Oracle等待事件的分类、发现及优化

    一.等待事件由来 大家可能有些奇怪,为什么说等待事件,先谈到了指标体系.其实,正是因为指标体系的发展,才导致等待事件的引入.总结一下,Oracle的指标体系,大致经历了下面三个阶段: 以命中率为主要参 ...

  5. 仍然报错_详解oracle经典报错:ORA-04030排错思路和解决方法

    概述 前段时间使用的oracle 11g数据库,在用一段时间后(开始要较长时间才出现,后来较短时间就出现),频繁报ORA-04030错误,具体错误信息是 ORA-04030: 在尝试分配...字节(. ...

  6. oracle命令未正确结束_详解Oracle数据库终止正在进行expdp导出数据的正确操作

    概述 今天在做expdp导出时因没预估好数据量,所以需终止正在进行expdp导出数据的任务.那么怎么正确停止expdp导出任务呢?下面介绍一下我的操作过程. 1.不能用ctrl+c来终止导出(演示) ...

  7. 如何查询当前表空间下所有实例_详解人大金仓MPP数据库并行查询技术

    什么是MPP数据库? 人大金仓MPP数据库的 并行查询技术原理是什么? 如何实现并行查询?性能如何? 且听以下详细分解~ 01 什么是人大金仓MPP数据库? KingbaseAnalyticsDB(简 ...

  8. isight参数优化理论与实例详解_详解oracle数据库优化参数--cursor_sharing

    概述 大家都知道硬解析,软解析对数据库sql的执行效率影响是很大的.在Oracle中,用户输入的SQL语句要进行所谓的Parse解析过程,用于生成执行计划,这也就是Query Optimizer的主要 ...

  9. 索引和未索引执行计划的比较_详解Oracle复合索引+实例说明

    复合索引 复合索引顾名思义,区别于单列索引,是由两个或多个列一起构成的索引.其在B树上的数据结构是什么样?如下图,是一个包含两列的复合索引. 如果你观察仔细,还会发现它的叶子节点是ASC递增排序的.现 ...

最新文章

  1. 逻辑结构图向关系转换规则2
  2. 没学过python、但是还是有公司要-转行Python开发自学还是报班?老男孩全日制学习...
  3. SharePoint 2010/SharePoint 2013 Custom Action: 基于Site Collection 滚动文字的通知.
  4. K-Means 聚类实例sample
  5. Linux常见命令(大图)
  6. 构造函数和析构函数能不能是虚函数
  7. 首个AI国际标准有望明年出台,创新工场等多家国内公司已参与
  8. hdu5461-Largest Point(贪心)
  9. Python+matplotlib绘制函数曲线查找函数极值
  10. pytorch torch.nn.RNN
  11. 一文看懂华为云AI新政,这波开发者福利有点硬
  12. Java注释以及快捷键
  13. 企业级自动化运维工具Ansible详解(上)
  14. 不是买一台电脑就能敲代码!学习java必须了解的计算机知识以及准备工作
  15. 爬虫 (十九) 有趣的例子认识 while 循环 (十)
  16. OSGi模块化框架详解
  17. IDEA waiting until last debugger command completes
  18. 第12章 项目沟通管理和干系人管理
  19. PMP备考错题集-强化习题二
  20. c语言tcp实现网络断点续传,简单实现tcp/ip下的文件断点续传

热门文章

  1. brctl 设置ip_Linux 网桥配置命令:brctl
  2. java未释放资源_DruidDataSource关闭资源未释放
  3. 幼师学计算机心得体会怎么写,幼儿教师学习心得
  4. qt怎么设置标签背景图片_HTML中怎么设置h1的字体样式你知道吗?关于设置h1标签的样式详解...
  5. html自动切换文字,JS实现自动切换文字的导航效果代码
  6. Kafka eagle 安装
  7. ios mysql数据库查询语句_ios fmdb数据库查询语句
  8. iview table数据直接导出_使用iview的exportcsv怎样导出嵌套数据
  9. pandas使用字典格式修改columns列名
  10. pycharm 修改默认的注释风格(reStructuredText风格、Google风格、Numpy风格)