ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle各种空间大小及占用大小

Oracle各种空间大小及占用大小

原创 Linux操作系统 作者:陈安公 时间:2011-09-18 20:30:12 0 删除 编辑
 1.       表占用空间大小计算方法

Select S.SEGMENT_NAME ,DECODE(SUM(BYTES), NULL, 0, SUM(BYTES) / 1024 / 1024) Mbytes

  From DBA_SEGMENTS S

 Where S.SEGMENT_NAME = 'MTL_MATERIAL_TRANSACTIONS' --表名

   And S.SEGMENT_TYPE = 'TABLE'

 Group By S.SEGMENT_NAME

 2.       索引占用空间大小计算方法

Select S.SEGMENT_NAME ,DECODE(SUM(BYTES), NULL, 0, SUM(BYTES) / 1024 / 1024) Mbytes

  From DBA_SEGMENTS S

 Where S.SEGMENT_NAME = 'MTL_MATERIAL_TRANSACTIONS_N1' --索引

   And S.SEGMENT_TYPE = 'INDEX'

 Group By S.SEGMENT_NAME

 3.       分区表占用空间大小计算方法

Select S.SEGMENT_NAME ,DECODE(SUM(BYTES), NULL, 0, SUM(BYTES) / 1024 / 1024) Mbytes

  From DBA_SEGMENTS S

 Where S.SEGMENT_TYPE = 'TABLE PARTITION'

 Group By S.SEGMENT_NAME

 4.       表空间使用情况

SELECT A.TABLESPACE_NAME 表空间名称,

       Round(A.BYTES, 2) "总空间(G)",

       Round(B.BYTES, 2) "未用空间(G)",

       ROUND(((A.BYTES - B.BYTES) / A.BYTES) * 100, 2) "使用率%"

  FROM (SELECT TABLESPACE_NAME, SUM(BYTES) / (1024 * 1024 * 1024) BYTES

          FROM DBA_DATA_FILES

         GROUP BY TABLESPACE_NAME) A,

       (SELECT TABLESPACE_NAME, SUM(BYTES) / (1024 * 1024 * 1024) BYTES

          FROM DBA_FREE_SPACE

         GROUP BY TABLESPACE_NAME) B

 WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME

 ORDER BY ((A.BYTES - B.BYTES) / A.BYTES) DESC;

作者:chenxianping 发表于2011-8-19 8:19:32 原文链接
阅读:14 评论:0 查看评论


Link URL: http://blog.csdn.net/chenxianping/article/details/6700151

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24077593/viewspace-707818/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-06-11

  • 博文量
    29
  • 访问量
    52511