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 内存使用相关推荐
- oracle中修改sga和pga
1.修改sga大小: SQL> alter system set sga_max_size=2560M scope=spfile; System altered. SQL> alter s ...
- oracle sga pga mysql_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)调整
一.名词解释 (1)SGA:System Global Area是Oracle Instance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池.数据缓冲区.日志缓冲区. ...
- Oracle sga和pga的分配
今天我们来说下Oracle 中sga和pga的分配: modify sga alter system set sga_target=1024m scope=spfile; alter system s ...
- oracle12c多个pdb,Oracle 12c 多租户专题|12cR2中PDB内存资源管理
沃趣科技 周天鹏 原文链接 在12.2之前的版本,我们根本没有办法控制一个单独的PDB能使用的内存总量.导致的结果就是"一个糟糕的邻居"可能占用大量内存从而导致同一个实例下其他P ...
- oracle中的sga和pga
oracle中的sga包含了几个主要的部分 1.shared pool 共享池 2.database buffer cache 数据库高速缓冲区 3.redo log buffers 重做日志缓冲区 ...
- oracle中pga指什么,oracle学习SGA跟PGA理解
SGA:SystemGlobal Area是OracleInstance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:数据库缓冲区.日志缓冲区.共享池,还可能包含:大池,JAVA ...
最新文章
- 原创 | R的基础及进阶数据可视化功能包介绍
- $each $position $sort $slice
- python多图拼接并利用resnet提取特征
- html5和前端精要(1)-架构与基础(1)
- 提升Transformer效率又有新招?基于矩阵分解的线性化Attention方案
- KVM虚拟机PCI设备直通
- C#(64位系统) 解决MySQLDriverCS未能加载文件或程序集,或它的某一个依赖项
- 重新配置oralce dbconsole
- mysql oracle replay_Oracle 数据库重放(Database Replay)功能演示
- 关于 HenCoder
- Arduino 下载https://downloads.arduino.cc/packages/package_index.json时出错
- 优缺点 快速扫描 硬盘监测_用硬盘检测工具检测硬盘超实用的技巧!
- 前端数据可视化插件(四)关系图
- pixhawk启动脚本分析
- [Err] 1418 - This function has none of DETERMINIST
- 老旗舰华为能用上鸿蒙吗,千元机也能用鸿蒙!曝荣耀 9X 手机年内全部升级鸿蒙系统...
- 信号与槽是如何实现的_Nature | 破解Wnt信号高效远距离传递之谜
- 新一代光学工程仿真软件FRED MPC介绍
- 文献阅读 | Tracing the ancestry of modern bread wheats
- 写出优雅性能的JAVA程序必须遵守的35个原则
热门文章
- mysql数据库导入导出_MySQL数据库导入导出详解
- estemplate 导入MySQL_[数据库]es~通过ElasticsearchTemplate进行聚合操作
- 简易的素描图片转换流程与实现
- 【TensorFlow-windows】keras接口学习——线性回归与简单的分类
- Kullback–Leibler divergence(相对熵,KL距离,KL散度)
- Django,ajax实现表格增删查改,Django内置分页功能。
- elastic学习笔记
- Spring Boot 扩展点应用之工厂加载机制
- [转]MySQL日志——Undo | Redo
- 58.贪心算法练习: 最小新整数