如何在Oracle中查看各个表,表空间占用空间的大小
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Oracle中查看各个表,表空间占用空间的大小相关的知识,希望对你有一定的参考价值。
参考技术A在Oracle中查看各表及表空间占用空间大小可用sql语句执行查看。
Oracle版本:Oracle
10g
一、查看表占用空间大小语句:
select t.segment_name, t.segment_type, sum(t.bytes / 1024 / 1024) "占用空间(M)"
from dba_segments t
where t.segment_type='TABLE'
group by OWNER, t.segment_name, t.segment_type;
查询结果:
二、查看表空间占用空间大小语句:
select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
from
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
order by ((a.bytes-b.bytes)/a.bytes) desc
查询结果:
oracle数据库表空间占用太大,如何在不删除表的情况下缩小占用空间
oracle数据库的表空间占用率总是在90%左右,但又不能随便删除表。如何在不损失数据的情况下将表空间的占用率降低
alter table 表名 move和alter table 表名 shrink space都可以用来进行段收缩,降低高水位HWM,也都可以用来消除行链接(Row Chaining)和行迁移(Row Migration),估计效果不明显,看你的数据库用途是干什么的(如果是数据仓库肯定是不明显的)。 参考技术A 表压缩。或者挪表 参考技术B 拆分
以上是关于如何在Oracle中查看各个表,表空间占用空间的大小的主要内容,如果未能解决你的问题,请参考以下文章