This content has been marked as final. Show 4 replies
Check below link where Jonathan lewis has explained the difference between them :
file_id is the absolute file number within
the control file structure
relative_fno is a file number within tablespace.
It is slightly misleading to call it the 'relative file
number' as Oracle has done, as this suggests
that just about every relative file number should
be 1 as the first file in the tablespace. In fact
the number simply has to be unique within a
To maintain backwards compatibility with 7,
Oracle has arranged the code for handling
relative file numbers so that relative file number
= absolute file number for the first 1022 (-ish) files
in the database. However there is an event
(10120 I think) that you can set at the database
level if you want to experiment with relative file
numbers that do not match absolute file numbers.
user639304 wrote:And in the below link where Tanel has showed why there is different file_id and RELATIVE_FNO for database which are >=8; i.e. databases which can have 1022 datafiles per tablespace not per database as previously. That’s why the 10-byte extended rowids were introduced, which also included the data object ID of a segment inside the rowid.
I asked the question because in my database, for every row in dba_data_files, file_id and relative_fno have the same value.
As Aman has said, there are chances that file_id and relative_fno can be difference, if you are having imported transportable tablespace's data.