欢迎来到天天文库
浏览记录
ID:14419153
大小:56.00 KB
页数:31页
时间:2018-07-28
《oracle_sga内存详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、oracle_sga内存详解oracle_sga内存详解.txt小时候觉得父亲不简单,后来觉得自己不简单,再后来觉得自己孩子不简单。越是想知道自己是不是忘记的时候,反而记得越清楚。前言对于oracle的内存的管理,截止到9iR2,都是相当重要的环节,管理不善,将可能给数据库带来严重的性能问题。下面我们将一步一步就内存管理的各个方面进行探讨。l概述oracle的内存可以按照共享和私有的角度分为系统全局区和进程全局区,也就是SGA和PGA(processglobalareaorprivateglobalarea)。对于SGA区域内的内存来说,是共享的全局的,在UNIX上
2、,必须为oracle设置共享内存段(可以是一个或者多个),因为oracle在UNIX上是多进程;而在WINDOWS上oracle是单进程(多个线程),所以不用设置共享内存段。PGA是属于进程(线程)私有的区域。在oracle使用共享服务器模式下(MTS),PGA中的一部分,也就是UGA会被放入共享内存large_pool_size中。对于SGA部分,我们通过sqlplus中查询可以看到:SQL>select*fromv$sga;NAMEVALUE------------------------------FixedSize454032VariableSize1090
3、51904DatabaseBuffers385875968RedoBuffers667648FixedSizeoracle的不同平台和不同版本下可能不一样,但对于确定环境是一个固定的值,里面存储了SGA各部分组件的信息,可以看作引导建立SGA的区域。VariableSize包含了shared_pool_size、java_pool_size、large_pool_size等内存设置和用于管理数据缓冲区等内存结构的hashtable、块头信息(比如x$bh消耗内存)等DatabaseBuffers指数据缓冲区,在8i中包含defaultpool、buffer_pool
4、_keep、buffer_pool_recycle三部分内存。在9i中包含db_cache_size、db_keep_cache_size、db_recycle_cache_size、db_nk_cache_size。这里要注意在8i中三部分内存总和为db_block_buffers*db_block_size。RedoBuffers指日志缓冲区,log_buffer。在这里要额外说明一点的是,对于v$parameter、v$sgastat、v$sga查询值可能不一样。v$parameter里面的值,是指用户在初始化参数文件里面设置的值,v$sgastat是orac
5、le实际分配的日志缓冲区大小(因为缓冲区的分配值实际上是离散的,也不是以block为最小单位进行分配的),v$sga里面查询的值,是在oracle分配了日志缓冲区后,为了保护日志缓冲区,设置了一些保护页,通常我们会发现保护页大小大约是11k(不同环境可能不一样)。参考如下内容SQL>selectsubstr(name,1,10)name,substr(value,1,10)value2fromv$parameterwherename='log_buffer';NAMEVALUE----------------------------------------log_b
6、uffer524288SQL>select*fromv$sgastat;POOLNAMEBYTES------------------------------fixed_sga454032buffer_cache385875968log_buffer656384SQL>select*fromv$sga;NAMEVALUE------------------------------FixedSize454032VariableSize109051904DatabaseBuffers385875968RedoBuffers667648关于各部分内存的作用,参考oracl
7、e体系结构,在此不再叙述。lSGA的大小那么我们现在来考察内存参数的设置。实际上,对于特定的环境,总是存在着不同的最优设置的,没有任何一种普遍适用的最优方案。但为什么在这里我们还要来谈设置这个话题呢,那仅仅是出于一个目的,避免过度的犯错误。事实上,在任何一个生产系统正式投入使用之前,我们不拥有任何系统运行信息让我们去调整,这样就只有两种可能,一是根据文档推荐设置,另外一种就是根据经验设置。相对来说,根据经验的设置比根据文档的设置要可靠一些。尤其是那些24*7的系统,我们更要减少错误的发生。那么我们尝试去了解不同的系统不同的应用的具体设置情况,从而提供一个参照信息
此文档下载收益归作者所有