如何在Oracle中查看各个表,表空间占用空间的大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Oracle中查看各个表,表空间占用空间的大小相关的知识,希望对你有一定的参考价值。

参考技术A 用如下语句查询: select segment_name,tablespace_name,bytes B, bytes/1024 KB, bytes/1024/1024 MB from user_segments where segment_type='TABLE' and tablespace_name='USERS'结果: 说明,其中segment_type='TABLE'中的TABLE必须要大写,...

Oracle查看表占用空间

Oracle查看表占用空间

查看表空间对应日志文件

select
  tablespace_name, file_id, file_name,
  round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;

查看表空间总大小、使用率、剩余空间

select
  a.tablespace_name, total, free, total-free as used, substr(free/total * 100, 1, 5) as "FREE%", substr((total - free)/total * 100, 1, 5) as "USED%"
from
  (select tablespace_name, sum(bytes)/1024/1024 as total from dba_data_files group by tablespace_name) a,
  (select tablespace_name, sum(bytes)/1024/1024 as free from dba_free_space group by tablespace_name) b
where a.tablespace_name = b.tablespace_name
order by a.tablespace_name;

查看具体表的占用空间大小

select * from (
  select t.tablespace_name,t.owner, t.segment_name, t.segment_type, sum(t.bytes / 1024 / 1024) mb
  from dba_segments t
  where t.segment_type='TABLE'
  group by t.tablespace_name,t.OWNER, t.segment_name, t.segment_type
) t
order by t.mb desc;

以上是关于如何在Oracle中查看各个表,表空间占用空间的大小的主要内容,如果未能解决你的问题,请参考以下文章

如何在Oracle中查看各个表,表空间占用空间的大小

如何在oracle中查询某个表的占用了多大的空间!如果是sql语句请讲的详细子我是菜鸟!

oracle占用的空间特别大,该如何解决?

如何查看oracle中某个用户占用表空间大小情况

oracle 查询出 表的空间大小 占用存储空间

如何查询临时表空间被啥占用了