PGA

本文介绍了Oracle数据库中的程序全局区(PGA)的概念及其管理方式。PGA是每个服务进程拥有的非共享内存区域,用于存储进程数据和控制信息。文章还探讨了如何通过PGA_AGGREGATE_LIMIT参数来限制整个数据库实例的PGA内存使用总量。

PGA全称为Program Global Area,即程序全局区

它是一块包含一个服务进程的数据和控制信息的内存区域,是 Oracle 在一个服务进程启动是创建的,是非共享的
一个Oracle进程拥有一个PGA内存区,一个 PGA也只能被拥有它的那个服务进程所访问,只有这个进程中的Oracle代码才能读写它
因此,PGA中的结构是不需要Latch保护的

可设置所有服务进程的PGA内存总数受到实例分配的总体PGA(Aggregated PGA)限制
在专有服务器(Dedicated Server)模式下, Oracle会为每个会话启动一个Oracle进程
在多线程服务(Multi-Thread Server MTS)模式下,由多个会话共享通一个Oracle服务进程
PGA中包含了关于进程使用到的操作系统资源的信息,以及一些关于进程状态的信息
而关于进程使用的Oracle共享资源信息则是在SGA中。这样做可以使在进程以外中止时,能够及时释放和清除这些资源

12c引入了新的参数 PGA_AGGREGATE_LIMIT 以允许数据库管理员限制 PGA内存使用总量
使用PGA_AGGREGATE_LIMIT初始化参数可以为PGA内存使用量指定硬性限制
一个数据库实例运行时,会有多个会话或进程,它们都有各自使用的PGA内存,而有些会话或进程所使用的PGA内存是不可优化的
当数据库实例的PGA运行总内存超过了PGA_AGGREGATE_LIMIT值,则Oracle会按特定的顺序,中断或者终止那些使用了最多不可优化的PGA内存的会话或进程

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值