Oracle 12C R2-新特性-PDB的磁盘I/O(IOPS,MBPS)资源管理https://www.cndba.cn/Expect-le/article/1750
在以前的版本中,没有简单的方法来控制单个PDB使用的磁盘I / O量。 因此,某个PDB可能耗尽大量磁盘I / O,并影响同一实例中的其他PDB的性能。Oracle 12c R2可以控制PDB使用的磁盘I / O量,是多PDB相处更融洽。
1
I/O参数介绍
MAX IOPS:PDB的每秒最大I / O操作数。 默认值为“0”。 不推荐使用小于100 IOPS的值。
https://www.cndba.cn/Expect-le/article/1750
MAX_MBPS:PDB的每秒I / O的最大兆字节数。 默认值为“0”。 不推荐使用小于25 MBPS的值。
https://www.cndba.cn/Expect-le/article/1750
·参数是独立的。 您可以使用none,one或both。
·当参数设置在CDB级别时,它们成为所有PDB使用的默认值。
·当它们设置在PDB级别时,它们覆盖任何默认值。
·如果在CDB和PDB级别的值为“0”,则没有I / O限制。
·实例的正常功能所必需的关键I / O不受限制,但只要涉及极限,就会计入总I / O,因此I / O可能暂时超过限制。
·这些参数仅适用于多租户架构。
·此功能不适用于Exadata。
·限制将导致名为I/O rate limit的等待事件。
2
设置I/O参数
--设置参数值
SQL>ALTER SYSTEM SET max_iops=100 SCOPE=BOTH;
SQL>ALTER SYSTEM SET max_mbps=400 SCOPE=BOTH;
--移除参数值
SQL>ALTER SYSTEM SET max_iops=0 SCOPE=BOTH;
SQL>ALTER SYSTEM SET max_mbps=0 SCOPE=BOTH;
https://www.cndba.cn/Expect-le/article/1750
SQL>ALTER SESSION SET CONTAINER = pdb1;
-- 设置指定PDB参数值
SQL>ALTER SYSTEM SET max_iops=100 SCOPE=BOTH;
SQL>ALTER SYSTEM SET max_mbps=400 SCOPE=BOTH;
-- 移除指定PDB参数值
SQL>ALTER SYSTEM SET max_iops=0 SCOPE=BOTH;
SQL>ALTER SYSTEM SET max_mbps=0 SCOPE=BOTH;
3
监控PDB的I/O使用情况
Oracle现在提供视图去监控PDB的资源使用(CPU, I/O, parallel execution, memory)
如:
·V $ RSRCPDBMETRIC:每个PDB一行,保存1分钟样本的最后一个。
·V $ RSRCPDBMETRIC_HISTORY:每个PDB有61行,从V $ RSRCPDBMETRIC视图保存最后60分钟的样本。https://www.cndba.cn/Expect-le/article/1750
·DBA_HIST_RSRC_PDB_METRIC:AWR快照,基于AWR保留期保留。
https://www.cndba.cn/Expect-le/article/1750
下面是具体的SQL:
SQL>SET LINESIZE 180
SQL>COLUMN pdb_name FORMAT A10
SQL>COLUMN begin_time FORMAT A26
SQL>COLUMN end_time FORMAT A26
SQL>ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YYYY HH24:MI:SS';
SQL>ALTER SESSION SET NLS_TIMESTAMP_FORMAT='DD-MON-YYYY HH24:MI:SS.FF';
-- 每个PDB最后样本
SQL>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;
-- PDB1的最后几个小时的样本
SQL>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;
-- PDB1的所有AWR快照的信息
SQL>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;
版权声明:本文为博主原创文章,未经博主允许不得转载。
PDB资源管理