发布于 2016-04-03 00:56:10 | 149 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

Oracle关系数据库管理系统

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。


这篇文章主要介绍了Oracle中查看表空间使用率的SQL脚本分享,本文直接给出脚本代码和运行效果图,需要的朋友可以参考下



/* Formatted on 2012/5/31 14:51:13 (QP5 v5.185.11230.41888) */

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;

效果如下:



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务