ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SQL---查看表空間的使用率及剩余

SQL---查看表空間的使用率及剩余

原创 Linux操作系统 作者:jifei0611 时间:2008-02-20 12:18:35 0 删除 编辑

如果表空間不是自动扩展的用的下SQL比较合适

col tablespace_name format a20

select a.tablespace_name,
used/1024/1024||'M' used,
round(100-b.free/used*100,2)||'%' used_pct,
round(free/1024/1024,2)||'M' free,
round(max_size/1024/1024)||'M' max_size,
round(max_size/1024/1024)-used/1024/1024||'M' "MAX_SIZE-TOTAL"
from
(select tablespace_name,sum(bytes) used,
sum(case when maxbytes=0 then bytes else maxbytes end) max_size
from dba_data_files
group by tablespace_name
)a,
(select tablespace_name,sum(bytes) free
from dba_free_space
group by tablespace_name
)b
where a.tablespace_name=b.tablespace_name;

 

如果表空间是自动扩展的﹐我只能想到下面的方法

 

SELECT TABLESPACE_NAME, FILE_SIZE, MAX_SIZE

FROM

(SELECT TABLESPACE_NAME,SUM(BYTES)/1024/1024||'M' FILE_SIZE,

ROUND(SUM(CASE WHEN MAXBYTES=0 THEN BYTES ELSE MAXBYTES END)/1024/1024)||'M' MAX_SIZE

FROM DBA_DATA_FILES

GROUP BY TABLESPACE_NAME)

 

 

NOTE﹕FILE_SIZE﹕如果使用空间的大小没有超过定义时指定的初始大小则不能真时的显示使用了多大空间

在查看表空间的使用率时我发在从DBA_FREE_SPACE中并不查出所有的表空间。一个autoextend表空间在超过了初始定义值后会从DBA_FREE_SPACE中消失。

那位前辈能给出一个通用的查看表空间的方法,小弟在此先谢谢

 

 

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

上一篇: 没有了~
下一篇: 处理redo损坏
请登录后发表评论 登录
全部评论

注册时间:2008-01-12

  • 博文量
    143
  • 访问量
    308639