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 <
mathias.magnusson_at_gmail.com> 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)?


Search Discussions

Discussion Posts


Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 3 of 3 | next ›
Discussion Overview
grouporacle-l @
postedApr 10, '09 at 10:44a
activeApr 10, '09 at 3:26p



site design / logo © 2022 Grokbase