Find the datafile used and free space

COL TABLESPACE_NAME FOR A30
COL FILE_NAME FOR A70
COL SIZE_GB FOR 99999
COL USED_GB FOR 99999
COL FREE_GB FOR 99999
COL %_Used FOR A15
SELECT Substr(df.tablespace_name,1,25) “Tablespace_Name”,
Substr(df.file_name,1,70) “File_Name”,
Round(df.bytes/1024/1024/1024,2) “Size_GB”,
Round(e.used_bytes/1024/1024/1024,2) “Used_GB”,
Round(f.free_bytes/1024/1024/1024,2) “Free_GB”,
Rpad(‘ ‘|| Rpad (‘X’,Round(e.used_bytes*10/df.bytes,0), ‘X’),11,’-‘) “%_Used”
FROM DBA_DATA_FILES DF,
(SELECT file_id,Sum(Decode(bytes,NULL,0,bytes)) used_bytes FROM dba_extents
GROUP by file_id) E,(SELECT Max(bytes) free_bytes,file_id FROM dba_free_space
GROUP BY file_id) f WHERE e.file_id (+) = df.file_id AND df.file_id = f.file_id (+)
ORDER BY df.tablespace_name,df.file_name;

Recent Posts