上一节已经说过,如果采用专用服务器连接模式,PGA由UGA与另外一部分内存组成。另外的那部分内存主要用来进行排序,位图合并之类的。现在我们就来讲讲oracle如何管理这部分内存的。
有几个参数:
sort_area_size:在信息换出到磁盘之前,用于对信息进行排序的内存总量。就是我给你分配多少内存用来进行排序,这是个上限。例如:我给你分配5M,你在最繁忙的时候只需要3M,说明你在最多的时候也只用了3M。并不是说把5M给你之后,就在内存某个地方划了一块%M的空间给你,说这是你的了,别人都不能用!这只是一个标识,说明你不能够越界。那假设你在最繁忙的时候需要10M呢,那怎么办?你还是只能够使用5M,那就要在内存与磁盘之间进行信息交换,会大大影响性能!所以这个参数设置得是否合适,至关重要!
sort_area_retained_size:排序完成后用于保存已排序数据的内存总量。如果sort_area_size为512KB,sort_area_retained_size为256KB。那么服务器进程最初最多会用512KB对信息进行排序,排序完成之后,排序区会“收缩”到256KB,这256KB内存中放不下的已排序数据会写到临时表空间中。
操作如下:
登陆成功之后:1.内存管理机制为手动管理:alter session set workarea_size_policy=manual;
2.修改排序区大小:alter session set sort_area_size=65336; 就是64KB.
参考书籍:oracle9i&10g编程艺术
分享到:
相关推荐
Oracle内存结构研究-PGA篇;PGA(Process Global Area),即程序全局区,一个进程的专用的内存区。
oracle实例内存(SGA和PGA)调整
详细解析了oracle内存架构,相关参数和视图,包括SGA、PGA、UGA、CGA,以及orcle内存管理模式等。
PGA导致oracle内存泄露,经历1个月的时间,终于搞定该问题,对于学习ORACLE 内存泄露是一次比较好的总结。
oracle实例的内存(SGA和PGA)进行调整,优化数据库性
公司出资,请专业培训公司培训oracle调优
SGA+PGA最好不要超过总内存的70%,内存详细调整方案,供学习。
oracle实例内存(SGA和PGA)分析与调整
oracle SGA PGA UGA 内存的概念; UGA和PGA不是一回事; UGA包含了对Oracle共享服务器的会话信息。当oracle的服务采用共享服务器会话模式而没有配置大池时, UGA就位于使用的共享池中。
oracle内存各组件内部深入分析,包括sga,pga等
oracle 的内存可以按照共享和私有的角度分为系统全局区和进程全局区,也就是 SGA和 PGA(process global area or private global area)。
此sql可以帮助你查看oracle对当前pga大小的推荐值,达到oracle性能优化的目的
包含实例的数据和控制信息,包含如下内存结构:1)Databasebuffercache:缓存了从磁盘上检索的数据块。2)Redologbuffer:缓存了写到磁盘之前的重做信息。3)Sharedpool:缓存了各用户间可共享的各种结构。4)Large...
OracleSGA和PGA管理
第2章 体系结构概述 47 2.1 定义数据库和实例 48 2.2 SGA和后台进程 53 2.3 连接Oracle 56 2.3.1 专用服务器 56 2.3.2 共享服务器 57 2.3.3 TCP/IP连接的基本原理 58 2.4 小结 61 第3章 文件 63 .3.1 参数...
文档里包含了对Oracle PGA详细讲解!
获得optimal、onepass、multipass执行次数的百分比,很明显,optimal所占的百分比越高越好,假如onepass和multipass占的百分比很高,就不需要增加pga_aggregate_target的值了,或者调整SQL语句以使用更少的PGA区
火龙果软件工程技术中心 Oracle在简化内存管理方面过去几年做了巨大的努力,从Oracle9i通过PGA_AGGREGATE_TARGET参数实现PGA自动管理开始,Oracle10g通过SGA_TARGET参数实现了SGA的自动管理,Oracle11g更是惊人地...