18.1.2 修改PGA
PGA是指Process Global Area,即进程全局区。每位客户端用户连接到Oracle服务器,均会由服务器分配一定内存来保持连接,并将在该内存中实现用户私有操作。所有用户连接的内存集合便形成了Oracle数据库的PGA。
Oracle 10g提供了PGA内存的自动管理。参数pga_aggregate_target可以指定PGA内存的***值。当参数pga_aggregate_target大于0时,Oracle将自动管理pga内存,并且各进程的所占PGA之和,不大于pga_aggregate_target所指定的值。SQL>show parameter pga;
NAME TYPE VALUE
----------------- ------- -----
pga_aggregate_target big integer 24M
当然,也可以通过动态视图v$pgastat查看PGA的详细信息,如下所示。SQL>select * from v$pgastat;
NAME VALUE UNIT
---------------------------------- ----------- --------------
aggregate PGA target parameter 25165824 bytes
aggregate PGA auto target 5713920 bytes
global memory bound 1257472 bytes
total PGA inuse 18890752 bytes
total PGA allocated 43160576 bytes
maximum PGA allocated 56952832 bytes
total freeable PGA memory 0 bytes
PGA memory freed back to OS 0 bytes
total PGA used for auto workareas 0 bytes
maximum PGA used for auto workareas 0 bytes
total PGA used for manual workareas 0 bytes
maximum PGA used for manual workareas 0 bytes
over allocation count 6
bytes processed 42258432 bytes
extra bytes read/written 3175424 bytes
cache hit percentage 93.01 percent
16 rows selected
Oracle默认的24M大小的PGA显然不能满足要求,可以通过如下命令修改PGA的大小。SQL>alter system setpga_aggregate_target=200Mscope=both;
System alteredalter system set pga_aggregate_target=200M用于将pga_aggregate_target的大小修改为200M;scope=both用于同时修改当前环境与启动文件spfile。
【责任编辑:云霞 TEL:(010)68476606】
点赞 0