SELECT A.FILE_ID FILENO,
A.TABLESPACE_NAME TABLESPACE_NAME,
A.BYTES / 1024000 SIZEM,
(A.BYTES - SUM(NVL(B.BYTES,
0))) / 1024000 USED,
SUM(NVL(B.BYTES,
0)) / 1024000 FREE,
SUM(NVL(B.BYTES,
0)) / A.BYTES * 100 FREEPERCENT
FROM DBA_DATA_FILES A,
DBA_FREE_SPACE B
WHERE A.FILE_ID = B.FILE_ID(+)
GROUP BY A.TABLESPACE_NAME,
A.FILE_ID,
A.BYTES
ORDER BY A.TABLESPACE_NAME;