X$BH及V$BH中各字段意义

X$BH及V$BH中各字段意义


X$BH    SYS用户可查询
buffer header数据,可以从数据库的数据字典表中查询得到,这张字典表就是x$bh,其中的bh就是指buffer headers,每个buffer在x$bh中都存在一条记录.
buffer header中存储每个buffer容纳的数据块的文件号,块地址,状态等重要信息,根据这些信息,结合dba_extents视图,可以很容易地找到每个buffer对应的对象信息:
x$bh中还有一个重要的字段TCH,TCH为Touch的缩写,表示一个Buffer的访问次数,buffer被访问的次数越多,说明该buffer就越抢手,也就可能存在热块竞争的问题
可以结合DUMP BH来对比X$BH中字段,详见: 点击打开链接

SYS@ bys3>desc x$bh    ----总共57个字段:数据库版本:11.2.0.4

 Name             Type
 -----------------------------
 ADDR             RAW(4)    --Hex address of the Buffer Header.视图中某行的地址-缓冲区头的十六进制地址
 INDX             NUMBER    --Buffer Header number
 INST_ID          NUMBER
 HLADDR           RAW(4)    --即hash chain latch address可以和v$latch_children.addr关联,把latch和数据块关联起来
 BLSIZ            NUMBER    --块大小
 NXT_HASH         RAW(4)    --下一个BH的HASH值
 PRV_HASH         RAW(4)  --前一个BH的HASH值
 NXT_REPL         RAW(4)  --下一个BH的在LRU链上HASH值
 PRV_REPL         RAW(4)      --前一个BH的在LRU链上HASH值
 FLAG             NUMBER      ---块的状态,在BH中可能是buffer_dirty block_written_once redo_since_read   , 详见最后
 FLAG2            NUMBER
 LOBID            NUMBER
 RFLAG            NUMBER    
 SFLAG            NUMBER
 LRU_FLAG         NUMBER   --- LRU_FLAG,详见最后
 TS#              NUMBER    --tablespace number表空间号
 FILE#            NUMBER    --块在数据库内绝对文件号
 DBARFIL          NUMBER    --块的相对文件号
 DBABLK           NUMBER    --块号--在数据文件上的
 CLASS            NUMBER    --太长,见最下面。
 STATE            NUMBER    --太长,见最下面。
 MODE_HELD        NUMBER    --
 CHANGES          NUMBER
 CSTATE           NUMBER
 LE_ADDR          RAW(4)    --Lock Element address (OPS)
 DIRTY_QUEUE      NUMBER    --LRUW上的buffer
 SET_DS           RAW(4)    -- Buffer cache set this buffer is under
 OBJ              NUMBER    --对象号
 BA               RAW(4)    --BUFFER ADDRESS--在内存中的地址
 CR_SCN_BAS       NUMBER    --Consistent Read SCN base 一致读SCN低位
 CR_SCN_WRP       NUMBER    --Consistent Read SCN wrap  一致读SCN高位
 CR_XID_USN       NUMBER    -- CR XID Undo segment no
 CR_XID_SLT       NUMBER    -- CR XID slot
 CR_XID_SQN       NUMBER    --CR XID Sequence
 CR_UBA_FIL       NUMBER    -- CR UBA file
 CR_UBA_BLK       NUMBER    -- CR UBA Block
 CR_UBA_SEQ       NUMBER    --CR UBA sequence
 CR_UBA_REC       NUMBER    --CR UBA record
 CR_SFL           NUMBER    --
 CR_CLS_BAS       NUMBER
 CR_CLS_WRP       NUMBER
 LRBA_SEQ         NUMBER    --Lowest RBA needed to recover block in cache
 LRBA_BNO         NUMBER
 HSCN_BAS         NUMBER      ---SCN的低位
 HSCN_WRP         NUMBER     --SCN的高位
 HSUB_SCN         NUMBER
 US_NXT           RAW(4)
 US_PRV           RAW(4)
 WA_NXT           RAW(4)
 WA_PRV           RAW(4)
 OQ_NXT           RAW(4)    --- 对象队列前一个HASH值
 OQ_PRV           RAW(4)     --- 对象队列后一个HASH值
 AQ_NXT           RAW(4)     ---辅助对象队列前一个HASH值
 AQ_PRV           RAW(4)    ---辅助对象队列后一个HASH值
 OBJ_FLAG         NUMBER
 TCH              NUMBER    --Touch的缩写,表示一个Buffer的访问次数
 TIM              NUMBER    --Touch Time
 CR_RFCNT         NUMBER

 SHR_RFCNT        NUMBER

10.2.0.1.0 版本中相比11G此版本,少了以下字段:

OQ_NXT     
OQ_PRV     
AQ_NXT     
AQ_PRV     
OBJ_FLAG                                                              
CR_RFCNT   
SHR_RFCNT
LOBID

###########################################

附:

flag中,每位代表如下含义:

bit bit
0 buffer_dirty 14 stale
1 notify_after_change 15 deferred_ping
2 mod_started 16 direct_access
3 block_has_been_logged 17 hash_chain_dump
4 temp_data 18 ignore_redo
5 being_written 19 only_sequential_access
6 waiting_for_write 20 prefetched_block
7 multiple_waiters 21 block_written_once
8 recovery_reading 22 logically_flushed
9 unlink_from_lock 23 resilvered_already
10 down_grade_lock 25 redo_since_read
11 clone_being_written 29 plugged_from_foreign_db
12 reading_as_CR 30 flush_after_writing
13 gotten_in_current_mode
class:表示buffer header对应block的类型:
            1=data block,                   9=2nd level bmb,     
            2=sort block,                   10=3rd level bmb,    
            3=save undo block,              11=bitmap block,     
            4=segment header,               12=bitmap index block,
            5=save undo header,             13=unused,           
            6=free list,                    14=undo header,      
            7=extent map,                   15=undo block  
state:
0, FREE, no valid block image
1, XCUR, a current mode block, exclusive to this instance 正在被当前的instance独占。
2, SCUR, a current mode block, shared with other instances正在被当前的instance共享
3, CR, a consistent read (stale) block image 一致读
4, READ, buffer is reserved for a block being read from disk 正在从磁盘上读取块
5, MREC, a block in media recovery mode  处于介质恢复模式
6, IREC, a block in instance (crash) recovery mode处于实例恢复模式

0,'free',1,'xcur',2,'scur',
3,'cr', 4,'read',5,'mrec',
6,'irec',7,'write',8,'pi', 9,'memory'
10,'mwrite',11,'donated', 12,'protected',  
13,'securefile', 14,'siop',15,'recckpt',
 16, 'flashfree',  17, 'flashcur', 18, 'flashna'



lru_flag

SYS@ bys3>desc v$bh;    ---V$BH各字段

 Name               
 ------------------------
 FILE#              Datafile identifier number (to find the filename, query DBA_DATA_FILES or V$DBFILE)
 BLOCK#             Block number
 CLASS#             Class number--对应的状态见上面Class
 STATUS             Status of the buffer: 对应的见上面Status
 XNC                 此列已经废弃
 FORCED_READS        此列已经废弃
 FORCED_WRITES       此列已经废弃
 LOCK_ELEMENT_ADDR  PCM锁的地址
 LOCK_ELEMENT_NAME  
 LOCK_ELEMENT_CLASS
 DIRTY              Y - block modified
 TEMP               Y - temporary block
 PING               Y - block pinged
 STALE              Y - block is stale 陈旧
 DIRECT             Y - direct block  直接块?
 NEW                此列已经废弃
 OBJD               缓冲区块的对象号
 TS#                缓冲区块的表空间号
 LOBID              如缓冲区属于SecureFiles的对象,此值是该SecureFiles的对象的唯一标识符。对于其他类型的缓冲区,此值无意义。
 CACHEHINT         
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值