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语句

  • 相关阅读:
    自动杀死僵尸进程的脚本
    利用CodeBlocks修改PUTTY以文件形式保存配置信息
    [C#Util]读写文件汉字乱码
    [Hadoop]在Windows上安装Hadoop
    [短彩信]C#短彩信模块开发设计(1)——架构
    [MQ]ActiveMQ消息收发简单例子
    [C#Util]ObjectPool Prototype
    [DesignPattern]各自用一句话来概括MVC、MVP、MVVM的差异特点
    [Java]Jersey Spring Integration Demo
    [OpenSource]浅谈.Net和Java互相调用的三种方式
  • 原文地址:https://www.cnblogs.com/cenliang/p/4952410.html
Copyright © 2011-2022 走看看