Burleson has a fairly decent and succinct description of the rowid formats: http://www.remote-dba.net/10g_46.htm Keep in mind that the rowid format is a little different for bigfile tablespaces in 10g and higher. You can use dbms_rowid to retrieve the various components that make up the rowid. -- Jason Heinrich On Fri, Apr 10, 2009 at 3:43 AM, Mathias Magnusson < mathias.magnusson@xxxxxxxxx> wrote: > I'm trying to document how rowid is used by Oracle and intend to use it for > a presentation on rowid and how it is used by Oracle. Anyway, I found one > thing I feel I should document better, but I cannot find anything about. > > Looking at the rowid in a block dump it has a format like 01 00 03 00 00 > 00. I believe I've found evidence that this makes it 010 for file, 00300 for > block and 0000 for row. Block becomes 768 which is exactly what I knew it > would be, it is also the only row so 0000 for row is correct. The issue is > the file number. I know it is 4, but 010 is 16 converted to decimal. I think > I have found indications that it needs to be divided by 4. That of course > gets me the correct value. > > The question is, is this correct? > > Is this documented somewhere? What are the three numbers skipped in the > file id in the rowid used for (it would seem that the file id part of a > rowid in a block would never contain the value 1, 2, or 3)? > > Mathias >