SQL语句查看DATAVG使用情况,表空间使用情况,用户下及用户下各表使用表空间情况

  • Post author:
  • Post category:其他


查看DATAVG等使用情况

select name,type,state,total_mb/1024,free_mb/1024, round(free_mb*100/total_mb,0) 空闲比例  from v$asm_diskgroup;

查看某用户使用表空间情况

select sum(t.bytes /1024/1024/1024) 已使用表空间G from dba_segments t where t.owner = 'username';

查看用户下各表使用表空间情况

select t.owner,t.segment_name,t.segment_type,sum(t.bytes /1024/1024/1024) 已使用表空间G from dba_segments t where t.owner = 'username' group by t.owner,t.segment_name,t.segment_type;

查看各表空间使用情况

SELECT Upper(F.TABLESPACE_NAME)         "表空间名",
       D.TOT_GROOTTE_MB                 "表空间大小(M)",
       (CEIL(D.TOT_GROOTTE_MB - F.TOTAL_BYTES) + 100)  "已使用空间(M)",
       To_char(Round(( D.TOT_GROOTTE_MB - F.TOTAL_BYTES ) / D.TOT_GROOTTE_MB * 100, 2), '990.99')
       || '%'                           "使用比",
       F.TOTAL_BYTES                    "空闲空间(M)",
       F.MAX_BYTES                      "最大块(M)"
FROM   (SELECT TABLESPACE_NAME,
               Round(Sum(BYTES) / ( 1024 * 1024 ), 2) TOTAL_BYTES,
               Round(Max(BYTES) / ( 1024 * 1024 ), 2) MAX_BYTES
        FROM   SYS.DBA_FREE_SPACE
        GROUP  BY TABLESPACE_NAME) F,
       (SELECT DD.TABLESPACE_NAME,
               Round(Sum(DD.BYTES) / ( 1024 * 1024 ), 2) TOT_GROOTTE_MB
        FROM   SYS.DBA_DATA_FILES DD
        GROUP  BY DD.TABLESPACE_NAME) D
WHERE  D.TABLESPACE_NAME = F.TABLESPACE_NAME AND D.TABLESPACE_NAME NOT IN ('SYSAUX','SYSTEM','TEMP','UNDOTBS1','UNDOTBS2','UNDOTBS3','UNDOTBS4','USERS')
ORDER  BY 1;

查看已使用的表空间总和

SELECT sum((CEIL(D.TOT_GROOTTE_MB - F.TOTAL_BYTES) + 100))  "已使用空间(M)"
FROM   (SELECT TABLESPACE_NAME,
               Round(Sum(BYTES) / ( 1024 * 1024 ), 2) TOTAL_BYTES,
               Round(Max(BYTES) / ( 1024 * 1024 ), 2) MAX_BYTES
        FROM   SYS.DBA_FREE_SPACE
        GROUP  BY TABLESPACE_NAME) F,
       (SELECT DD.TABLESPACE_NAME,
               Round(Sum(DD.BYTES) / ( 1024 * 1024 ), 2) TOT_GROOTTE_MB
        FROM   SYS.DBA_DATA_FILES DD
        GROUP  BY DD.TABLESPACE_NAME) D
WHERE  D.TABLESPACE_NAME = F.TABLESPACE_NAME AND D.TABLESPACE_NAME NOT IN ('SYSAUX','SYSTEM','TEMP','UNDOTBS1','UNDOTBS2','UNDOTBS3','UNDOTBS4','USERS')
ORDER  BY 1;



版权声明:本文为weixin_41229271原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。