PGA-Program Global Area
PGA内存区是私有不共享的,用户对数据库发起的无论查询还是更新的任何操作,都要在该区域先预处理,然后才进入实例区(由SGA及系统后台进程共同完成用户请求)。
预处理主要有哪些呢?
一、保存用户的连接信息,如会话属性,绑定变量等;
二、保存用户权限等重要信息,当用户进程与数据库建立会话时,系统会将该用户的相关权限查询出来,然后保存在该会话区内;
三、当发起的指令需要排序,则在PGA中进行,如果内存不够存放排序的尺寸,则超出的部分就在临时表空间完成排序,即在磁盘中完成。
下图是Oracle体系结构图,一般用户发起的请求,需要经历1区-->2区-->3区,或者1区-->2区
以上内容摘自:《收获,不止Oracle》