Oracle 12c 新参数 PGA_AGGREGATE_LIMIT 限制 PGA 内存总大小
在自动 PGA 内存管理模式下, Oracle DB 尝试通过动态控制分配给工作区的 PGA 内存量遵从 PGA_AGGREGATE_TARGET 中指定的值。但是,有时候 PGA 内存使用量可能会因为以下原因超过 PGA_AGGREGATE_TARGET 指定的值:
•PGA_AGGREGATE_TARGET 是一个目标,而不是一个限制。
•PGA_AGGREGATE_TARGET 仅控制可优化内存的分配。
过多的 PGA 使用量可能会导致高交换率。如果出现 PGA 的使用量大大超过 PGA_AGGREGATE_TARGET 参数的值,就可能产生 SWAP ,从而影响整个系统的性能,更进一步导致 DB hang 住。因此在 Oracle 12c 中引入了新的参数 PGA_AGGREGATE_LIMIT ,其可以限制整体 PGA 使用量。 PGA_AGGREGATE_LIMIT 限制的是实例消耗的 PGA 的总量。是一个硬性限制。 PGA_AGGREGATE_LIMIT 参数是动态参数;修改该参数不需要重新实例。设置 PGA_AGGREGATE_LIMIT 的值时也不需要关心是否使用了自动内存管理。
如果发生 PGA 超量使用的 情况,请考虑使用 PGA_AGGREGATE_LIMIT 初始化参数限制整体的 PGA 使用量。 PGA_AGGREGATE_LIMIT 允许您针对 PGA 内存使用量指定硬限制。如果超过了 PGA_AGGREGATE_LIMIT 值,则 Oracle DB 将中止或终止使用最多不可优化 PGA 内存的会话或进程。行查询会被视为一个单元。
默认情况下, PGA_AGGREGATE_LIMIT

Oracle 12c 引入了新参数 PGA_AGGREGATE_LIMIT,用于设置实例消耗的 PGA 内存总量的硬限制,防止超过 PGA_AGGREGATE_TARGET 导致的高交换率和性能问题。PGA_AGGREGATE_LIMIT 是动态参数,无需重启实例即可修改,当超过限制时,Oracle 将终止使用最多不可优化 PGA 内存的会话或进程。
最低0.47元/天 解锁文章
2319

被折叠的 条评论
为什么被折叠?



