Oracle PGA
来源:互联网 发布:萧美琴 知乎 编辑:程序博客网 时间:2024/05/16 01:33
PGA (ProgramGlobal Area)程序全局区
PGA是用户进程连接到数据库并创建一个对应的会话时,由ORACLE为服务器进程分配的专门用于当前用户会话的内存区,每个Oracle服务器进程都包含有属于自己的PGA,它只存储这个服务进程的相关信息。PGA是私有的而非共享的,当它对应的用户进程死掉后可将服务器进程及其资源清除和释放。PGA的构成:
l 排序区
用于存放排序操作产生的临时数据,排序区是影响PGA区大小的主要因素。排序区的大小由初始化参数SORT_AREA_SIZE决定。而SORT_AREA_RETAINED_SIZE参数是决定排序区操作结束后排序区保留的内存大小。从排序区释放的内存仍然属于服务器进程,并不返回给操作系统。
ORACLE利用内存比磁盘快的事实,将准备排序的数据先临时存储到排序区中,并在排序区中执行排序操作,然后将排序结果返回给用户。
排序原理:如果要排序的数据在排序区中放不下,则ORACLE就将数据分割成较小的块放在排序区中,然后对每一小块进行排序。排序产生的临时数据就先放到临时表空间的临时段中。当每一小块都排序完成之后,再将这些排序完成的小块合并在一起,产生最终结果。
l 会话区
存储会话所具有的权限、角色、性能统计信息。
l 游标状态区
运行SQL语句或使用游标的语句时,ORACLE会在共享池中为该语句分配上下文区,游标实际是指向该上下文区的指针。在PGA区中的游标状态区存储的是会话中当前使用的各个游标所处的状态。
l 堆栈区
存储的是会话中的绑定变量、会话变量、SQL语句运行的内存结构等信息。
SGA与PGA对比表
SGA
PGA
分配时间
实例启动时
创建服务器进程时
释放时间
实例关闭时
服务器进程结束时
共享范围
被一个实例下的所有进程共享
单个进程专用,不能共享。
- oracle pga
- Oracle PGA
- Oracle PGA
- oracle pga
- oracle pga
- Oracle PGA
- Oracle PGA
- Oracle PGA内存管理 PGA Memory Management
- oracle pga使用控制
- Oracle PGA参数
- oracle PGA管理(算法)
- Oracle SGA PGA UGA
- Oracle PGA详解
- oracle PGA详解
- oracle 内存管理PGA
- oracle PGA管理(算法)
- Oracle PGA参考
- oracle pga参数
- ios app 提交上架错误
- Android类库常用类库一览
- 常用插件
- Android转换位图BUG,知其然不知其所以然
- eeplat开发平台概念理解
- Oracle PGA
- 苹果暂时领先智能手机行列,三星紧追
- C++关于迭代器删除(erase)插入(insert)失效问题
- 打印文件夹中所有dll输出表中函数名称
- Android SharedPreferencse
- Velocity 语法
- 控制面板之后理应跟这PC端差不
- 3种删除确认js代码
- PHP之向浏览器输出数据