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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255363.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[LeetCode] 21. Merge Two Sorted Lists ☆

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. 解法: 新建一个链表,依次比较两个链表的头元素,把较小的移到新链表中,直到有…

Val编程-特殊函数使用

Waitendmove()和$Waitendmove()使用心得 这是两个部分,程序运行部分和运动堆栈部分,waitendmove是两个部分进行交互的一个函数。 一般情况下waitendmove()速度会降到0,相当于blend等于off. 代码: begincls()userPage()title("…

Redis的五种数据结构

Redis支持持久化只是它的一件武器,它提供了多达5种数据存储方式: 一 string(字符串) string是最简单的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value,其上支持的操作与Mem…

【pyqt5学习】——QDateTimeEdit控件学习

目录 1、同时显示日期时间QDateTime 2、只显示日期QDate 3、只显示时间QTime 4、设置显示的格式setDisplayFormat 5、 QDateTimeEdit常用信号 6、实例 1、同时显示日期时间QDateTime # 同时显示日期时间dateTimeEdit1 QDateTimeEdit()dateTimeEdit2 QDateTimeEdit(QDat…

复选框做成单选效果

function zlClick($id){ var eles document.getElementById($id).children; var srcEle event.srcElement; for(var i0;i<eles.length;i){ if(srcEle.checked){ if(eles[i].value!srcEle.value){ eles[i].checkedfalse; } } } } 技术领域可信计算 其他 申请日 200020012…

013. MVC5过滤器

微软提供了4中过滤器: 1.Action过滤器: 在Action方法执行之前和Action方法执行之后, 会执行此过滤器中的代码. 比如在执行public ActionResult Index()方法之前或之后; 也可以说是在方法执行前或执行后; 接口: IactionFilter 抽象类名: ActionFilterAttribute 添加一个实现…

Val编程-读取汉字

Val编程-读取汉字 Val编程中&#xff0c;对于汉字的读取不是很友好&#xff0c;利用fileget直接读取记事本产生的文件字符串会导致乱码的产生。因为Val只支持使用utf-8进行编码&#xff0c;因此读取的文本需要进行utf-8格式转换。 在GBK中&#xff0c;汉字占两个字节。并且…

【pyqt5学习】——菜单栏(QMenu())、工具栏QToolBar学习

目录 1、菜单栏&#xff08;QMenu()&#xff09;——一般在窗口顶部 1&#xff09;创建菜单栏步骤 2&#xff09;信号与方法 3&#xff09;实操 2、工具栏——一般在菜单栏下方 1&#xff09;创建步骤 2&#xff09;方法与信号 信号&#xff1a; 方法&#xff1a; 3&am…

Java核心技术及面试指南 异常部分的面试题归纳以及答案

4.2.4.1 throw和throws有什么差别&#xff1f;异常&#xff08;Exception&#xff09;和错误&#xff08;Error&#xff09;有什么差别&#xff1f; throw语句表示抛出异常&#xff0c;由方法体内的语句处理。throws语句用在方法声明后面&#xff0c;表示如果抛出异常&#xff…

win7win10 配置wlan热点

win7 & win10 系统自带wlan功能&#xff0c;配置方法如下&#xff1a; 命令行输入: 1. netsh wlan set hostednetwork mode allow ssid "Haha" key12345678 2. netsh wlan start hostednetwork netsh wlan show hostednetwork 转载于:https://www.cnblogs.com/…

java---Socket编程出现的异常种类

.java.net.SocketTimeoutException.这个异常比较常见&#xff0c;socket超时。一般有2个地方会抛出这个&#xff0c;一个是connect的时候&#xff0c;这个超时参数由connect(SocketAddress endpoint,int timeout)中的后者来决定&#xff0c;还有就是setSoTimeout(int timeout)&…

【pyqt5学习】——利用Pyqt5连接打印机(QtPrintSupport、QPrintDialog、QPageSetupDialog)

目录 1、利用QtPrintSupport直接连接打印机——不常用 1&#xff09;基本知识 2&#xff09;完整代码案例 3&#xff09;结果 2、 打印对话框QPrintDialog、打印设置对话框QPageSetupDialog 1&#xff09;弹出打印设置对话框 2&#xff09;弹出打印对话框 注&#xff1a…

Val编程-按键响应模式

由于Val是通过语句gotoxy函数来进行光标移动的&#xff0c;不支持触摸屏与鼠标&#xff0c;因此对于其界面编程有很大的局限。 一般有下面几种模式来进行编程。 1.按键响应模式&#xff08;中断模式&#xff09; 2.轮询模式 一般推荐使用按键响应模式。其原理是对于有按键按下…

[Android]SQLite的使用

Android 数据存储提供了四种存储方式&#xff1a; Shared Preferences 使用键值对&#xff08;Map(key, value)&#xff09;来存储数据 Internal Storage 内部存储&#xff0c;存储在设备内存的 私人数据 External Storage 外部存储&#xff0c;存储在外部设备的 公共数据…

第一百四十五节,JavaScript,同步动画

JavaScript&#xff0c;同步动画 将上一节的&#xff0c;移动透明动画&#xff0c;修改成可以支持同步动画&#xff0c;也就是可以给这个动画方法多个动画任务&#xff0c;让它同时完成 原理&#xff1a; 向方法里添加一个属性&#xff0c;这个属性是一个对象&#xff0c;同步动…

Exchange Server 2016管理系列课件39.新建本地移动请求

场景通过新建本地移动请求&#xff0c;可以很方便的将用户邮箱从一个数据库迁移到另外一个数据库。1&#xff09;跨平台邮件迁移&#xff1b;&#xff08;低exchange迁移到高版本exchange&#xff09;2&#xff09;数据库平衡与优化&#xff1b;&#xff08;企业当中&#xff0…

【数据库学习】——【汇总】MySQL数据库下载与安装(Msi文件安装和免安装版本)、Navicat下载与安装

目录 1、MySQL数据库下载与安装 1&#xff09;MySQL数据库下载 MySQL官网 MySQL数据库下载 2&#xff09;MySQL 通过msi文件安装 3&#xff09;MySQL免安装版本使用 1&#xff09;将免安装包移动到安装的文件夹位置&#xff1b; 2&#xff09;新建data文件夹 3&#xff…

Val编程-文本操作

Val系统相对于高级语言来说&#xff0c;对于文本操作的功能相当的弱。 一般的文本&#xff08;文件夹&#xff09;操作有&#xff1a; 1.新建文本&#xff0c; 2.删除文本&#xff0c; 3.新建文件夹&#xff0c; 4.删除文件夹&#xff0c; 5.文本重命名&#xff0c; 6.文…

Linux高级编程--01.vi命令

VI是Linux/Unix下标配的一个纯字符界面的文本编辑器。由于不支持鼠标功能&#xff0c;也没有图形界面&#xff0c;相关的操作都要通过键盘指令来完成&#xff0c;需要记忆大量命令。因此很多人不大喜欢它&#xff0c;但同时由于键盘的方式往往比鼠标来得快&#xff0c;一旦熟练…

【数据库学习】——纠错:mysql Authentication plugin ‘caching_sha2_password‘ is not supported

目录 1、环境介绍 2、问题描述 3、原因分析 4、 解决方案 1&#xff09;方法一&#xff1a;直接改成mysql_native_password验证方式 2&#xff09;方案二&#xff1a; 利用sql命令将验证机制修改 ① 打开命令行窗口——cmd ② 登录mysql数据库 ③ 查看不同用户名的身份…