zoukankan      html  css  js  c++  java
  • oracle 查看表空间使用率

    2017-06-14

    Oracle 表空间使用率

    -- 表空间使用率1:DBA_DATA_FILES、DBA_SEGMENTS
    SELECT tablespace_name,
           ROUND(a.total_bytes / 1024 / 1024 / 1024, 0) || 'G' as TOTAL,
           ROUND((a.total_bytes - DECODE(b.used_bytes, null, 0, b.used_bytes)) / 1024 / 1024 / 1024,
                 0) || 'G' as FREE,
           ROUND(DECODE(b.used_bytes, null, 0, b.used_bytes) / 1024 / 1024 / 1024,
                 0) || 'G' as USED,
           ROUND(DECODE(b.used_bytes, null, 0, b.used_bytes) / a.total_bytes, 4) * 100 as "USED_RATIO(%)"
      FROM (SELECT tablespace_name,
                   sum(DECODE(autoextensible, 'YES', maxbytes, 'NO', bytes)) as total_bytes
              FROM DBA_DATA_FILES
             GROUP BY tablespace_name) a
      LEFT JOIN (SELECT tablespace_name, sum(bytes) as used_bytes
                   FROM DBA_SEGMENTS
                  GROUP BY tablespace_name) b
     USING (tablespace_name)
     ORDER BY 5 DESC;

    -- 表空间使用率2:DBA_DATA_FILES、DBA_EXTENTS
    SELECT tablespace_name,
           ROUND(a.total_bytes / 1024 / 1024 / 1024, 0) || 'G' as total,
           ROUND((a.total_bytes - DECODE(b.used_bytes, null, 0, b.used_bytes)) / 1024 / 1024 / 1024,
                 0) || 'G' as free,
           ROUND(DECODE(b.used_bytes, null, 0, b.used_bytes) / 1024 / 1024 / 1024,
                 0) || 'G' as used,
           ROUND(DECODE(b.used_bytes, null, 0, b.used_bytes) / a.total_bytes, 4) * 100 as "USED_RATIO(%)"
      FROM (SELECT tablespace_name,
                   sum(DECODE(autoextensible, 'YES', maxbytes, 'NO', bytes)) as total_bytes
              FROM DBA_DATA_FILES
             GROUP BY tablespace_name) a
      LEFT JOIN (SELECT tablespace_name, sum(bytes) as used_bytes
                   FROM DBA_EXTENTS
                  GROUP BY tablespace_name) b
     USING (tablespace_name)
     ORDER BY 5 DESC;

    -- 表空间使用率3:DBA_DATA_FILES、DBA_FREE_SPACE
    SELECT tablespace_name,
           ROUND(a.total_bytes / 1024 / 1024 / 1024, 0) || 'G' as total,
           ROUND(DECODE(b.free_bytes, null, 0, b.free_bytes) / 1024 / 1024 / 1024,
                 0) || 'G' as free,
           ROUND((a.total_bytes - DECODE(b.free_bytes, null, 0, b.free_bytes)) / 1024 / 1024 / 1024,
                 0) || 'G' as used,
           ROUND((a.total_bytes - DECODE(b.free_bytes, null, 0, b.free_bytes)) /
                 a.total_bytes,
                 4) * 100 as "USED_RATIO(%)"
      FROM (SELECT tablespace_name,
                   sum(DECODE(autoextensible, 'YES', maxbytes, 'NO', bytes)) as total_bytes
              FROM DBA_DATA_FILES
             GROUP BY tablespace_name) a
      LEFT JOIN (SELECT tablespace_name, sum(bytes) as free_bytes
                   FROM DBA_FREE_SPACE
                  GROUP BY tablespace_name) b
     USING (tablespace_name)
     ORDER BY 5 DESC;

    参考资料

    [1] Oracle查询表空间使用情况

    [2] Oracle 查看表空间的大小及使用情况sql语句

  • 相关阅读:
    ORA12560: TNS: 协议适配器错误
    eclipse无法识别Web项目的问题
    搭建eclipse+tomcat开发环境
    初探弹出层的实现原理
    样式可控的左右选择组件
    在TSQL中用队列来遍历层级数据
    复利计算工具 wpf
    浏览WPF中内置颜色名对应的颜色
    原创:通过VS 2010+SVN为SQL Server提供数据库版本管理
    原创:学习英语小助手(阅读粘贴的英文,使用MVVM)
  • 原文地址:https://www.cnblogs.com/cenliang/p/4952410.html
Copyright © 2011-2022 走看看