暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 12c 多租户专题|隔离PDB的磁盘IO

沃趣科技 2017-10-12
832

原文链接 https://oracle-base.com/articles/12c/multitenant-disk-iops-mdps-resource-management-for-pdbs-12cr2

译者  周天鹏 

在12c R2之前的版本中,控制单个PDB的磁盘IO是一件很困难的事。导致的结果就是“一个糟糕的邻居”可能占用大量的磁盘IO从而导致同一个实例下其他PDB的性能下降。Oracle Database 12c Release 2 (12.2)允许你控制单个PDB最大可使用的磁盘IO(IOPS以及MBPS)。

PDB中的IO控制参数

可以在CDB或PDB级别去设置下列参数来控制PDB级别的IO阈值:

MAX_IOPS:PDB中每秒最大的IO操作次数。默认值为0。不建议设置小于100的IOPSMAX_MBPS:PDB中每秒最大的IO带宽(MB)。默认值为0。不建议设置小于25的MBPS关于使用这两个参数,需要考虑如下这些:

这两个参数是独立的,你可以设置一个、两个或者一个都不设置

当这两个参数在CDB根中设置后,他们将变成所有PDB的默认值

当你在PDB级别设置了这两个参数后,PDB中的值可以覆盖默认值

如果在CDB和PDB中这两个参数值均为0,则没有IO阈值

某些常规函数的关键IO不会受到限制,但依然会计算到总IO中,所以,实际IO瞬时超过设定的阈值是有可能的

该参数只有多租户环境下可以使用

Exadata无法使用该特性

设定阈值回造成一个等待事件,叫做resmgr: I/O rate limit.

设置IO参数

下面的例子是在CDB级别设置MAX_IOPS以及 MAX_MBPS参数,并作为所有PDB的默认值。

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;

下面的例子是在PDB级别设置MAX_IOPS以及 MAX_MBPS参数

CONN AS SYSDBAALTER 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;

监控PDB的IO使用

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

V$RSRCPDBMETRIC:一个PDB对应一条记录,只保留最近一分钟的数据

V$RSRCPDBMETRIC_HISTORY:一个PDB对应61行记录,保留最近60分钟的数据

DBA_HIST_RSRC_PDB_METRIC:AWR快照,保留时间基于AWR的保留时间例子如下:

CONN AS SYSDBASET LINESIZE 150COLUMN pdb_name FORMAT A10COLUMN begin_time FORMAT A26COLUMN end_time FORMAT A26ALTER 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.sga_bytes,       r.pga_bytes,       r.buffer_cache_bytes,       r.shared_pool_bytesFROM   v$rsrcpdbmetric r,       cdb_pdbs pWHERE  r.con_id = p.con_idORDER BY p.pdb_name;-- Last hours samples for PDB1SELECT r.con_id,       p.pdb_name,       r.begin_time,       r.end_time,       r.sga_bytes,       r.pga_bytes,       r.buffer_cache_bytes,       r.shared_pool_bytesFROM   v$rsrcpdbmetric_history r,       cdb_pdbs pWHERE  r.con_id = p.con_idAND    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.sga_bytes,       r.pga_bytes,       r.buffer_cache_bytes,       r.shared_pool_bytesFROM   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 R2版本 Application Containers 特性(一)

Oracle 12c 多租户专题|12cR2中PDB内存资源管理

Oracle 12c ASM专题|Flex磁盘组到底有多Fexible?

Oracle 12c数据库优化器统计信息收集的最佳实践(三)|何时不需要收集统计信息

Oracle 12c数据库优化器统计信息收集的最佳实践(二)

Oracle 12c数据库优化器统计信息收集的最佳实践(一)

关于沃趣

杭州沃趣科技股份有限公司创建于2012年股票代码:839849,是一家专注为企业用户提供基于高性能、高可用、可扩展的开放数据库云平台解决方案的国产厂商。公司创始团队为原阿里巴巴数据库及运维团队核心骨干,凭借丰富的运维经验,为行业客户提供数据库云产品及软硬件一体化解决方案。

公司产品已广泛应用于证券、保险、医疗、广电传媒、银行、电信、能源电力、快递物流、公共事业、大型企业等,为这些行业用户持续提供行业解决方案及服务支持。

公司先后获得国家级高新技术企业、杭州市高新技术企业、杭州高新区瞪羚企业等称号,并设有杭州市安全可控数据库技术研发中心。公司总部位于杭州,同时在北京、上海、广州、南京、兰州建立了分支机构,拥有辐射全国的销售和服务体系。

我们始终坚信,数据是驱动企业创新的源动力!坚持围绕企业数据库做好一件事

                        ——让高性能触手可及!

文章转载自沃趣科技,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论