Oracle命准率及优化配置(三)

2014-11-24 11:46:51 · 作者: · 浏览: 2
,
v$sysstat logical
where physical.name = 'physical reads'
and direct.name = 'physical reads direct'
and lobs.name = 'physical reads direct (lob)'
and logical.name = 'session logical reads';
结果如下:

PGA(Process Global Area),是server process一段私有内存区,它包含有全局变量,数据结构和一些控制信息。在Oracle8i 中,PGA调整非常复杂,要调整SORT_AREA_SIZE、HASH_AREA_SIZE、BITMAP_MERGE_AREA_SIZE、 CREATE_BITMAP_AREA_SIZE等参数。在ORACLE9I以后,只需要调整 PGA_AGGREGATE_TARGET。
每个 用户连接到Oracle,都会占用一定的内存,当然,用户一般连上之后还会做一些操作,比如一般的查询,有排序操作的查询,或用到Hash连接的查询。这 些都需要内存,而这些内存(还有一些其他的,这里就不说了。)加起来就是PGA的大小了。如果PGA设置的过小,会导致Oracle频繁同磁盘进行交换, 性能将会受到很大影响。
3.3.1 查看PGA
通过下面的命令来查看SGA:
show parameter pga;
结果如下图:



pga_aggregate_target的值就是PGA的大小,从上图可以看出pga_aggregate_target的大小是200M。
3.3.2 修改PGA
通过下面的命令可以修改共享池内存的大小:
alter system set pga_aggregate_target=90M scope=both;



pga_aggregate_target是一个动态参数,可以在运行时修改,因此这里的scope设置为both,新的内存大小马上生效,并且还将修改保存在Oracle的启动文件里。
3.3.3 查看PGA命中率
可以通过下面的命令查看命中率:
SELECT a.VALUE "看命中率咯"
FROM V$PGASTAT a
where a.NAME = 'cache hit percentage';
结果如下:

作者“ERDP技术架构”