设置一个新的数据库实例初始化参数时,为变量PGA_AGGREGATE_TARGET设定一个适当的值是很难准确知道的,可以通过以下三个步骤设置
1:首先为PGA_AGGREGATE_TARGET做一个评估,它的大小可参考SGA的值,一般为其大小的20%,不过这个值对于一个大型决策支撑系统(DSS)来说的话,还是太小。
2:数据库实例运行一个代表性的工作量,并且监视其性能,使用oracle收集的PGA统计信息,来查看PGA的值是否超出了所设置的PGA最大值
3:使用oracle统计顾问(advice statistics)来调整PGA_AGGREGATE_TARGET的大小。
一般会将电脑80%的物理内存分配给oracle实例,PGA大小的分配遵照下面的公式:
1.For OLTP:
PGA_AGGREGATE_TARGET
= (total_mem
* 80%) * 20%
2.For DSS:
PGA_AGGREGATE_TARGET
= (total_mem
* 80%) * 50%
剩余部分分SGA。
调整PGA大小之前,通过以下视图来帮助评估PGA内存自动管理组件的性能。
v$pgastat,v$process,v$process_memory,v$sql_workarea_histogram,v$sql_workarea_advice,v$sql_workarea