Oracle Freelist和HWM的性能优化

来源:pcdog 作者:佚名 2008-04-02 出处:pcdog.com

oracle  oracle数据库  存储过程  
上一页 1 2 3 4 5 6 7 8 下一页 

    l 立即被T1所重用

    l 当T1 commit后被其它需要空闲块的事务重用,过程举例如下:

    2.5 HMW概念

    HIGH WATER MARK代表一个表使用的最大的(top limit)块 。2.1中已经提到HIGH WATER MARK 记录在segment header中,并且在Oracle插入数据时一般增长5个blocks(并非总是5个块,具体参见2.4.2中流程图中HMW增长方式)。

    segment header block中与HWM相关信息说明如下:

 EXTENT CONTROL:

    Extent Header:: spare1: 0 space2: 0 #extents: 13 #blocks: 1429

    last map 0x00000000 #maps: 0 offset: 4128

    Highwater:: 0x020004d0 ext#: 12 blk#: 275 ext size: 475

    #blocks in seg. hdr’s freelists: 5

    #blocks below: 1229

    mapblk 0x00000000 offset: 12

    Unlocked

    ==> spare1: this field is no longer used (old inc#, now always 0)

    ==> space2: this field is no longer used (old ts#, now always 0)

    ==> #extents: number of extents allocated to segment

    ==> #blocks: number of blocks allocated to segment

    ==> last map: address of last extent map block

    0 if extent map is entirely in the segment header

    ==> #maps: number of extent map block

    ==> offset: offset to end of extent map

    ==> HWM dba: address of block at highwater mark

    ==> ext#: HWM extent number relative to segment

    ==> blk#: HWM block number within extent

    ==> ext size: HWM extent size (in blocks)

    ==> #blocks in seg. hdr’s freelists: number of blocks in seg. hdr’s free list

    ==> #blocks below: number of blocks below HWM

    ==> mapblk dba: dba of extent map block containing HWM extent

    is 0 if HWM is in the segment header

    ==> offset: offset within extent map block

    is the ext# if HWM is in segment header

    ==> Locked by: if locked by a transaction, the xid is displayed


更多内容请看PCdog.com--性能调优专题
上一页 1 2 3 4 5 6 7 8 下一页 
上一篇:SQL Server和Oracle的真正区别
下一篇:归纳一下ORACLE中的数据类型