Is there a way to get table name if we know the file number?
I have 297, 328, 338, 349, 361 and there are db file sequnetial reads associated with those numbers. How do I find out the table names? Thanks.
Printable View
Is there a way to get table name if we know the file number?
I have 297, 328, 338, 349, 361 and there are db file sequnetial reads associated with those numbers. How do I find out the table names? Thanks.
you have to look dba_extents
If there is more than table in the file you will need the block number as well. Suppose you are reading block 23691 from file 297.
Select segment_name, owner from dba_extents where 23691 between block_id and block_id + blocks -1 and file_id = 297 ;
We don't have data block corruption. So we don't have block numbers in the trace file. We got the wait info. from a trace file.
The only situation where you can get the table name just from the file number is if that file contains one and only one table.
As mentioned by Mr Pando pls check dba_extents
select segment_name from dba_extents where file_id in ( select file# from v$datafile );
or
select distinct segment_name, segment_type from dba_extents where file_id = NNN;
Where NNN is urs file#