分享

Oracle 查询表空间使用率 SQL 语句

 LuciferLiu 2021-12-10

Oracle 数据库的表空间如果使用超过100%,会导致数据库无法使用,因此需要及时扩展!

通过 sql 查询当前数据库所有表空间的使用率:

set line222
col pagesize1000
col TABLESPACE_NAME for a40select tbs_used_info.tablespace_name,   tbs_used_info.alloc_mb,   tbs_used_info.used_mb,   tbs_used_info.max_mb,   tbs_used_info.free_of_max_mb,   tbs_used_info.used_of_max || '%' used_of_max_pct  from (select a.tablespace_name,   round(a.bytes_alloc / 1024 / 1024) alloc_mb,   round((a.bytes_alloc - nvl(b.bytes_free,  0)) / 1024 / 1024) used_mb,   round((a.bytes_alloc - nvl(b.bytes_free,  0)) * 100 / a.maxbytes) used_of_max,   round((a.maxbytes - a.bytes_alloc + nvl(b.bytes_free,   0)) / 1048576) free_of_max_mb,   round(a.maxbytes / 1048576) max_mb          from (select f.tablespace_name,   sum(f.bytes) bytes_alloc,   sum(decode(f.autoextensible,  'YES',  f.maxbytes,  'NO',  f.bytes)) maxbytes                  from dba_data_files f                 group by tablespace_name) a,   (select f.tablespace_name,   sum(f.bytes) bytes_free                  from dba_free_space f                 group by tablespace_name) b         where a.tablespace_name = b.tablespace_name(+)) tbs_used_info order by tbs_used_info.used_of_max desc;

本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多