Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle8 ROWIDs - data file numbers
Thomas,
I am sorry, there is still a bit I do not get.
In article <89up9r$l4p$1_at_nnrp1.deja.com>,
Thomas J. Kyte <tkyte_at_us.oracle.com> wrote:
> In article <89uet8$e6d$1_at_nnrp1.deja.com>,
> Ben Ryan <benryan_at_my-deja.com> wrote:
>
> [snip]
>
> >
> > So do extended ROWIDs in Oracle8 contain the absolute data file
> > number and restricted ROWIDs contain relative data file numbers?
> >
>
> No, they include the object_id of the underlying object and a
> relative file id for that segment.
>
[snip]
> An extended rowid has a four-piece format, OOOOOOFFFBBBBBBRRR:
>
> OOOOOO: The data object number that identifies the segment
> FFF: The tablespace-relative datafile number
I agree, this bit implies.....
that given the data file number in an extended ROWID is relative to the
tablespace then you have to have a way to determine which tablespace.
Knowing the "segment id" allows you to determine the tablespace.
This section in the concepts guide uses base 64. A digit in base64 takes 6 bits. 2 digits is 12 bits and 3 is 18 bits.
Back to the data file number; it only has to show relative numbers up to 1022 (i.e. 10 bits wide) rather than absolute number upto 65533 (ie. 16 bits wide).
Hence, in theory, you would only need...
OOOOOOFFBBBBBBRRR (i.e. only two F's required.)
Since, the concepts book clearly states it requires three F's and not two, I must be missing something.
Ben
Note: the Oracle8.0.4 concepts book does NOT say the number is relative.
( http://technet.oracle.com/doc/server.804/a58227/ch6.htm#3804 ) , it
actually says "File numbers are unique within a database". although a
little bit earlier it does refers to relative datafile numbers being
used in extended ROWIDs
http://technet.oracle.com/doc/server.804/a58227/ch6.htm#918
Sent via Deja.com http://www.deja.com/
Before you buy.
Received on Mon Mar 06 2000 - 00:00:00 CST
![]() |
![]() |