转载

Oracle优化配置指南(3.3)-PGA

PGA(Process Global Area),是server process一段私有内存区,它包含有全局变量,数据结构和一些控制信息。在Oracle8i 中,PGA调整非常复杂,要调整SORT_AREA_SIZEHASH_AREA_SIZEBITMAP_MERGE_AREA_SIZE CREATE_BITMAP_AREA_SIZE等参数。在ORACLE9I以后,只需要调整 PGA_AGGREGATE_TARGET

每个用户连接到Oracle,都会占用一定的内存,当然,用户一般连上之后还会做一些操作,比如一般的查询,有排序操作的查询,或用到Hash连接的查询。这些都需要内存,而这些内存(还有一些其他的,这里就不说了。)加起来就是PGA的大小了。如果PGA设置的过小,会导致Oracle频繁同磁盘进行交换,性能将会受到很大影响。

3.3.1       查看PGA

通过下面的命令来查看SGA

show parameter pga;

 

结果如下图:

Oracle优化配置指南(3.3)-PGA

pga_aggregate_target的值就是PGA的大小,从上图可以看出pga_aggregate_target的大小是200M

3.3.2       修改PGA

通过下面的命令可以修改共享池内存的大小:

alter system set pga_aggregate_target=90M scope=both;

 

Oracle优化配置指南(3.3)-PGA

 

pga_aggregate_target是一个动态参数,可以在运行时修改,因此这里的scope设置为both,新的内存大小马上生效,并且还将修改保存在Oracle的启动文件里。

3.3.3       查看PGA命中率

可以通过下面的命令查看命中率:

SELECT a.VALUE "看命中率咯"
 
FROM V$PGASTAT a
 
where a.NAME = 'cache hit percentage';

 

结果如下:

Oracle优化配置指南(3.3)-PGA

正文到此结束
Loading...