Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1705860
  • 博文数量: 136
  • 博客积分: 10021
  • 博客等级: 上将
  • 技术积分: 3261
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-22 11:26
文章分类

全部博文(136)

文章存档

2010年(1)

2009年(26)

2008年(109)

我的朋友

分类: Oracle

2008-05-15 23:32:44

我们先回顾一下 Row Data 中的信息:

 

-- Row Data

block_row_dump:

tab 0, row 0, @0x1eff

tl: 7 fb: --H-FL-- lb: 0x2  cc: 1

col  0: [ 3]  c2 07 43

tab 0, row 1, @0x1ef6

tl: 7 fb: --H-FL-- lb: 0x2  cc: 1

col  0: [ 3]  c2 07 43

tab 0, row 2, @0x1eed

tl: 7 fb: --H-FL-- lb: 0x2  cc: 1

col  0: [ 3]  c2 07 43

tab 0, row 3, @0x1ee4

tl: 7 fb: --H-FL-- lb: 0x2  cc: 1

col  0: [ 3]  c2 07 43

tab 0, row 4, @0x1edb

tl: 7 fb: --H-FL-- lb: 0x2  cc: 1

col  0: [ 3]  c2 07 43

tab 0, row 5, @0x1ed2

tl: 7 fb: --H-FL-- lb: 0x2  cc: 1

col  0: [ 3]  c2 07 43

tab 0, row 6, @0x1ec9

tl: 7 fb: --H-FL-- lb: 0x2  cc: 1

col  0: [ 3]  c2 07 43

tab 0, row 7, @0x1ec0

tl: 7 fb: --H-FL-- lb: 0x2  cc: 1

col  0: [ 3]  c2 07 43

end_of_block_dump

End dump data blocks tsn: 11 file#: 11 minblk 226 maxblk 226

 
这里是我们先前查询到的这些数据的实际存储方式:

 

SQL> select * from test3;

 

         B

----------

       666

       666

       666

       666

       666

       666

 

已选择6行。

 

SQL>

 

tab: 所在表的序号。

 

row: 该行在块中的行号

 

@0x1eff: 该行在数据块中的偏移地址,与 Row Directory 中的偏移地址对应。

 

tl: rowsize(number of bytes plus data)

 

fb: 记录的状态

 

lb: lock byteitl entry then has this row locked

 
cc: number of columns in this row piece
 
col 0: 第1列(下标从0开始)。
 
[ 3]: 长度为3。
 
c2 07 43: 存储在数据块中的数字 666。我们可以将它转换一下:

 

SQL> select my_tool.get_inner('[ 3]  c2 07 43', 'n') b from dual;

 

B

---------

666

 
(参考的DATA BLOCK内部结构
阅读(1937) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~