今天,对ORACLE11G的几个内存参数看了一下,记录以下,你们能够参考:
一、首先,在ORACLE11G的INIT.ORA里,有“__”开头的参数,也就是以两个下划线开头的参数,这种参数应该是系统自动调整的结果,第一次启动系统后,系统对这些参数进行了调整,而后,把调整后的结果记录在了参数文件里,我想可能在SPFILE里也有的。而以一个下划线开头的参数,咱们你们都知道,是隐含参数,就是在ORACLE的公开的文档里没说明的,也就是ORACLE不主张用户本身调整的参数。
二、如今开始讨论一下ORACLE11G里的内存参数:MEMORY_MAX_TARGET,MEMORY_TARGET,SGA_MAX_SIZE,SGA_TARGET,PGA_AGGREGATE_TARGET,WORK_SIZE_POLICY,DB_BLOCK_BUFFERS,DB_CACHE_SIZE等。
(1)MEMORY_MAX_TARGER:肯定DBA能肯定的MEMORY_TARGET的最大值,K|M|G;
(2)MEMORY_TARGET:肯定ORACLE系统范围可用的内存大小,数据库系统调整SGA和PGA的大小来适应MEMORY_TARGET,在初始化参数里,若是你肯定了MEMORY_TARGET的大小,而没肯定MEMORY_MAX_TARGET,那么系统自动肯定MEMORY_MAX_TARGET为MEMORY_TARGET的大小,反之,系统肯定MEMORY_TARGET为0,系统启动后再动态调整MEMORY_TARGET的大小,但不会超过MEMORY_MAX_TARGET,K|M|G。
(3)SGA_MAX_SIZE:肯定SGA在整个实例生命期的最大值,K|M|G。
(4)SGA_TARGET:肯定SGA各组件的总大小,若是SGA_TARGET被肯定,那么下面各SGA组件ORACLE自动调整:DB_CACHE_SIZE,SHARED_POOL_SIZE,LARGE_POOL_SIZE,JAVA_POOL_SIZE,STREAMS_POOL_SIZE;当你设置这些POOL为非零值时,那么,ORACLE的自动共享内存管理会把这些值当作这些POOL的最低值。而下面这些POOL须要手工调整,不受SGA_TARGET的影响:
Log buffer;Other buffer caches, such as KEEP, RECYCLE, and other block sizes;Fixed SGA and other internal allocations
(5)PGA_AGGREGATE_TARGET:肯定属于ORACLE实例的全部服务器进程的、可用的、总的PGA的目标大小,肯定这个参数的值为非零,会自动设置WORK_SIZE_POLICY为AUTO,这样,系统会自动调整每一个SQL工做区大小,来适应该PGA_AGGREGATE_TARGET大小,若是你没肯定它的值,那么系统缺省该值为SGA的20%和10M中最大的值;当你设置这个值为0时,系统自动设置WORK_SIZE_POLICY为MANUAL,这时,系统会启用系统的*_AREA_SIZE,K|M|G。
(6)WORK_SIZE_POLICY:肯定WORK AREA调整模式:AUTO,MANUAL。
(7)DB_BLOCK_BUFFERS:该参数和DB_CACHE_SIZE不能一块儿使用的,同时,也不能和SGA_TARGET参数一块儿使用,由于该参数是9i之前配置DATA BUFFERS的参数,留着它多是为了向后兼容,通常不使用它了,使用它时,不能使用DB_CACHE_SIZE和SGA_TARGET参数,该参数不能设置大小,只能设置成块数,而不能设置成K|M|G。
(8)DB_CACHE_SIZE:设置数据库缓冲的大小,当SGA_TARGET设置为非零值时,那么该参数设置数据缓冲的最小值;
(9)11g新特性,从内存参数生成SPFILE文件:
之前只能:CREATE SPFILE FROM PFILE;
如今能够:CREATE SPFILE FROM MEMORY;
仅供你们参考,如需转载,请注明出处。