栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 系统运维 > 数据库 > Oracle

Oracle中查看表空间使用率的SQL脚本分享

Oracle 更新时间:发布时间: 百科书网 趣学号

复制代码 代码如下:

SELECt D.TABLESPACE_NAME,
       SPACE || 'M' "SUM_SPACe(M)",
       BLOCKS "SUM_BLOCKS",
       SPACE - NVL (FREE_SPACE, 0) || 'M' "USED_SPACe(M)",
       ROUND ( (1 - NVL (FREE_SPACE, 0) / SPACE) * 100, 2) || '%'
          "USED_RATE(%)",
       FREE_SPACE || 'M' "FREE_SPACe(M)"
  FROM (  SELECt TABLESPACE_NAME,
                 ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE,
                 SUM (BLOCKS) BLOCKS
            FROM DBA_DATA_FILES
        GROUP BY TABLESPACE_NAME) D,
       (  SELECt TABLESPACE_NAME,
                 ROUND (SUM (BYTES) / (1024 * 1024), 2) FREE_SPACE
            FROM DBA_FREE_SPACE
        GROUP BY TABLESPACE_NAME) F
 WHERe D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
UNIOn ALL                                                           --如果有临时表空间
SELECt D.TABLESPACE_NAME,
       SPACE || 'M' "SUM_SPACe(M)",
       BLOCKS SUM_BLOCKS,
       USED_SPACE || 'M' "USED_SPACe(M)",
       ROUND (NVL (USED_SPACE, 0) / SPACE * 100, 2) || '%' "USED_RATE(%)",
       NVL (FREE_SPACE, 0) || 'M' "FREE_SPACe(M)"
  FROM (  SELECt TABLESPACE_NAME,
                 ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE,
                 SUM (BLOCKS) BLOCKS
            FROM DBA_TEMP_FILES
        GROUP BY TABLESPACE_NAME) D,
       (  SELECt TABLESPACE_NAME,
                 ROUND (SUM (BYTES_USED) / (1024 * 1024), 2) USED_SPACE,
                 ROUND (SUM (BYTES_FREE) / (1024 * 1024), 2) FREE_SPACE
            FROM V$TEMP_SPACE_HEADER
        GROUP BY TABLESPACE_NAME) F
 WHERe D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
ORDER BY 1;

效果如下:

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/171744.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号