[SQL]tablespace count

oracle sql tablespace count

SELECT   df.tablespace_name TABLESPACE,
         df.max_space_gb max_space_gb,
         df.total_space_gb total_space_gb,
         (df.total_space_gb - fs.free_space_gb) used_space_gb,
         fs.free_space_gb free_space_gb,
         ROUND(100 *(fs.free_space_gb / df.total_space_gb), 2) pct_free,
         ROUND(100 - 100 *(df.total_space_gb - fs.free_space_gb) / df.max_space_gb, 2) pct_max_free
FROM     (SELECT   tablespace_name,
                   ROUND(SUM(DECODE(autoextensible, 'YES', maxbytes, BYTES)) / 1073741824, 2) max_space_gb,
                   ROUND(SUM(BYTES) / 1073741824, 2) total_space_gb
          FROM     dba_data_files
          GROUP BY tablespace_name) df,
         (SELECT   tablespace_name,
                   ROUND(SUM(BYTES) / 1073741824, 3) free_space_gb
          FROM     dba_free_space
          GROUP BY tablespace_name) fs
WHERE    df.tablespace_name = fs.tablespace_name(+)
ORDER BY fs.tablespace_name;