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;
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_LIMIT = 700M SCOPE = BOTH;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 300M 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 34.3150578 7.44008255 28.828125 5.48693275
参考:https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=17jl8o9ue6_4&_afrLoop=530630208048181#aref_section34
oracle12c之 控制pdb中sga 与 pga 内存使用的更多相关文章
- oracle12c之二 控制PDB中SGA 与 PGA 内存使用
oracle12c之 控制pdb中sga 与 pga 内存使用 Memory Management using Resource Manager Oracle数据库资源管理器(资源管理器)现在可以在多 ...
- oracle12c之三 控制PDB中CPU 资源使用
CPU资源隔离 数据库中,不同的PDB对主机CPU资源使用要求不同,那么我们就可以使用CDB resourceplans来管理不同pdb对CPU资源的使用. CDB Resource Plans ...
- oracle12c之一 控制-PDB的磁盘I/O(IOPS,MBPS)资源管理
在以前的版本中,没有简单的方法来控制单个PDB使用的磁盘I / O量. 因此,某个PDB可能耗尽大量磁盘I / O,并影响同一实例中的其他PDB的性能. Oracle 12c R2可以控制PDB使用的 ...
- oracle12c之四 控制PDB操作 PDBLockdown Profiles
除了IO.内存.CPU之外,还有一些限制,比如:限制在pdb中的操作命令,我们可以创建一个lockdown profile来限制对当前PDB的操作,增强某些操作的安全性. 关于PDB Lockdo ...
- oracle实例内存(SGA和PGA)调整
修改oracle内存占用 >show parameter sga; (查看内存占用情况) NAME TYPE ...
- oracle实例内存(SGA和PGA)调整-xin
一.名词解释 (1)SGA:System Global Area是Oracle Instance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池.数据缓冲区.日志缓冲区. ( ...
- 对oracle实例的内存(SGA和PGA)进行调整,优化数据库性
一.名词解释 (1)SGA:SystemGlobal Area是OracleInstance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池.数据缓冲区.日志缓冲区. (2) ...
- oracle实例的内存(SGA和PGA)调整,优化数据库性能
一.名词解释 (1)SGA:SystemGlobal Area是OracleInstance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池.数据缓冲区.日志缓冲区. (2) ...
- Oracle之内存结构(SGA、PGA)
一.内存结构 SGA(System Global Area):由所有服务进程和后台进程共享: PGA(Program Global Area):由每个服务进程.后台进程专有:每个进程都有一个PGA. ...
随机推荐
- python-day33--进程间通信(IPC)
方式:队列(推荐使用) 一.基本情况 1.可以往队列里放任意类型的数据 2. 队列:先进先出 3. q=Queue(3) #可以设置队列中最多可以进入多少个值,也可以不设置 q.put('first' ...
- POJ-2096 Collecting Bugs (概率DP求期望)
题目大意:有n种bug,m个程序,小明每天能找到一个bug.每次bug出现的种类和所在程序都是等机会均等的,并且默认为bug的数目无限多.如果要使每种bug都至少找到一个并且每个程序中都至少找到一个b ...
- IOS UI总结
一.UIView常见属性 1.frame 位置和尺寸(以父控件的左上角为原点(0,0)) 2.center 中点(以父控件的左上角为原点(0,0)) 3.bounds 位置和尺寸(以自己的左上角为 ...
- python dict 构造函数性能比较
from time import time t1 = time() {i: "%d" % i for i in range(5000)} t2 = time() print(t2- ...
- Dos命令下目录操作
Dos命令下目录操作 1.cd 操作 显示当前目录名或改变当前目录 cd [盘符][路径] 进入指定盘符下的目录 cd [..] ...
- jsonp 遍历文档
遍历文档 将html解析成一个Document后,就可以使用类似Dom的方法进行操作 File input = new File("/tmp/input.html"); Docum ...
- cas 认证管理器
CAS-默认的认证管理器:AuthenticationManagerImpl <bean id="authenticationManager" class="org ...
- [转载]oracle游标概念讲解
原文URL:http://www.2cto.com/database/201203/122387.html ORACLE游标概念讲解 什么是游标? ①从表中检索出结果集,从中每次指向一条记录进行交互 ...
- Delphi IDE 版本
产品 compiler Version version bds 2007-WIN32 VER 180 185 11 5.0 2009 VER 200 13 6.0 XE VER 220 15 8.0 ...
- DataSetToJSON
unit FMX.DataSetToJSON; interface uses FireDAC.Comp.Client,Data.DB; function DataSetToJSON(DataSet:T ...