||
x$bh :(buffer header)每一个buffer在这个表中都有一个列跟它对应。
它记录了数据块头信息,比如这个块被touch了多少次(tch字段),被touch的越多就表示这个块越抢手。
x$ksmsp是 shared pool中条目相关信息
state:数据块状态
0,FREE 一个buffer被清空之后,但是buffer cache的链的头部还是记录这个buffer的头部信息,这样就会显示为free状态
1,XCUR 一个库对应一个实例时,也就是非RAC环境下,与block块对应的buffer
2,SCUR RAC环境下的CURRENT
3,CR 见博文oracle段区块——buffer cache
4,READ block正在往buffer里写东西时的状态。也就是从dbf里读东西时buffer状态
5,MREC a block in media recovery state
6,IREC a block in instance(crash)recovery state
7,WRITE DB writer将数据写会dbf时buffer的状态
查看一个对象占用buffer的具体情况:以表T2为例
select o.object_name,decode(state,0,'free','1','xcur','2','scur','3','cr','4','read','5','mrec','6','irec','7','write','8','pi') state,count(*) blocks from x$bh b,dba_objects o where b.obj=0.data_object_id and o.object_name='T2' group by o.object_name,state order by blocks desc;
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-5-23 22:04
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社