zoukankan      html  css  js  c++  java
  • oracle12c之二 控制PDB中SGA 与 PGA 内存使用

    oracle12c之 控制pdb中sga 与 pga 内存使用

    Memory Management using Resource Manager

    Oracle数据库资源管理器(资源管理器)现在可以在多租户容器数据库(CDB)中管理可插入数据库(PDBs)之间的内存使用。这一特性有助于在CDB中维护所有PDBs的性能,确保所有的PDBs都不会占用更多资源,从而导致其他PDBs上的资源紧缩。


    前提只有满足以下条件,才能控制PDBs的内存使用:
    1、在CDB根中,noncdb_compatible初始化参数设置为false。
    2、MEMORY_TARGET初始化参数没有设置,或者在CDB根中设置为0(0)。

     

    In 12.2, Resource Manager allows to:

    1、限制特定PDB的内存使用。
    2、指定为特定PDB保证的内存数量。
    3、指定一个特定的PDB可以使用的最大内存数量。


    along with other options such as:

    指定不同的PDBs应该接收系统资源的不同份额,以便将更多的资源分配给更重要的PDBs。
    限制特定PDB的CPU使用。
    限制特定PDB可以使用的并行执行服务器的数量。
    为不同的PDB使用PDB性能配置文件(详细信息请参阅2171135.1)
    限制连接到单个PDB的不同会话的资源使用。
    限制特定PDBs生成的I/O。
    监控PDBs的资源使用情况。


    一、 Managing SGA for PDBs:

    容器数据库中各种PDBs的SGA需求将是不同的。如果没有控制SGA使用的机制,活跃的PDB可以消耗SGA空间的大多数,从而导致资源限制给其他PDBs,从而影响它们的性能。

    1.从12cR2中,我们可以控制在容器数据库中PDB可以使用的最大SGA,以及需要为PDB分配的最小SGA。
       SGA_TARGET参数可用于限制PDB的最大SGA大小。PDB中的SGA_TARGET设置必须小于或等于CDB根中的SGA_TARGET设置。

       只有当SGA_TARGET初始化参数设置为CDB根中的非零值时,PDB中的SGA_TARGET和SGA_MIN_SIZE设置才会被强制执行。

    alter session set container=PDB1;
    ALTER SYSTEM SET SGA_TARGET = 1500M SCOPE = BOTH;
    ALTER SYSTEM SET SGA_MIN_SIZE = 500M SCOPE = BOTH;
     
     
     
     
     
    3
     
     
     
     
    1
    alter session set container=PDB1;
    2
    ALTER SYSTEM SET SGA_TARGET = 1500M SCOPE = BOTH;
    3
    ALTER SYSTEM SET SGA_MIN_SIZE = 500M SCOPE = BOTH;
     
     

     


    2.可以使用SGA_MIN_SIZE参数指定PDB的最小SGA大小。
      SGA_MIN_SIZE参数确保了PDB的SGA永远不会低于指定的值。

      设置SGA_MIN_SIZE(最小保证SGA)参数的指导原则是:
      它必须小于或等于CDB根中SGA_TARGET设置的50%。
      它必须小于或等于PDB中SGA_TARGET设置的50%。
      所有PDBs的SGA_MIN_SIZE设置的总和必须小于或等于CDB根中SGA_TARGET设置的50%。

      说明:最佳实践是将所有PDBs的SGA_MIN_SIZE值的总和限制为CDB的SGA大小的50%或更少。

     

    二、 Managing PGA for PDBs

        为了控制PDB的PGA使用,可以在PDB级别设置参数PGA_AGGREGATE_TARGET和PGA_AGGREGATE_LIMIT。
        PGA_AGGREGATE_TARGET设置是一个目标。因此,Oracle数据库尝试将PGA内存使用限制在目标上,但是使用可以超过设置的次数。
        要指定对PGA内存使用的硬限制,可以使用PGA_AGGREGATE_LIMIT初始化参数。Oracle数据库确保PGA大小不超过这个限制。如果数据库超过了限制,那么数据库就会中止具有最高可调PGA内存分配的会话的调用。


    PGA_AGGREGATE_TARGET参数设置PDB的目标聚合PGA大小。

    设置PGA_AGGREGATE_TARGET的指导原则是:
        它必须小于或等于在CDB级别上设置的PGA_AGGREGATE_TARGET值。
        它必须小于或等于CDB级别上的PGA_AGGREGATE_LIMIT初始化参数值的50%。
        它必须小于或等于PDB中的PGA_AGGREGATE_LIMIT值的50%。

    设置PGA_AGGREGATE_LIMIT的指导原则是:
       它必须小于或等于CDB根中PGA_AGGREGATE_LIMIT的设置。
       它必须大于或等于两倍于PDB中PGA_AGGREGATE_TARGET的设置。

     

    alter session set container=PDB1;
    ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 300M SCOPE = BOTH;
    ALTER SYSTEM SET PGA_AGGREGATE_LIMIT = 700M SCOPE = BOTH;
     
     
     
     
     
    3
     
     
     
     
    1
    alter session set container=PDB1;
    2
    ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 300M SCOPE = BOTH;
    3
    ALTER SYSTEM SET PGA_AGGREGATE_LIMIT = 700M SCOPE = BOTH;
     
     

     

    -- 查看 PDB 的 current SGA 与 PGA 的使用情况

    COLUMN PDB_NAME FORMAT A10;
    SELECT r.CON_ID, p.PDB_NAME, r.SGA_BYTES/1024/1024 SGA_M, r.PGA_BYTES/1024/1024 PGA_M, 
    r.BUFFER_CACHE_BYTES/1024/1024 BUFFER_CACHE_M, r.SHARED_POOL_BYTES/1024/1024 SHARED_POOL_M 
    FROM V$RSRCPDBMETRIC r, CDB_PDBS p WHERE r.CON_ID = p.CON_ID;
    
    CON_ID     PDB_NAME	  SGA_M      PGA_M      BUFFER_CACHE_M  SHARED_POOL_M
    ---------- -------------------- ---------- -------------- -------------
    3          PDB01     4.3150578  7.44008255	 28.828125     5.48693275
     
     
     
     
     
    x
     
     
     
     
     
    1
    COLUMN PDB_NAME FORMAT A10;
    2
    SELECT r.CON_ID, p.PDB_NAME, r.SGA_BYTES/1024/1024 SGA_M, r.PGA_BYTES/1024/1024 PGA_M, 
    3
    r.BUFFER_CACHE_BYTES/1024/1024 BUFFER_CACHE_M, r.SHARED_POOL_BYTES/1024/1024 SHARED_POOL_M 
    4
    FROM V$RSRCPDBMETRIC r, CDB_PDBS p WHERE r.CON_ID = p.CON_ID;
    5
    
    
    6
    CON_ID     PDB_NAME  SGA_M      PGA_M      BUFFER_CACHE_M  SHARED_POOL_M
    7
    ---------- -------------------- ---------- -------------- -------------
    8
    3          PDB01     4.3150578  7.44008255 28.828125     5.48693275
     
     
     
     

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





  • 相关阅读:
    vue中的 computed 和 watch 的区别
    mysql8.0 初始化数据库及表名大小写问题
    sql server alwayson 调整数据文件路径
    zabbix 自定义监控 SQL Server
    mysql 创建用户及授权
    mysql 设置从库只读模式
    mysql8.0 主从复制安装及配置
    centos8.0安装mysql8.0
    centos8替换阿里数据源
    npm publish 报错 【you or one of your dependencies are requesting a package version that is forbidden by your security policy】
  • 原文地址:https://www.cnblogs.com/cqdba/p/c0d1dedd723ad45c01cf20c913196b35.html
Copyright © 2011-2022 走看看