Segmentlerin veri dosyası bloklarındaki yerleşimi
Oracle veritabanlarındaki segmentlerin veri dosyalarında nerelerde yer aldığının tespiti için aşağıdaki sorguyu kullanabilirsiniz. Sorgu ile hangi bloklarda hangi nesneler var yada bir nesnenin bir veri dosyasındaki yerleşimini tespit edebilirsiniz.
SET LINESIZE 500 SET PAGESIZE 100 COL "Ilk Blok" FORM 9999999999 COL "Son Blok" FORM 9999999999 COL "Boyut (MB)" FORM 9999999999 COL "Sema Adi" FORM A10 COL "Nesne Adi" FORM A20 COL "Partition Adi" FORM A20 COL "Segment Tipi" FORM A8 SELECT start_block "Ilk Blok", end_block "Son Blok", ROUND ( ( (end_block - start_block) * (SELECT VALUE FROM v$parameter WHERE NAME = 'db_block_size')) / (1024 * 1024), 2) "Boyut (MB)", owner "Sema Adi", segment_name "Nesne Adi", partition_name "Partition Adi", segment_type "Segment Tipi" FROM (SELECT file_id, block_id START_BLOCK, block_id + blocks - 1 end_block, owner, segment_name, partition_name, segment_type FROM dba_extents WHERE tablespace_name = '&TABLO_ALANI' UNION ALL SELECT file_id, block_id, block_id + blocks - 1 end_block, 'free' owner, NULL segment_name, NULL partition_name, NULL segment_type FROM dba_free_space WHERE tablespace_name = '&TABLO_ALANI' ORDER BY 1, 2) ORDER BY end_block DESC;