ITPub博客

首页 > 数据库 > Oracle > 最完整的查询表空间使用情况

最完整的查询表空间使用情况

原创 Oracle 作者:lincle101 时间:2014-05-13 15:26:32 0 删除 编辑
网上大多数表空间使用查询脚本实际上都是不全面的,并没有像toad那样很完整查询出每个表空间现有大小,最大表空间大小,表空间自动扩展最大大小 ,现写一sql可实现与toad一样效果

SELECT a.tablespace_name 表空间名,
       total 表空间大小,
       free 表空间剩余大小,
       (total - free) 表空间使用大小,
       ROUND((total - free) / total, 2) * 100 || '%' 使用率,
       maxmb 表空间最大值,
       ROUND((total - free) / MAXMB, 2) * 100 || '%' 最大空间使用率
  FROM (SELECT tablespace_name, ROUND(SUM(bytes) / (1024 * 1024)) free
          FROM DBA_FREE_SPACE
         GROUP BY tablespace_name) a,
       (SELECT tablespace_name,
               ROUND(SUM(bytes) / (1024 * 1024)) total,
               ROUND(sum(case
                           when MAXBYTES <> 0 then
                            MAXBYTES
                           else
                            MAXBYTES + BYTES
                         end) / (1024 * 1024)) maxmb
          FROM DBA_DATA_FILES
         GROUP BY tablespace_name) b
 WHERE a.tablespace_name = b.tablespace_name
 order by ROUND((total - free) / MAXMB, 2) * 100 desc

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26252696/viewspace-1159944/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-09-07

  • 博文量
    3
  • 访问量
    15951