使用SQL语句显示Oracle表空间使用率

在日常运维中,可以使用如下SQL语句显示表空间使用率:

SELECT a.tablespace_name,
       ROUND(a.total_size) "total_size(MB)",
       ROUND(a.total_size) - ROUND(b.free_size,3) "used_size(MB)",
       ROUND(b.free_size,3) "free_size(MB)",
       ROUND(b.free_size/total_size*100,2) || '%' free_rate
FROM   (SELECT tablespace_name,SUM(bytes)/1024/1024 total_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;

 

执行脚本后,显示效果如下:

 

posted @ 2019-09-11 09:14  -潇湘夜雨-  阅读(255)  评论(0编辑  收藏  举报