返回顶部
首页 > 资讯 > 数据库 >oracle12c中控制pdb中sga与pga内存怎么用
  • 834
分享到

oracle12c中控制pdb中sga与pga内存怎么用

2024-04-02 19:04:59 834人浏览 安东尼
摘要

小编给大家分享一下oracle12c中控制pdb中sga与pga内存怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! Memory Management using Resource

小编给大家分享一下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

看完了这篇文章,相信你对“oracle12c中控制pdb中sga与pga内存怎么用”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: oracle12c中控制pdb中sga与pga内存怎么用

本文链接: https://lsjlt.com/news/64115.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • oracle12c中控制pdb中sga与pga内存怎么用
    小编给大家分享一下oracle12c中控制pdb中sga与pga内存怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! Memory Management using Resource...
    99+
    2024-04-02
  • 怎么在Python中使用pdb操作内存
    这期内容当中小编将会给大家带来有关怎么在Python中使用pdb操作内存,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy...
    99+
    2023-06-14
  • Linux中如何使用cgroups控制内存资源
    这篇文章将为大家详细讲解有关Linux中如何使用cgroups控制内存资源,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。cgroups 中有个 memory 子系统,用于限制和报告进程的内存使用情况。其中...
    99+
    2023-06-13
  • Linux中内存监控vmstat命令怎么用
    这篇文章主要介绍了Linux中内存监控vmstat命令怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。vmstat是Virtual Meomory Statistics(...
    99+
    2023-06-16
  • Shell中怎么强制释放内存
    今天就跟大家聊聊有关Shell中怎么强制释放内存,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。脚本内容:cat check-mem.sh代码如下:#!/bin/bashmem_tot...
    99+
    2023-06-09
  • CSS中怎么实现文字控制与文本控制属性
    本篇文章给大家分享的是有关CSS中怎么实现文字控制与文本控制属性,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 ...
    99+
    2024-04-02
  • Linux中怎么使用shell脚本监控系统内存
    这篇文章主要介绍了Linux中怎么使用shell脚本监控系统内存的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux中怎么使用shell脚本监控系统内存文章都会有所收获,下面我们一起来看看吧。一、安装Lin...
    99+
    2023-06-27
  • SpringBoot项目中怎么保存控制台日志
    这篇文章主要介绍“SpringBoot项目中怎么保存控制台日志”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot项目中怎么保存控制台日志”文章能帮助大家解决问题。SpringBoot...
    99+
    2023-06-08
  • javascript中控制台怎么使用
    这篇文章主要介绍“javascript中控制台怎么使用”,在日常操作中,相信很多人在javascript中控制台怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java...
    99+
    2024-04-02
  • docker中stateful控制器怎么用
    这篇文章主要介绍了docker中stateful控制器怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。    在应用程序中,可以分...
    99+
    2023-06-04
  • docker中pod控制器怎么用
    这篇文章给大家分享的是有关docker中pod控制器怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。    之前创建的pod,是通过资源配置清单定义的,如果手工把这样的...
    99+
    2023-06-04
  • MySQL中的变量、流程控制与游标怎么用
    今天小编给大家分享一下MySQL中的变量、流程控制与游标怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们...
    99+
    2024-04-02
  • MySQL存储过程中怎么控制循环次数
    在MySQL存储过程中,可以使用循环控制结构来控制循环次数,其中常用的循环结构有WHILE循环和FOR循环。 WHILE循环:在M...
    99+
    2024-04-30
    MySQL
  • MongoDb中怎么控制用户权限
    今天就跟大家聊聊有关MongoDb中怎么控制用户权限,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Mongodb创建用户的语法在不用的版本之间还是不...
    99+
    2024-04-02
  • Java中怎么控制CPU占用率
    Java中怎么控制CPU占用率,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。目的描述:控制CPU占用率CPU占用率:在任务管理器的一个刷新周期内,CPU忙(执行...
    99+
    2023-06-18
  • SQLServer中怎么使用事务控制
    在SQL Server中,可以使用BEGIN TRANSACTION,COMMIT和ROLLBACK语句来实现事务控制。以下是一个简...
    99+
    2024-03-12
    SQLServer
  • 怎么增强Linux内核中的访问控制安全
    这篇文章主要为大家展示了“怎么增强Linux内核中的访问控制安全”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么增强Linux内核中的访问控制安全”这篇文章吧。Linux中常见的拦截过滤用户态...
    99+
    2023-06-16
  • CGO中怎么用ReadProcessMemory读取内存
    在CGO中使用ReadProcessMemory读取内存,需要先导入"windows.h"头文件,并声明Read...
    99+
    2024-02-29
    CGO
  • Golang中怎么利用Goroutine控制并发
    这篇文章给大家介绍Golang中怎么利用Goroutine控制并发,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Channel在 Golang 语言中,Channel 不仅可以用于协程之间通信,还可以使用 Channe...
    99+
    2023-06-20
  • IDEA中怎么使用Git控制版本
    在 IDEA 中使用 Git 控制版本很简单,以下是一些基本的步骤: 打开 IDEA,并进入你的项目文件夹。 在 IDEA 的右下...
    99+
    2024-04-03
    IDEA Git
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作