Oracle内存结构(二)----Shared Pool的详细信息
日期:2007年8月18日 作者: 查看:[大字体 中字体 小字体]-
Free Lists的描述,管理和Chunk的分配都是在Shared Pool Lathes的保护下进行的.如果Shared Pool包含有大量的小的Free Chunks时,在对这个特殊的Free Lists进行描述时,Shared Pool Lathes将会被占有比较长的一段时间.实际上,经常出现的Shared Pool Lathes的竞争和等待就是因为包含了大量的小的Free Chunks.所以增加Shared Pool 的SIZE并不能减少Shared Pool Lathes Contention而且还会使得这个竞争更加严重,这就是前面提到的将Shared Pool的SIZE设为很大并不一定会提高性能原因.
LRU Lists:
如果一个进程没办法从Shared Pool Free Lists中获得一个Free Chunk,则它会从Shared Pool中删除一个包含有Recreatable对象的Chunks来释放足够大的Chunks满足自己的使用.
Recreatable Chunks有两个种类:一种是Pinned在内存中的,一种是没有Pinned在内存中的.Pinned在内存中的Chunks跟用DBMS_SHARED_POOL.KEEP执行来KEEP在Shared Pool中是不一样的. DBMS_SHARED_POOL.KEEP是需要DBA来干预执行的,并且只能放在library cache中.而Pinned Chunks是自动执行的,它在Chunks包含正在使用的对象时就会自动被pinned在Shared Pool中.Pinned Recreatable Chunks是不能释放空间的,而Unpinned Recreatable Chunks是可以释放出来的.
在Shared Pool中,Unpinned Chunks被组织成两个Lists,它们都是以LRU机制来排列的.分别被称为临时的LRU List和循环的LRU List. Chunks在Unpinned时放在MRU(most recently used)的最后面,在它们pinned时将会从这个MRU List中删除.
在一个进程需要新分配一部分Shared Pool Memory内存时,Chunks也会从LRU List的最尾端删除.Chunks以每8个chunks为一个集而被flushed(暂时说为清空)-----首先是从临时的LRU List,然后再从循环的LRU List. Chunks是在不考虑SIZE的大小并且以LRU机制被flushed的.有一些Chunks是不能被 flushed的,如用DBMS_SHARED_POOL.KEEP执行后的包含library cache 对象的Chunks是不能被 flushed.这些Chunks通过pinned方式来代替被删除.
Unpinned Recreatable Chunks两种类型的LRU Lists: 临时的LRU List和循环的LRU List的长度可以从fixed表X$KGHLU查询到,还有已经flush掉的Chunks数,由于pinned和unpinned而加入到LRU List或者是从LRU List删除的Chunks数.从X$KGHLU表也可以知道LRU Lists被flushed完全但不成功(不理解)的次数和最近一次请求Chunk失败的所需要Chunk SIZE.具体看下面的语句:
column kghlurcr heading "RECURRENTCHUNKS"
column kghlutrn heading "TRANSIENTCHUNKS"
column kghlufsh heading "FLUSHEDCHUNKS"
column kghluops heading "PINS ANDRELEASES"
column kghlunfu heading "ORA-4031ERRORS"
column kghlunfs heading "LAST ERRORSIZE" - 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页
-
- Oracle内存结构(二)----Shared Pool的详细信息 相关文章:
- ·性感妩媚! 镂空真丝内衣吊带丝袜美女
- ·高手进阶,终极内存技术指南——完整/进阶版
- ·解决与HTTP 500 – 内部服务器错误错误信息有关的问题
- ·全国计算机等级考试一级内容
- ·一步成高手:终极图解内存(下篇)
- ·局域网内共享文件 提示没有访问权限的问题
- ·linux内核编译详解
- ·穿过局域网的我的手 内网远程控制全攻略
- ·笔记本内存双通道(DDR2)
- ·查看内存是否处于双通道模式
- Oracle内存结构(二)----Shared Pool的详细信息 相关软件
- ·《冰封王座》国内流行新版3C地图包
- ·快门-教育网内网络电话 V4.5.0.5448
- ·儿童100以内加减法口算出题系统v1.5
- ·黄金内存 V3.1
- ·纯真美少女的内衣写真美图欣赏
- ·熊黛林大胆内衣秀写真美图欣赏
- ·过山车大亨2(内附无限金钱、时间修改器)
- ·彩京1945 三合一(内带模拟器)
- ·室内装修预算系统 V1.0
- ·5Q校内通 V2.1.0.6 Beta
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:Oracle进程内存结构-如何察看Oracle进程消耗的内存
精品推荐
热点TOP10
- ·9istatspack使用手册
- ·ORACLE UPDATE 语句语法与性能分析的一点看法
- ·ORACLE备份&恢复案例--ORACLE BACKUP&RESTORE SCHEME
- ·关于oracle日期函数的介绍和使用
- ·Oracle的SQL*PLUS命令的使用大全
- ·oracle函数之常见单行字符串函数
- ·ORACLE傻瓜手册长篇连载
- ·详细介绍ORACLE sqlplus命令
- ·Decode 函数的用法
- ·ORACLE 培训教程(1)
- ·Oracle 游标使用大全
- ·把Oracle数据库移植到Microsoft SQL Server 7.0
- ·Oracle数据库检查死锁的sql
- ·Oracle的SQL语句执行效率问题查找与解决方法
- ·Oracle常用的OCI函数
- ·用正则表达式函数验证身份证号码合法性
- ·VMware下RedHat安装Oracle 9i RAC全攻略
- ·oracle中pro*c的学习
- ·Oracle 9i 分析函数参考手册
- ·数据库备份与恢复测试(8)
特别推荐
- ·Oracle环境下APACHE虚拟服务器如何设置
- ·常见Oracle HINT的用法
- ·ORA-00257: archiver error. Connect internal only, until freed.
- ·oracle的update问题
- ·小议索引的使用
- ·oracle产品服务和技术级别介绍,OrACLE服务
- ·Oracle 数据类型
- ·Oracle数据库检查死锁的sql
- ·怎样将冷备份移植到另一台Solaris机器上
- ·Oracle 动态SQL返回单条结果和结果集
- ·手动建立 Oracle9i 数据库
- ·Oracle内存结构(二)----Shared Pool的详细信息
- ·DELPHI 调用 Oracle 存储过程并返回数据集的例子.
- ·关于block中行数据的存储与空间重组三
- ·Sybase及SQL Anywhere SQL语句小结
- ·ORACLE备份&恢复案例--ORACLE BACKUP&RESTORE SCHEME
- ·Oracle ERP 11业务调研报告-AP应付帐
- ·在 Oracle 数据库上构建 .NET 应用程序
- ·Oracle的SQL语句执行效率问题查找与解决方法
- ·oracle中pro*c的学习
