Re: Decoding rowid in a datablock.

From: Jason Heinrich <>
Date: Fri, 10 Apr 2009 10:26:42 -0500
Message-ID: <>

Burleson has a fairly decent and succinct description of the rowid formats:

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 <> 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
Received on Fri Apr 10 2009 - 10:26:42 CDT

Original text of this message