Skip to Main Content

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question.

Asked: September 02, 2016 - 11:29 am UTC

Last updated: September 07, 2016 - 2:08 am UTC

Version: 11g

Viewed 1000+ times

You Asked

i used treedump for index purpose.
can help me to understand below question

a. what's a nrow and rrow?
b. what's a 0x182beab to 0x182beb5?
c. what's a 25345707 to 25345717?

test case :-
branch: 0x182beab 25345707 (0: nrow: 10, level: 1)
leaf: 0x182beac 25345708 (-1: nrow: 513 rrow: 513)
leaf: 0x182bead 25345709 (0: nrow: 507 rrow: 507)
leaf: 0x182beae 25345710 (1: nrow: 478 rrow: 478)
leaf: 0x182beaf 25345711 (2: nrow: 479 rrow: 479)
leaf: 0x182beb0 25345712 (3: nrow: 478 rrow: 478)
leaf: 0x182beb1 25345713 (4: nrow: 480 rrow: 480)
leaf: 0x182beb2 25345714 (5: nrow: 478 rrow: 478)
leaf: 0x182beb3 25345715 (6: nrow: 479 rrow: 479)
leaf: 0x182beb4 25345716 (7: nrow: 478 rrow: 478)
leaf: 0x182beb5 25345717 (8: nrow: 69 rrow: 69)


and Connor said...

Well...it's not documented, so I'll give you my hypotheses.

The "0x182beab 25345707" is a 'relative block address', that is, where the block is physically located. Check out DBMS_UTILITY for how to convert these.

'nrow' = number of rows
'rrow' = number of rows not deleted

For branch, 'rows' = number of leaf entries I'm pointing to
For leaf, 'rows' = number of index entries I've got

Rating

  (3 ratings)

Is this answer out of date? If it is, please let us know via a Comment

Comments

A reader, September 05, 2016 - 5:29 am UTC

what does mean leaf contain -1,0,1....8?
Connor McDonald
September 06, 2016 - 2:42 am UTC

That is just a sequence number (that starts from -1)


To "A Reader"

J. Laurindo Chiappa, September 06, 2016 - 3:41 pm UTC

If you are interested in learning about index internal structures using dumps, I recommend you to study the articles : https://jonathanlewis.wordpress.com/2009/08/17/treedump/ (and don´t miss the Book where the Author begun the research), https://richardfoote.wordpress.com/2010/02/08/index-block-dumps-and-treedumps-part-i-knock-on-wood/ (and all the block dump related posts in the blog - a tree dump is just a way to dump all the blocks related to an index with some remarks about the index componentsadded - it was useful to me start my studies about Oracle internals with block dumps) and http://www.toadworld.com/platforms/oracle/w/wiki/11001.oracle-b-tree-index-from-the-concept-to-internals .

Regards,

J. Laurindo Chiappa

OBS : needless to say, a deep knowledge about Concepts is a prerequisite to one studying Oracle internals - if you don´t remember from the Uni all the theory about b*trees, arrays, height-balance, bitmap representations, and the like, please take a step back to refresh it before you dive in the Internals....
Chris Saxon
September 07, 2016 - 2:08 am UTC

Excellent input.

A reader, September 07, 2016 - 3:26 am UTC

Thanks to Ask Tom and J. Laurindo Chiappa For provide excellence material for oracle index internal.

More to Explore

DBMS_UTILITY

More on PL/SQL routine DBMS_UTILITY here