Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ROWID encoding

483527Nov 29 2007 — edited Nov 30 2007
Hi,

The ROWID format uses a 64 encoding of the physical address. The encoding characters
are A-Z, a-z, 0-9, +, and /.
From Oracle9i Database Concepts, Ch 12
An extended rowid has a four-piece format, OOOOOOFFFBBBBBBRRR:

OOOOOO: The data object number that identifies the database segment (AAAAao in the
example). Schema objects in the same segment, such as a cluster of tables, have the same
data object number.
FFF: The tablespace-relative datafile number of the datafile that contains the row (file AAT
in the example).
BBBBBB: The data block that contains the row (block AAABrX in the example). Block numbers
are relative to their datafile, not tablespace. Therefore, two rows with identical block numbers
could reside in two different datafiles of the same tablespace.
RRR: The row in the block.
end
I tried the folowing and got the error ORA-01410: invalid ROWID

select CHARTOROWID(to_char(123,'000000000000000000')) from dual;

ERROR at line 1:
ORA-01410: invalid ROWID


My question what are the valid values fro OOOOOO, FFF, BBBBBB and RRR?

Kind regards
Taoufik
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 28 2007
Added on Nov 29 2007
15 comments
1,147 views