zoukankan      html  css  js  c++  java
  • Oracle 12C R2-新特性-PDB的磁盘I/O(IOPS,MBPS)资源管理

    Oracle 12C R2-新特性-PDB的磁盘I/O(IOPS,MBPS)资源管理
    在以前的版本中,没有简单的方法来控制单个PDB使用的磁盘I / O量。 因此,某个PDB可能耗尽大量磁盘I / O,并影响同一实例中的其他PDB的性能。 Oracle 12c R2可以控制PDB使用的磁盘I / O量,是多PDB相处更融洽。
    1 I/O参数介绍
    下面的一些参数可以在PDB或者CDB级别设置已达到限制PDB I/O的目的。
    MAX IOPS:PDB的每秒最大I / O操作数。 默认值为“0”。 不推荐使用小于100 IOPS的值。
    MAX_MBPS:PDB的每秒I / O的最大兆字节数。 默认值为“0”。 不推荐使用小于25 MBPS的值。
    一些需要注意的地方:
    ·参数是独立的。 您可以使用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参数
    下面是在CDB级别设置MAX_IOPS 和MAX_MBPS参数,值是对所有PDB。
    --设置参数值

    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;


    下面是PDB级别设置这两个参数:

    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分钟的样本。
    ·DBA_HIST_RSRC_PDB_METRIC:AWR快照,基于AWR保留期保留。
    下面是具体的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;
    Priestess©版权所有,禁止转载
  • 相关阅读:
    js点击按钮触发事件的方法(含函数的写法)
    操作文件
    克隆别人的仓库,提交到自己的远程仓库的方法
    时间戳变成 标准时间展示的方法
    还没看的书
    print 和 println的区别
    初学java记录
    java 的一个hellow word 代码解释
    eclipse 创建一个java项目 运行
    Eclipse环境配置
  • 原文地址:https://www.cnblogs.com/priestess-zhao/p/8178390.html
Copyright © 2011-2022 走看看