12cR2多租户下隔离PDB磁盘I/O

翻译 2017年10月13日 16:12:34

Multitenant : Disk I/O (IOPS, MBPS) Resource Management for PDBs in Oracle Database 12c Release 2 (12.2)

In the previous release there was no easy way to control the amount of disk I/O used by an individual PDB. As a result a "noisy neighbour" could use up lots of disk I/O and impact the performance of other PDBs in the same instance. Oracle Database 12c Release 2 (12.2) allows you to control the amount of disk I/O used by a PDB, making consolidation more reliable.

     在12.2之前很难控制单个PDB的磁盘I/O。这样在同一个实例下由于一个糟糕的PDB使用了大量的磁盘I/O而影响其他的PDB。在12.2中允许控制单个PDB最大可使用的磁盘I/O。

Related articles

I/O Parameters (MAX_IOPS, MAX_MBPS)

I/O参数(MAX_IOPS, MAX_MBPS

The following parameters can be set at the CDB or PDB level to throttle I/O at the PDB level.

下面两个参数可以在CDB或者PDB级别设置控制PDB级别的I/O阈值

  • MAX_IOPS : The maximum I/O operations per second for the PDB. Default "0". Values less that 100 IOPS are not recommended.
  • MAX_MBPS : The maximum megabytes of I/O per second for the PDB. Default "0". Values less that 25 MBPS are not recommended.

     MAX_IOPS :PDB每秒最大的I/O操作次数。默认是0,不推荐设置MAX_IOPS的值小于100.

   MAX_MBPS :PDB每秒最大的I/O带宽(MB)。默认是0,不推荐设置MAX_MBPS的值小于 25 MBPS。


Some things to consider about their usage are listed below.

  • The parameters are independent. You can use none, one or both.
  • When the parameters are set at the CDB level they become the default values used by all PDBs.
  • When they are set at the PDB level they override any default values.
  • If the values are "0" at both the CDB and PDB level there is no I/O throttling.
  • Critical I/Os necessary for normal function of the instance are not limited, but do count towards the total I/O as far as the limit is concerned, so it is possible for the I/O to temporarily exceed the limit.
  • The parameters are only available for the multitenant architecture.
  • This feature is not available for Exadata.
  • Throttling will result in a resource manager wait event called resmgr: I/O rate limit.

使用这两个参数,考虑如下情况:

   1、这两个参数是独立的,可以设置一个、两个或者都不设置;
   2、当在CDB级别设置时将变为所有PDBs的默认值;
   3、当在PDB设置时将覆盖默认值;
   4、在CDB和PDB中这两个值都是0,没有做I/O阈值限制;
   5、某些常规函数的关键IO不会受到限制,但依然会计算到总IO中,所以,实际IO瞬时超过设定的阈值是有可能的
   6、这两个参数只能在多租户环境下使用;
   7、Exadata无法使用该特性;
   8、设置阈值会引起一个等待事件: resmgr: I/O rate limit


Setting I/O Parameters

设置I/O参数

The example below sets the MAX_IOPS and MAX_MBPS parameters at the CDB level, the default values for all PDBs.

该示例在CDB级别设置MAX_IOPS 和 MAX_MBPS,作为所有PDBs的默认值

CONN / AS SYSDBA

-- Set defaults.
ALTER SYSTEM SET max_iops=100 SCOPE=BOTH;
ALTER SYSTEM SET max_mbps=400 SCOPE=BOTH;

-- Remove defaults.
ALTER SYSTEM SET max_iops=0 SCOPE=BOTH;
ALTER SYSTEM SET max_mbps=0 SCOPE=BOTH;

The example below sets the MAX_IOPS and MAX_MBPS parameters at the PDB level

该示例在PDB级别设置MAX_IOPS 和 MAX_MBPS。

CONN / AS SYSDBA

ALTER SESSION SET CONTAINER = pdb1;

-- Set PDB-specific values.
ALTER SYSTEM SET max_iops=100 SCOPE=BOTH;
ALTER SYSTEM SET max_mbps=400 SCOPE=BOTH;

-- Remove PDB-specific values.
ALTER SYSTEM SET max_iops=0 SCOPE=BOTH;
ALTER SYSTEM SET max_mbps=0 SCOPE=BOTH;

Monitoring I/O Usage for PDBs

监控PDBs的I/O使用情况

Oracle now provides views to monitor the resource (CPU, I/O, parallel execution, memory) usage of PDBs. Each view contains similar information, but for different retention periods.

oracle提供了一些视图来监控PDB的资源使用(CPU,I/O,并行执行,内存),每个视图包含相同的信息,只是保留时间不同。

  • V$RSRCPDBMETRIC : A single row per PDB, holding the last of the 1 minute samples.
  • V$RSRCPDBMETRIC :一个PDB对应一行记录,只保留最近一分钟数据。
  • V$RSRCPDBMETRIC_HISTORY : 61 rows per PDB, holding the last 60 minutes worth of samples from the V$RSRCPDBMETRIC view.
  • V$RSRCPDBMETRIC_HISTORY :一个PDB对应61行记录,保留最近60分钟的数据
  • DBA_HIST_RSRC_PDB_METRIC : AWR snaphots, retained based on the AWR retention period.
  • DBA_HIST_RSRC_PDB_METRIC :AWR快照,保留时间基于AWR的保留时间

The following queries are examples of their usage.

如下示例:

CONN / AS SYSDBA

SET LINESIZE 180
COLUMN pdb_name FORMAT A10
COLUMN begin_time FORMAT A26
COLUMN end_time FORMAT A26
ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YYYY HH24:MI:SS'; 
ALTER SESSION SET NLS_TIMESTAMP_FORMAT='DD-MON-YYYY HH24:MI:SS.FF'; 

-- Last sample per PDB.
SELECT r.con_id,
       p.pdb_name,
       r.begin_time,
       r.end_time,
       r.iops,
       r.iombps,
       r.iops_throttle_exempt,
       r.iombps_throttle_exempt,
       r.avg_io_throttle 
FROM   v$rsrcpdbmetric r,
       cdb_pdbs p
WHERE  r.con_id = p.con_id
ORDER BY p.pdb_name;

-- Last hours samples for PDB1
SELECT r.con_id,
       p.pdb_name,
       r.begin_time,
       r.end_time,
       r.iops,
       r.iombps,
       r.iops_throttle_exempt,
       r.iombps_throttle_exempt,
       r.avg_io_throttle 
FROM   v$rsrcpdbmetric_history r,
       cdb_pdbs p
WHERE  r.con_id = p.con_id
AND    p.pdb_name = 'PDB1'
ORDER BY r.begin_time;

-- All AWR snapshot information for PDB1.
SELECT r.snap_id,
       r.con_id,
       p.pdb_name,
       r.begin_time,
       r.end_time,
       r.iops,
       r.iombps,
       r.iops_throttle_exempt,
       r.iombps_throttle_exempt,
       r.avg_io_throttle 
FROM   dba_hist_rsrc_pdb_metric r,
       cdb_pdbs p
WHERE  r.con_id = p.con_id
AND    p.pdb_name = 'PDB1'
ORDER BY r.begin_time;
 

【Oracle 12c 多租户专题】PDB的内存资源管理

原文链接:https://oracle-base.com/articles/12c/multitenant-memory-resource-management-for-pdbs-12cr2在12.2...
  • u011478909
  • u011478909
  • 2017年09月15日 14:14
  • 483

oracle12 关于数据库pdb cdb切换

cdb数据库中创建用户 名称前要加  c## alter pluggable database "pdbname" open/close;   开启可插入数据库开启、关闭 alter sessio...
  • stroller35
  • stroller35
  • 2017年05月27日 14:48
  • 322

12c CDB和PDB启动和关闭操作

前言 CDB与PDB是Oracle 12C引入的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔...
  • wenzhongyan
  • wenzhongyan
  • 2016年06月22日 11:13
  • 5706

SaaS多租户数据隔离的三种方案

SaaS多租户数据隔离的三种方案 多租户技术或称多重租赁技术,是一种软件架构技术,是实现如何在多用户环境下共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。在当下云计算时代,多租户技术在共用...
  • yown
  • yown
  • 2016年04月30日 23:23
  • 10540

跟我上“云”端(二)多租户的数据隔离

多租户两种极端实现方式 启用多租户的方法有很多,我不想做一一的介绍,但是有两个极端我们可以考虑一下:极端一: 是所有租户共享单一应用程序实例,也就是相同的服务器、中间件和应用程序。实现的方法是用租户...
  • hy6688_
  • hy6688_
  • 2015年07月31日 15:10
  • 9817

oracle12c 学习之二——pdb的基本功能

oracle 12c 功能测试
  • u012422541
  • u012422541
  • 2015年03月18日 12:06
  • 777

Oracle 12c创建用户和切换CDB、PDB

Oracle 12c创建用户和切换CDB、PDB
  • qq_34941558
  • qq_34941558
  • 2017年08月08日 10:29
  • 435

redis 多租户概念的个人理解

多租户的概念是指软件架构支持一个应用实例可以服务多个用户(Customer),并且,多个用户之间相互隔离,每隔用户称之为租户(tenant). 在redis中,不管redis是单机,还是一主一从,还是...
  • chengerxiang
  • chengerxiang
  • 2016年05月05日 20:11
  • 1468

Linux性能之磁盘I/O

磁盘I/O是任何Linux系统中最低速的部分。这主要是由于它们与CPU距离,还有就是磁盘需要物理地运动才能工作(就是磁盘转动然后寻找文件位置)。以下描述几种内核获取数据I/O不同方式,从磁盘到内存,或...
  • xygl2009
  • xygl2009
  • 2015年07月15日 20:56
  • 1928

oracle12c与之前版本的区别(仅供参考)

 oracle12c与11g或者oracle10最大的区别是: oracle12c增加了CDB和PDB的概念。 CDB全称为Container Database,中文翻译为数据库容器,P...
  • liuying1802028915
  • liuying1802028915
  • 2016年11月27日 10:27
  • 3987
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:12cR2多租户下隔离PDB磁盘I/O
举报原因:
原因补充:

(最多只允许输入30个字)