ORACLE 10G中SGA,PGA内存分配对系统性能的影响
2017-05-04 00:00
183 查看
最近在学习PGA时有一点心得,特此记下,以备查.
ORACLE官方文档对PGA解释如下“areas used by memory-intensive SQL operators such as sort, group-by, hash-join, bitmap merge, and bitmap create。”很明显PGA是用于SQL排序和哈希连接,位图创建所用的内存区域,当排序空间超过100M或者PGA的 5%时,ORACLE会选择在TEMP表空间继续进行排序,所以理论上说PGA越大,数据库性能应该越好,应该尽量增加该部分的空间大小,不过增加该部分空间可能会对SQL语句的执行计划产生影响,所以在修改PGA时要经过测试确认.
对SGA修改时,并不是越大越好,当SGA过大时会导致library cache,dictionary cache命中率下降,从而对系统性能产生负面影响,PGA主要是排序操作,所以相对SGA来说过大的PGA并不会带来多么严重的性能下降,只会降低HASH JOIN的成本,从而使优化器更多的选择使用HASH JOIN.
将PGA的管理交给ORACLE内存管理器是一个不错的选择,绝大多数据时候比手工设置各个值要好的多,只不过在ORACLE 9I共享服务器时无法使用PGA自动管理特性.
可以通过下面的SQL查询来大致确认PGA是否够用:
select name,value,unit from v$pgastat where name in('aggregate PGA target parameter','maximum PGA allocated');
当maximum PGA allocated相对于aggregate PGA target parameter过大时,则说明PGA偏小了,需要增加空间.
ORACLE官方文档对PGA解释如下“areas used by memory-intensive SQL operators such as sort, group-by, hash-join, bitmap merge, and bitmap create。”很明显PGA是用于SQL排序和哈希连接,位图创建所用的内存区域,当排序空间超过100M或者PGA的 5%时,ORACLE会选择在TEMP表空间继续进行排序,所以理论上说PGA越大,数据库性能应该越好,应该尽量增加该部分的空间大小,不过增加该部分空间可能会对SQL语句的执行计划产生影响,所以在修改PGA时要经过测试确认.
对SGA修改时,并不是越大越好,当SGA过大时会导致library cache,dictionary cache命中率下降,从而对系统性能产生负面影响,PGA主要是排序操作,所以相对SGA来说过大的PGA并不会带来多么严重的性能下降,只会降低HASH JOIN的成本,从而使优化器更多的选择使用HASH JOIN.
将PGA的管理交给ORACLE内存管理器是一个不错的选择,绝大多数据时候比手工设置各个值要好的多,只不过在ORACLE 9I共享服务器时无法使用PGA自动管理特性.
可以通过下面的SQL查询来大致确认PGA是否够用:
select name,value,unit from v$pgastat where name in('aggregate PGA target parameter','maximum PGA allocated');
当maximum PGA allocated相对于aggregate PGA target parameter过大时,则说明PGA偏小了,需要增加空间.
相关文章推荐
- oracle实例的内存(SGA和PGA)进行调整,优化数据库性能
- 对oracle实例的内存(SGA和PGA)进行调整,优化数据库性能
- oracle的内存分配-内存分配(SGA和PGA)SGA和PGA结构图
- oracle实例的内存(SGA和PGA)调整,优化数据库性能
- 对oracle实例的内存(SGA和PGA)进行调整,优化数据库性能
- 对oracle实例的内存(SGA和PGA)进行调整,优化数据库性能
- 调整 oracle内存(SGA和PGA)优化数据库性能
- 通过对oracle内存(SGA和PGA)进行调整,优化数据库性能
- Windows 32bit OS上物理内存限制以及ORACLE 10G 在32bit OS的SGA内存分配限制解决方法
- 通过对oracle内存(SGA和PGA)进行调整,优化数据库性能
- oracle SGA PGA UGA 内存
- 对oracle实例的内存(SGA和PGA)进行调整,优化数据库性
- 哪些初始化参数最影响Oracle系统性能
- 查看oracle 系统临时表空间、undo表空间、SGA和PGA大小
- oracle实例内存(SGA和PGA)调整
- 有哪些初始化参数最影响Oracle系统的性能?
- oracle实例内存(SGA和PGA)调整
- 对oracle实例的内存(SGA和PGA)进行调整,优化数据库性
- 参数最影响Oracle系统性能
- 再谈oracle服务器内存(SGA+PGA+OS)设置