索引内部结构探索

Oracle的Branch block纪录了Leaf block的地址,以及该Leaf block的index entry的最小值

Branch block dump
=================
header address 180063820=0xabb8e4c
kdxcolev 1
KDXCOLEV Flags = - - -
kdxcolok 1
kdxcoopc 0x81: opcode=1: iot flags=--- is converted=Y
kdxconco 2
kdxcosdc 1
kdxconro 2
kdxcofbo 32=0x20
kdxcofeo 8042=0x1f6a
kdxcoavs 8010
kdxbrlmc 37750271=0x24005ff
kdxbrsno 0
kdxbrbksz 8056
row#0[8042] dba: 37750269=0x24005fd 第一个Leaf block的存储地址 十六进制 24 代表文件号 5fd代表block号
col 0; len 1; (1): 36 第一个Leaf block的index entry的最小值为6
col 1; TERM
row#1[8049] dba: 37750272=0x2400600 第二个Leaf block的存储地址
col 0; len 1; (1): 38 第一个Leaf block的index entry的最小值为8
col 1; TERM
----- end of branch block dump -----
End dump data blocks tsn: 9 file#: 9 minblk 1532 maxblk 1532

[@more@]


=================================



建表
create table t (id char(1024)) tablespace users;
建索引
create index t_idx on t(id);


二 为表插入测试数据
SQL> begin
2 for i in 10 .. 1000 loop
3 insert into t values ( to_char(i));
4 IF mod(i,100)=0 Then
5 commit;
6 END IF;
7 end loop;
8 end;
9 /

PL/SQL procedure successfully completed.


根据以下脚本创建获取rowid的函数

create or replace function get_rowid
(l_rowid in varchar2)
return varchar2
is
ls_my_rowid varchar2(200);
rowid_type number;
object_number number;
relative_fno number;
block_number number;
row_number number;
begin
dbms_rowid.rowid_info(l_rowid,rowid_type,object_number,relative_fno, block_number, row_number);
ls_my_rowid := 'Object# is :'||to_char(object_number)||chr(10)||
'Relative_fno is :'||to_char(relative_fno)||chr(10)||
'Block number is :'||to_char(block_number)||chr(10)||
'Row number is :'||to_char(row_number);
return ls_my_rowid ;
end;
/

四 在session A中 做以下查询
SQL> select rowid from t where id='105';

ROWID
------------------
AAAHh/AAJAAAAYeAAA

获取数据库存储
SQL> select get_rowid('AAAHh/AAJAAAAYeAAA') from dual;

GET_ROWID('AAAHH/AAJAAAAYEAAA')
--------------------------------------------------------------------------------
Object# is :30847 对象object_id
Relative_fno is :9 对应数据文件
Block number is :1566 data block号
Row number is :0 行号

五 从索引中获取相应相应信息

SQL> analyze index t_idx validate structure;

Index analyzed.

SQL> select HEIGHT,BLOCKS,LF_BLKS,BTREE_SPACE ,USED_SPACE from index_stats;

HEIGHT BLOCKS LF_BLKS BTREE_SPACE USED_SPACE
---------- ---------- ---------- ----------- ----------
2 384 180 1447308 1038873

SQL> select file_id,extent_id,block_id,blocks
2 from dba_extents where segment_name='T_IDX';

FILE_ID EXTENT_ID BLOCK_ID BLOCKS
---------- ---------- ---------- ----------
9 0 1529 8
9 1 1537 8
9 2 1553 8
9 3 1569 8
9 4 1585 8
9 5 1601 8
9 6 1609 8
9 7 1625 8
9 8 1641 8
9 9 1657 8
9 10 1665 8

FILE_ID EXTENT_ID BLOCK_ID BLOCKS
---------- ---------- ---------- ----------
9 11 1681 8
9 12 1697 8
9 13 1713 8
9 14 1729 8
9 15 1737 8
9 16 1801 128
9 17 1929 128

18 rows selected.

本例中T_IDX索引中,共18个extent,共8*16+128*2=384个block,1个branch block,每个索引段的前3个block是metadata block,第4个block是branch block,其它的block是leaf block。

我们通过dump其中一个branck block 1529+3=1532 (data block id)可以获得其leaf block相关信息.然后再dump相应leaf block获取到where id='105'在索引块中的存储.

/home/oracle/admin/cwt/udump/cwt_ora_8377.trc

Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
ORACLE_HOME = /opt/oracle/product/9i
System name: Linux
Node name: localhost.localdomain
Release: 2.4.21-27.EL
Version: #1 Wed Dec 1 22:08:15 EST 2004
Machine: i686
Instance name: cwt
Redo thread mounted by this instance: 1
Oracle process number: 14
Unix process pid: 8377, image: oracle@localhost.localdomain (TNS V1-V3)

*** SESSION ID:(11.22) 2006-03-01 18:51:54.141
Start dump data blocks tsn: 9 file#: 9 minblk 1532 maxblk 1532
buffer tsn: 9 rdba: 0x024005fc (9/1532)
scn: 0x0000.00c863f2 seq: 0x02 flg: 0x00 tail: 0x63f20602
frmt: 0x02 chkval: 0x0000 type: 0x06=trans data
Block header dump: 0x024005fc
Object id on Block? Y
seg/obj: 0x7880 csc: 0x00.c863f2 itc: 1 flg: E typ: 2 - INDEX
brn: 0 bdba: 0x24005f9 ver: 0x01
inc: 0 exflg: 0

Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x000a.00c.00003bd6 0x00800bac.011d.02 C--- 0 scn 0x0000.00c863f2

Branch block dump
=================
header address 180063820=0xabb8e4c
kdxcolev 1
KDXCOLEV Flags = - - -
kdxcolok 0
kdxcoopc 0x80: opcode=0: iot flags=--- is converted=Y
kdxconco 2
kdxcosdc 1
kdxconro 179
kdxcofbo 386=0x182
kdxcofeo 6541=0x198d
kdxcoavs 6155
kdxbrlmc 37750271=0x24005ff
kdxbrsno 178
kdxbrbksz 8056
row#0[7910] dba: 37750311=0x2400627 -- 这就是存储'105'那个leaf block的地址.其中24表示10进制文件号9,627表示十进制data block号1575col 0; len 3; (3): 31 30 35
col 1; TERM
row#1[7919] dba: 37750292=0x2400614
col 0; len 2; (2): 31 31
col 1; TERM
row#2[7901] dba: 37750312=0x2400628
col 0; len 3; (3): 31 31 33
col 1; TERM
row#3[7927] dba: 37750296=0x2400618
col 0; len 2; (2): 31 32
col 1; TERM
row#4[7892] dba: 37750305=0x2400621
col 0; len 3; (3): 31 32 35
col 1; TERM
row#5[7884] dba: 37750306=0x2400622
col 0; len 2; (2): 31 33
col 1; TERM
row#6[7875] dba: 37750307=0x2400623
col 0; len 3; (3): 31 33 35
col 1; TERM
row#7[8020] dba: 37750280=0x2400608
col 0; len 2; (2): 31 34
col 1; TERM
row#8[7850] dba: 37750308=0x2400624
col 0; len 3; (3): 31 34 35
col 1; TERM
row#9[7842] dba: 37750322=0x2400632
col 0; len 2; (2): 31 35
col 1; TERM
row#10[7833] dba: 37750323=0x2400633
col 0; len 3; (3): 31 35 35
col 1; TERM
row#11[7859] dba: 37750310=0x2400626
col 0; len 2; (2): 31 36
col 1; TERM
row#12[7824] dba: 37750325=0x2400635
col 0; len 3; (3): 31 36 35
col 1; TERM
row#13[7816] dba: 37750326=0x2400636
col 0; len 2; (2): 31 37
col 1; TERM
row#14[7807] dba: 37750327=0x2400637
col 0; len 3; (3): 31 37 35
col 1; TERM
row#15[7867] dba: 37750309=0x2400625
col 0; len 2; (2): 31 38
col 1; TERM
row#16[7798] dba: 37750328=0x2400638
col 0; len 3; (3): 31 38 35
col 1; TERM
row#17[7790] dba: 37750324=0x2400634
col 0; len 2; (2): 31 39
col 1; TERM
row#18[7781] dba: 37750343=0x2400647
col 0; len 3; (3): 31 39 35
col 1; TERM
row#19[8028] dba: 37750279=0x2400607
col 0; len 1; (1): 32
col 1; TERM
row#20[7756] dba: 37750338=0x2400642
col 0; len 3; (3): 32 30 34
col 1; TERM
row#21[7765] dba: 37750337=0x2400641
col 0; len 2; (2): 32 31
col 1; TERM
row#22[7747] dba: 37750339=0x2400643
col 0; len 3; (3): 32 31 35
col 1; TERM
row#23[7739] dba: 37750341=0x2400645
col 0; len 2; (2): 32 32
col 1; TERM
row#24[7730] dba: 37750342=0x2400646
col 0; len 3; (3): 32 32 35
col 1; TERM
row#25[7773] dba: 37750344=0x2400648
col 0; len 2; (2): 32 33
col 1; TERM
row#26[7721] dba: 37750340=0x2400644
col 0; len 3; (3): 32 33 35
col 1; TERM
row#27[7713] dba: 37750346=0x240064a
col 0; len 2; (2): 32 34
col 1; TERM
row#28[7704] dba: 37750347=0x240064b
col 0; len 3; (3): 32 34 35
col 1; TERM
row#29[8012] dba: 37750273=0x2400601
col 0; len 2; (2): 32 35
col 1; TERM
row#30[7679] dba: 37750351=0x240064f
col 0; len 3; (3): 32 35 35
col 1; TERM
row#31[7688] dba: 37750350=0x240064e
col 0; len 2; (2): 32 36
col 1; TERM
row#32[7670] dba: 37750352=0x2400650
col 0; len 3; (3): 32 36 35
col 1; TERM
row#33[7662] dba: 37750348=0x240064c
col 0; len 2; (2): 32 37
col 1; TERM
row#34[7653] dba: 37750367=0x240065f
col 0; len 3; (3): 32 37 35
col 1; TERM
row#35[7696] dba: 37750349=0x240064d
col 0; len 2; (2): 32 38
col 1; TERM
row#36[7644] dba: 37750368=0x2400660
col 0; len 3; (3): 32 38 35
col 1; TERM
row#37[7636] dba: 37750361=0x2400659
col 0; len 2; (2): 32 39
col 1; TERM
row#38[7627] dba: 37750362=0x240065a
col 0; len 3; (3): 32 39 35
col 1; TERM
row#39[8005] dba: 37750274=0x2400602
col 0; len 1; (1): 33
col 1; TERM
row#40[7602] dba: 37750366=0x240065e
col 0; len 3; (3): 33 30 34
col 1; TERM
row#41[7611] dba: 37750365=0x240065d
col 0; len 2; (2): 33 31
col 1; TERM
row#42[7593] dba: 37750364=0x240065c
col 0; len 3; (3): 33 31 35
col 1; TERM
row#43[7585] dba: 37750378=0x240066a
col 0; len 2; (2): 33 32
col 1; TERM
row#44[7576] dba: 37750379=0x240066b
col 0; len 3; (3): 33 32 35
col 1; TERM
row#45[7619] dba: 37750363=0x240065b
col 0; len 2; (2): 33 33
col 1; TERM
row#46[7567] dba: 37750381=0x240066d
col 0; len 3; (3): 33 33 35
col 1; TERM
row#47[7559] dba: 37750382=0x240066e
col 0; len 2; (2): 33 34
col 1; TERM
row#48[7550] dba: 37750383=0x240066f
col 0; len 3; (3): 33 34 35
col 1; TERM
row#49[7997] dba: 37750275=0x2400603
col 0; len 2; (2): 33 35
col 1; TERM
row#50[7525] dba: 37750399=0x240067f
col 0; len 3; (3): 33 35 35
col 1; TERM
row#51[7534] dba: 37750380=0x240066c
col 0; len 2; (2): 33 36
col 1; TERM
row#52[7516] dba: 37750400=0x2400680
col 0; len 3; (3): 33 36 35
col 1; TERM
row#53[7508] dba: 37750393=0x2400679
col 0; len 2; (2): 33 37
col 1; TERM
row#54[7499] dba: 37750394=0x240067a
col 0; len 3; (3): 33 37 35
col 1; TERM
row#55[7542] dba: 37750384=0x2400670
col 0; len 2; (2): 33 38
col 1; TERM
row#56[7490] dba: 37750395=0x240067b
col 0; len 3; (3): 33 38 35
col 1; TERM
row#57[7482] dba: 37750397=0x240067d
col 0; len 2; (2): 33 39
col 1; TERM
row#58[7473] dba: 37750398=0x240067e
col 0; len 3; (3): 33 39 35
col 1; TERM
row#59[8035] dba: 37750270=0x24005fe
col 0; len 1; (1): 34
col 1; TERM
row#60[7448] dba: 37750403=0x2400683
col 0; len 3; (3): 34 30 34
col 1; TERM
row#61[7457] dba: 37750402=0x2400682
col 0; len 2; (2): 34 31
col 1; TERM
row#62[7439] dba: 37750405=0x2400685
col 0; len 3; (3): 34 31 35
col 1; TERM
row#63[7431] dba: 37750406=0x2400686
col 0; len 2; (2): 34 32
col 1; TERM
row#64[7422] dba: 37750407=0x2400687
col 0; len 3; (3): 34 32 35
col 1; TERM
row#65[7465] dba: 37750396=0x240067c
col 0; len 2; (2): 34 33
col 1; TERM
row#66[7413] dba: 37750408=0x2400688
col 0; len 3; (3): 34 33 35
col 1; TERM
row#67[7405] dba: 37750404=0x2400684
col 0; len 2; (2): 34 34
col 1; TERM
row#68[7396] dba: 37750423=0x2400697
col 0; len 3; (3): 34 34 35
col 1; TERM
row#69[7989] dba: 37750277=0x2400605
col 0; len 2; (2): 34 35
col 1; TERM
row#70[7371] dba: 37750418=0x2400692
col 0; len 3; (3): 34 35 35
col 1; TERM
row#71[7380] dba: 37750417=0x2400691
col 0; len 2; (2): 34 36
col 1; TERM
row#72[7362] dba: 37750419=0x2400693
col 0; len 3; (3): 34 36 35
col 1; TERM
row#73[7354] dba: 37750421=0x2400695
col 0; len 2; (2): 34 37
col 1; TERM
row#74[7345] dba: 37750422=0x2400696
col 0; len 3; (3): 34 37 35
col 1; TERM
row#75[7388] dba: 37750424=0x2400698
col 0; len 2; (2): 34 38
col 1; TERM
row#76[7336] dba: 37750420=0x2400694
col 0; len 3; (3): 34 38 35
col 1; TERM
row#77[7328] dba: 37750434=0x24006a2
col 0; len 2; (2): 34 39
col 1; TERM
row#78[7319] dba: 37750435=0x24006a3
col 0; len 3; (3): 34 39 35
col 1; TERM
row#79[7982] dba: 37750278=0x2400606
col 0; len 1; (1): 35
col 1; TERM
row#80[7294] dba: 37750439=0x24006a7
col 0; len 3; (3): 35 30 34
col 1; TERM
row#81[7303] dba: 37750438=0x24006a6
col 0; len 2; (2): 35 31
col 1; TERM
row#82[7285] dba: 37750440=0x24006a8
col 0; len 3; (3): 35 31 35
col 1; TERM
row#83[7277] dba: 37750436=0x24006a4
col 0; len 2; (2): 35 32
col 1; TERM
row#84[7268] dba: 37750455=0x24006b7
col 0; len 3; (3): 35 32 35
col 1; TERM
row#85[7311] dba: 37750437=0x24006a5
col 0; len 2; (2): 35 33
col 1; TERM
row#86[7259] dba: 37750456=0x24006b8
col 0; len 3; (3): 35 33 35
col 1; TERM
row#87[7251] dba: 37750449=0x24006b1
col 0; len 2; (2): 35 34
col 1; TERM
row#88[7242] dba: 37750450=0x24006b2
col 0; len 3; (3): 35 34 35
col 1; TERM
row#89[7974] dba: 37750276=0x2400604
col 0; len 2; (2): 35 35
col 1; TERM
row#90[7217] dba: 37750454=0x24006b6
col 0; len 3; (3): 35 35 35
col 1; TERM
row#91[7226] dba: 37750453=0x24006b5
col 0; len 2; (2): 35 36
col 1; TERM
row#92[7208] dba: 37750452=0x24006b4
col 0; len 3; (3): 35 36 35
col 1; TERM
row#93[7200] dba: 37750466=0x24006c2
col 0; len 2; (2): 35 37
col 1; TERM
row#94[7191] dba: 37750467=0x24006c3
col 0; len 3; (3): 35 37 35
col 1; TERM
row#95[7234] dba: 37750451=0x24006b3
col 0; len 2; (2): 35 38
col 1; TERM
row#96[7182] dba: 37750469=0x24006c5
col 0; len 3; (3): 35 38 35
col 1; TERM
row#97[7174] dba: 37750470=0x24006c6
col 0; len 2; (2): 35 39
col 1; TERM
row#98[7165] dba: 37750471=0x24006c7
col 0; len 3; (3): 35 39 35
col 1; TERM
row#99[8042] dba: 37750269=0x24005fd
col 0; len 1; (1): 36
col 1; TERM
row#100[7140] dba: 37750479=0x24006cf
col 0; len 3; (3): 36 30 34
col 1; TERM
row#101[7149] dba: 37750468=0x24006c4
col 0; len 2; (2): 36 31
col 1; TERM
row#102[7131] dba: 37750480=0x24006d0
col 0; len 3; (3): 36 31 35
col 1; TERM
row#103[7123] dba: 37750473=0x24006c9
col 0; len 2; (2): 36 32
col 1; TERM
row#104[7114] dba: 37750474=0x24006ca
col 0; len 3; (3): 36 32 35
col 1; TERM
row#105[7157] dba: 37750472=0x24006c8
col 0; len 2; (2): 36 33
col 1; TERM
row#106[7105] dba: 37750475=0x24006cb
col 0; len 3; (3): 36 33 35
col 1; TERM
row#107[7097] dba: 37750477=0x24006cd
col 0; len 2; (2): 36 34
col 1; TERM
row#108[7088] dba: 37750478=0x24006ce
col 0; len 3; (3): 36 34 35
col 1; TERM
row#109[7966] dba: 37750290=0x2400612
col 0; len 2; (2): 36 35
col 1; TERM
row#110[7063] dba: 37750557=0x240071d
col 0; len 3; (3): 36 35 35
col 1; TERM
row#111[7072] dba: 37750553=0x2400719
col 0; len 2; (2): 36 36
col 1; TERM
row#112[7054] dba: 37750561=0x2400721
col 0; len 3; (3): 36 36 35
col 1; TERM
row#113[7046] dba: 37750565=0x2400725
col 0; len 2; (2): 36 37
col 1; TERM
row#114[7037] dba: 37750615=0x2400757
col 0; len 3; (3): 36 37 35
col 1; TERM
row#115[7080] dba: 37750476=0x24006cc
col 0; len 2; (2): 36 38
col 1; TERM
row#116[7028] dba: 37750569=0x2400729
col 0; len 3; (3): 36 38 35
col 1; TERM
row#117[7020] dba: 37750573=0x240072d
col 0; len 2; (2): 36 39
col 1; TERM
row#118[7011] dba: 37750577=0x2400731
col 0; len 3; (3): 36 39 35
col 1; TERM
row#119[7959] dba: 37750291=0x2400613
col 0; len 1; (1): 37
col 1; TERM
row#120[6986] dba: 37750685=0x240079d
col 0; len 3; (3): 37 30 34
col 1; TERM
row#121[6995] dba: 37750681=0x2400799
col 0; len 2; (2): 37 31
col 1; TERM
row#122[6977] dba: 37750689=0x24007a1
col 0; len 3; (3): 37 31 35
col 1; TERM
row#123[6969] dba: 37750693=0x24007a5
col 0; len 2; (2): 37 32
col 1; TERM
row#124[6960] dba: 37750585=0x2400739
col 0; len 3; (3): 37 32 35
col 1; TERM
row#125[7003] dba: 37750581=0x2400735
col 0; len 2; (2): 37 33
col 1; TERM
row#126[6951] dba: 37750697=0x24007a9
col 0; len 3; (3): 37 33 35
col 1; TERM
row#127[6943] dba: 37750701=0x24007ad
col 0; len 2; (2): 37 34
col 1; TERM
row#128[6934] dba: 37750705=0x24007b1
col 0; len 3; (3): 37 34 35
col 1; TERM
row#129[7951] dba: 37750293=0x2400615
col 0; len 2; (2): 37 35
col 1; TERM
row#130[6909] dba: 37750713=0x24007b9
col 0; len 3; (3): 37 35 35
col 1; TERM
row#131[6918] dba: 37750589=0x240073d
col 0; len 2; (2): 37 36
col 1; TERM
row#132[6900] dba: 37750717=0x24007bd
col 0; len 3; (3): 37 36 35
col 1; TERM
row#133[6892] dba: 37750721=0x24007c1
col 0; len 2; (2): 37 37
col 1; TERM
row#134[6883] dba: 37750725=0x24007c5
col 0; len 3; (3): 37 37 35
col 1; TERM
row#135[6926] dba: 37750709=0x24007b5
col 0; len 2; (2): 37 38
col 1; TERM
row#136[6874] dba: 37750593=0x2400741
col 0; len 3; (3): 37 38 35
col 1; TERM
row#137[6866] dba: 37750670=0x240078e
col 0; len 2; (2): 37 39
col 1; TERM
row#138[6857] dba: 37750674=0x2400792
col 0; len 3; (3): 37 39 35
col 1; TERM
row#139[8049] dba: 37750272=0x2400600
col 0; len 1; (1): 38
col 1; TERM
row#140[6832] dba: 37750686=0x240079e
col 0; len 3; (3): 38 30 34
col 1; TERM
row#141[6824] dba: 37750690=0x24007a2
col 0; len 2; (2): 38 31
col 1; TERM
row#142[6815] dba: 37750694=0x24007a6
col 0; len 3; (3): 38 31 35
col 1; TERM
row#143[6841] dba: 37750682=0x240079a
col 0; len 2; (2): 38 32
col 1; TERM
row#144[6806] dba: 37750698=0x24007aa
col 0; len 3; (3): 38 32 35
col 1; TERM
row#145[6798] dba: 37750702=0x24007ae
col 0; len 2; (2): 38 33
col 1; TERM
row#146[6789] dba: 37750706=0x24007b2
col 0; len 3; (3): 38 33 35
col 1; TERM
row#147[6849] dba: 37750678=0x2400796
col 0; len 2; (2): 38 34
col 1; TERM
row#148[6780] dba: 37750710=0x24007b6
col 0; len 3; (3): 38 34 35
col 1; TERM
row#149[6772] dba: 37750714=0x24007ba
col 0; len 2; (2): 38 35
col 1; TERM
row#150[6763] dba: 37750718=0x24007be
col 0; len 3; (3): 38 35 35
col 1; TERM
row#151[7943] dba: 37750294=0x2400616
col 0; len 2; (2): 38 36
col 1; TERM
row#152[6739] dba: 37750667=0x240078b
col 0; len 3; (3): 38 36 35
col 1; TERM
row#153[6731] dba: 37750671=0x240078f
col 0; len 2; (2): 38 37
col 1; TERM
row#154[6722] dba: 37750675=0x2400793
col 0; len 3; (3): 38 37 35
col 1; TERM
row#155[6748] dba: 37750726=0x24007c6
col 0; len 2; (2): 38 38
col 1; TERM
row#156[6713] dba: 37750679=0x2400797
col 0; len 3; (3): 38 38 35
col 1; TERM
row#157[6705] dba: 37750683=0x240079b
col 0; len 2; (2): 38 39
col 1; TERM
row#158[6696] dba: 37750687=0x240079f
col 0; len 3; (3): 38 39 35
col 1; TERM
row#159[6756] dba: 37750722=0x24007c2
col 0; len 1; (1): 39
col 1; TERM
row#160[6679] dba: 37750695=0x24007a7
col 0; len 3; (3): 39 30 35
col 1; TERM
row#161[6688] dba: 37750691=0x24007a3
col 0; len 2; (2): 39 31
col 1; TERM
row#162[6670] dba: 37750699=0x24007ab
col 0; len 3; (3): 39 31 35
col 1; TERM
row#163[6662] dba: 37750703=0x24007af
col 0; len 2; (2): 39 32
col 1; TERM
row#164[6653] dba: 37750707=0x24007b3
col 0; len 3; (3): 39 32 35
col 1; TERM
row#165[7935] dba: 37750295=0x2400617
col 0; len 2; (2): 39 33
col 1; TERM
row#166[6620] dba: 37750723=0x24007c3
col 0; len 3; (3): 39 33 35
col 1; TERM
row#167[6629] dba: 37750719=0x24007bf
col 0; len 2; (2): 39 34
col 1; TERM
row#168[6611] dba: 37750727=0x24007c7
col 0; len 3; (3): 39 34 35
col 1; TERM
row#169[6603] dba: 37750668=0x240078c
col 0; len 2; (2): 39 35
col 1; TERM
row#170[6594] dba: 37750672=0x2400790
col 0; len 3; (3): 39 35 35
col 1; TERM
row#171[6637] dba: 37750715=0x24007bb
col 0; len 2; (2): 39 36
col 1; TERM
row#172[6585] dba: 37750676=0x2400794
col 0; len 3; (3): 39 36 35
col 1; TERM
row#173[6577] dba: 37750680=0x2400798
col 0; len 2; (2): 39 37
col 1; TERM
row#174[6568] dba: 37750684=0x240079c
col 0; len 3; (3): 39 37 35
col 1; TERM
row#175[6645] dba: 37750711=0x24007b7
col 0; len 2; (2): 39 38
col 1; TERM
row#176[6559] dba: 37750688=0x24007a0
col 0; len 3; (3): 39 38 35
col 1; TERM
row#177[6550] dba: 37750692=0x24007a4
col 0; len 3; (3): 39 39 31
col 1; TERM
row#178[6541] dba: 37750696=0x24007a8
col 0; len 3; (3): 39 39 38
col 1; TERM
----- end of branch block dump -----
End dump data blocks tsn: 9 file#: 9 minblk 1532 maxblk 1532


下面我们可以看到

SQL> alter system dump datafile 9 block 1575;

System altered.

/home/oracle/admin/cwt/udump/cwt_ora_8411.trc
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
ORACLE_HOME = /opt/oracle/product/9i
System name: Linux
Node name: localhost.localdomain
Release: 2.4.21-27.EL
Version: #1 Wed Dec 1 22:08:15 EST 2004
Machine: i686
Instance name: cwt
Redo thread mounted by this instance: 1
Oracle process number: 14
Unix process pid: 8411, image: oracle@localhost.localdomain (TNS V1-V3)

*** 2006-03-01 18:57:02.011
*** SESSION ID:(11.24) 2006-03-01 18:57:02.011
Start dump data blocks tsn: 9 file#: 9 minblk 1575 maxblk 1575
buffer tsn: 9 rdba: 0x02400627 (9/1575)
scn: 0x0000.00c86dcd seq: 0x01 flg: 0x04 tail: 0x6dcd0601
frmt: 0x02 chkval: 0x33b6 type: 0x06=trans data
Block header dump: 0x02400627
Object id on Block? Y
seg/obj: 0x7880 csc: 0x00.c86dcd itc: 2 flg: E typ: 2 - INDEX
brn: 1 bdba: 0x2400611 ver: 0x01
inc: 0 exflg: 0

Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x000a.007.00003bd3 0x008005d3.0119.01 CB-- 0 scn 0x0000.00c86302
0x02 0x000a.01f.00003bd2 0x008005d4.0119.03 C--- 0 scn 0x0000.00c86dcd

Leaf block dump
===============
header address 180063844=0xabb8e64
kdxcolev 0
KDXCOLEV Flags = - - -
kdxcolok 0
kdxcoopc 0x80: opcode=0: iot flags=--- is converted=Y
kdxconco 2
kdxcosdc 0
kdxconro 5
kdxcofbo 46=0x2e
kdxcofeo 2857=0xb29
kdxcoavs 2811
kdxlespl 0
kdxlende 0
kdxlenxt 37750292=0x2400614
kdxleprv 37750271=0x24005ff
kdxledsz 0
kdxlebksz 8032
row#0[5962] flag: -----, lock: 0
col 0; len 1024; (1024): -- 这就使存储'105'的index entr rowid可以看到是02 40 06 1e 00 00
-- 其中02 40代表文件号9
-- 06 1e代表本条记录在数据库中的data block号1566
-- 00 00代表data block号为1566的记录数为0


31 30 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
col 1; len 6; (6): 02 40 06 1e 00 00
row#1[6997] flag: -----, lock: 0
col 0; len 1024; (1024):
31 30 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
col 1; len 6; (6): 02 40 06 1e 00 01
row#2[4927] flag: -----, lock: 0
col 0; len 1024; (1024):
31 30 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
col 1; len 6; (6): 02 40 06 1e 00 02
row#3[3892] flag: -----, lock: 0








来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/76065/viewspace-821918/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/76065/viewspace-821918/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值