PGA(程序全局区)在数据库会话专有连接模式下是私有区域,每个用户进程单独使用。在共享服务器会话连接模式下,多个用户进程共享使用PGA。PGA主要用于大规模数据排序,例如包含GROUP BY或ORDER BY子句的SQL语句。优化PGA意味着将这些大规模数据排序操作放置在PGA中执行,而不是使用虚拟内存占用操作系统的交换区。为了合理设置PGA大小以满足系统需求,在Oracle 9i之前,可以手动调整参数SORT_AREA_SIZE。在Oracle 9i及以上版本,支持PGA排序区的自动调整功能,由参数PGA_AGGREGATE_TARGET和WORKAREA_SIZE_POLICY配置。PGA排序区的自动管理需要设定合适的数值,并确保其他系统组件的内存充足。查看PGA排序区的值可参考例子26-68和例子26-69。