Show table space size

SQL script to check available and used size of table space

select
    tablespace_name,
    max(file_name) file_name,
    sum(allocated_bytes) allocated_bytes,
    sum(free_bytes) free_bytes,
    sum(gb_tildelt) gb_tildelt,
    sum(gb_ledig_av_tildelt) gb_ledig_av_tildelt,
    sum(gb_ledig_i_datafil) gb_ledig_i_datafil

from(
        select x.tablespace_name, x.file_name, x.allocated_bytes, x.free_bytes, x.gb_tildelt, x.gb_ledig_av_tildelt, x.gb_ledig_i_datafil from 
            (
                SELECT a.tablespace_name, a.file_name, a.bytes allocated_bytes, b.free_bytes,
                ROUND(GREATEST(bytes,maxbytes) / 1024/1024/1024,2) gb_tildelt,
                ROUND(b.free_bytes / 1024/1024/1024,2) gb_ledig_av_tildelt,
                ROUND((34358689792 - A.BYTES) / 1024/1024/1024,2) gb_LEDIG_i_datafil
                FROM dba_data_files a,
                (
                    SELECT file_id, SUM(bytes) free_bytes
                    FROM dba_free_space b
                    GROUP BY file_id 
                ) b
            WHERE a.file_id = b.file_id
            ) x
        ORDER BY tablespace_name, file_name
    )
        group by tablespace_name
ORDER BY tablespace_name, file_name
;

Last updated

Was this helpful?