ITPub博客

首页 > 数据库 > Oracle > 查询表的大小及表空间的使用情况

查询表的大小及表空间的使用情况

原创 Oracle 作者:passion_of_data 时间:2011-06-20 16:43:34 0 删除 编辑

1、查询表空间的使用情况
 select
  a.a1 表空间名称,
  c.c2 类型,
  c.c3 区管理,
  b.b2/1024/1024 表空间大小M,
  (b.b2-a.a2)/1024/1024 已使用M,
  substr((b.b2-a.a2)/b.b2*100,1,5) 利用率
  from
  (select tablespace_name a1, sum(nvl(bytes,0)) a2 from
  dba_free_space group by tablespace_name) a,
  (select tablespace_name b1,sum(bytes) b2 from
  dba_data_files group by tablespace_name) b,
  (select tablespace_name c1,contents c2,extent_management c3 from dba_tablespaces) c
  where a.a1=b.b1 and c.c1=b.b1;

有两种含义的表大小。一种是分配给一个表的物理空间数量,而不管空间是否被使用。可以这样查询获得字节数:

select segment_name, bytes
from user_segments
where segment_type = 'TABLE';
或者
   Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name

另一种表实际使用的空间。这样查询:

analyze table emp compute statistics;
select num_rows * avg_row_len
from user_tables
where table_name = 'EMP';

查看每个表空间的大小
Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name

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

上一篇: 没有了~
下一篇: oracle巡检(转)
请登录后发表评论 登录
全部评论
DBA

注册时间:2011-06-20

  • 博文量
    53
  • 访问量
    308277