查询表空间使用情况

来源:这里教程网 时间:2026-03-03 12:45:28 作者:

SELECT a.tablespace_name,        round(a.total_size, 1) "total(M)",        round(a.max_size, 1) "max(M)",        round(a.total_size) - round(nvl(b.free_size, 0), 1) "used(M)",        round(nvl(b.free_size, 0), 1) "free(M)",        round(nvl(b.free_size, 0) / total_size * 100, 1) "free rate(%)",        round(nvl(a.max_size -                  (round(a.total_size) - round(nvl(b.free_size, 0), 1)),                  0) / max_size * 100,              1) "free rate2(%)"   FROM (SELECT tablespace_name,                SUM(bytes) / 1024 / 1024 total_size,                SUM(CASE                      WHEN autoextensible = 'NO' THEN                       bytes                      ELSE                       maxbytes                    END) / 1024 / 1024 max_size           FROM dba_data_files          GROUP BY tablespace_name) a,        (SELECT tablespace_name, SUM(bytes) / 1024 / 1024 free_size           FROM dba_free_space          GROUP BY tablespace_name) b  WHERE a.tablespace_name = b.tablespace_name(+);

相关推荐