kdxbrlmc---leftmost child
It may seem a little odd that Oracle starts at the “-1th” branch block: computer programs usually start counting at zero or one, but Oracle has a rationale for starting at -1 in branch blocks. Most of the entries in a branch block are pairs of the form (partial key, block address) – and these are listed in the block’s row directory – but there is one special entry (called the “leftmost child – kdxbrlmc”) which omits the partial key and gets stored in a separate place outside the row directory. Oracle omits the key to save a little space and infers the value from the block’s parent (in the branch level above). Since the row directory starts counting at row 0, the leftmost child has to be labelled “-1″.
由下图来看,节点DE就是root (S)的lefmost child。kdxbrlmc记录的是leftmost child 的DBA
从index blockdump也能看出来:以下是一个btree index的treedump
branch: 0x4123da 4269018 (0: nrow: 111, level: 1)
leaf: 0x4123db 4269019 (-1: nrow: 485 rrow: 485)
leaf: 0x4123dc 4269020 (0: nrow: 479 rrow: 479)
leaf: 0x4123dd 4269021 (1: nrow: 479 rrow: 479)
leaf: 0x4123de 4269022 (2: nrow: 479 rrow: 479)
leaf: 0x4123df 4269023 (3: nrow: 479 rrow: 479)
然后再dump rootblock ,dba 为4269018 ,那么它的leftmost child是leaf: 0x4123db 4269019 (-1: nrow: 485 rrow: 485)。从下面的红色字体可以看出,kdxbrlmc就是4269019
Start dump data blocks tsn: 0 file#: 1 minblk 74714 maxblk 74714
buffer tsn: 0 rdba: 0x004123da (1/74714)
scn: 0x0000.004c2519 seq: 0x01 flg: 0x00 tail: 0x25190601
frmt: 0x02 chkval: 0x0000 type: 0x06=trans data
Hex dump of block: st=0, typ_found=1
Block header dump: 0x004123da
Object id on Block? Y
seg/obj: 0xe625 csc: 0x00.4c24fc itc: 1 flg: - typ: 2 - INDEX
fsl: 0 fnx: 0x0 ver: 0x01
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0xffff.000.00000000 0x00000000.0000.00 C--- 0 scn 0x0000.004c24fc
Branch block dump
=================
header address 437719620=0x1a171244
kdxcolev 1
KDXCOLEV Flags = - - -
kdxcolok 0
kdxcoopc 0x80: opcode=0: iot flags=--- is converted=Y
kdxconco 2
kdxcosdc 0
kdxconro 110
kdxcofbo 248=0xf8
kdxcofeo 6979=0x1b43
kdxcoavs 6731
kdxbrlmc 4269019=0x4123db
kdxbrsno 0
kdxbrbksz 8060
kdxbr2urrc 0