datafile.sql
SELECT substr(t1.NAME,0,50) "File Name", t2.STATUS "File Status", t1.STATUS "File Type", ltrim(TO_CHAR(t1.BYTES/1024,'9,999,999,990')) "File Size (KB)", ltrim(to_char( (SUM(t3.LENGTH) * t1.BYTES) / ( t4.BLOCKS * 1024) ,'9,999,999,990') ) "Free (KB)" FROM SYS.V_$DATAFILE t1, SYS.V_$BACKUP t2, SYS.FET$ t3, SYS.FILE$ t4 WHERE t1.FILE# = t2.FILE# AND t1.FILE# = t3.FILE# AND t1.FILE# = t4.FILE# GROUP BY t1.NAME,t2.STATUS,t1.STATUS,t1.BYTES,t4.blocks,t1.FILE# ORDER BY t1.FILE#; /