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

  • 相关阅读:
    (转载)Linux系统中分离线程的使用
    (转载)Vim的几种模式介绍
    (转载)Linux下检查内存泄漏、系统性能的系列工具
    (转载)Linux 僵尸进程与孤儿进程
    (转载)valgrind,好东西,一般人我不告诉他~~ 选项
    (转载)Linux进程组、作业、会话的理解
    Open a file, and then readin a file tcl tk
    save vars and arrays
    itcl class example
    constructor with args tcl tk
  • 原文地址:https://www.cnblogs.com/cenliang/p/4952410.html
Copyright © 2011-2022 走看看