Oracle10g 管理系统全局区(SGA)

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 httpnet 的 blog

        有几个影响sga内存分配数量的参数,除了sga_max_size ,其他都是动态参数,也就是说在数据库运行期间可以使用alter system 语句动态修改的参数.sga的大小是动态的,通过修改这些参数可以是sga增长或收缩.

sga组件和sga内存颗粒

        由许多内存组建组成,他们是用于满足特定内存分配请求的内存池.例如共享池(用于缓冲磁盘数据块),所有的sag以一个最小的内存单元颗粒分配和回收内存空间,oracle在系统内部追踪sag的内存单元的分配和使用情况.

        sga的内存分配是通过颗粒进行分配的,颗粒大小由sga的大小决定.一般来将,在大多数平台,如果sga小于等于1g,那么颗粒大小为4mb,如果大于1g,颗粒的大小为16mb,不同的是在32位windows平台下,sga大于1g时,颗粒大小位8mb而非16mb,详细信息,查看操作系统文档.

        可以通过v$sgainfo 系统试图查看由某个实例使用的颗粒大小.同样的大小用于所有sga的动态组件.

        如果指定的sga组件的大小不是颗粒大小的整数倍,那么oracle将会四舍五入求整而得到其整数倍值,赋给sga内存组件.而不是你所指定的大小.例如如果颗粒大小为4mb,你给 db_cache_size 参数设定为10mb,那么实际分配的内存将会是12mb.

限制sga的大小

   sga_max_size 参数指定sga在实例的生命期内的最大数.动态修改这些参数影响的buffer cache,shared pool,large pool,java pool,和streams pool的大小,和sga的总大小.但是不能超过sga_max_size 参数所设定的值.

   如果没有指定,那么默认把所有初始化参数中指定的内存组件的和作为期缺省值.

使用自动共享内存管理

....................

本文关键:Oracle10g 管理系统全局区(SGA)
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top