Oracle查询表空间使用情况的方法未必人人知道,下面就为您详细介绍Oracle查询表空间使用情况的方法,供您参考学习之用。
Oracle查询表空间使用情况–查询表空间使用情况
SELECTUPPER(F.TABLESPACE_NAME)"表空间名", D.TOT_GROOTTE_MB"表空间大小(M)", D.TOT_GROOTTE_MB-F.TOTAL_BYTES"已使用空间(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(SELECTTABLESPACE_NAME, ROUND(SUM(BYTES)/(1024*1024),2)TOTAL_BYTES, ROUND(MAX(BYTES)/(1024*1024),2)MAX_BYTES FROMSYS.DBA_FREE_SPACE GROUPBYTABLESPACE_NAME)F, (SELECTDD.TABLESPACE_NAME, ROUND(SUM(DD.BYTES)/(1024*1024),2)TOT_GROOTTE_MB FROMSYS.DBA_DATA_FILESDD GROUPBYDD.TABLESPACE_NAME)D WHERED.TABLESPACE_NAME=F.TABLESPACE_NAME ORDERBY1
–查询表空间的free space
selecttablespace_name, count(*)asextends, round(sum(bytes)/1024/1024,2)asMB, sum(blocks)asblocks fromdba_free_space groupbytablespace_name;
–查询表空间的总容量
selecttablespace_name,sum(bytes)/1024/1024asMB fromdba_data_files groupbytablespace_name;
–查询表空间使用率
selecttotal.tablespace_name, round(total.MB,2)asTotal_MB, round(total.MB-free.MB,2)asUsed_MB, round((1-free.MB/total.MB)*100,2)||'%'asUsed_Pct from(selecttablespace_name,sum(bytes)/1024/1024asMB fromdba_free_space groupbytablespace_name)free, (selecttablespace_name,sum(bytes)/1024/1024asMB fromdba_data_files groupbytablespace_name)total wherefree.tablespace_name=total.tablespace_name;
相关文章
标签:Oracle