oracle下查询表占用空间大小

博客介绍在Oracle中通过SQL查询表的大小以管理维护表空间。查询结果里,以BIN开头的表是drop表产生的备份数据,存于回收站用于恢复误删表。还给出回收表相关SQL,以及在drop表时加purge清除回收站信息以节省表空间的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Oracle中查询表的大小来管理维护表空间
下面是表占用空间大小的SQL:

select t.owner,t.segment_name, t.segment_type, sum(t.bytes / 1024 / 1024) "占用空间(M)"
from dba_segments t
where t.segment_type='TABLE' and owner not like '%SYS%'
group by OWNER, t.segment_name, t.segment_type order by sum(t.bytes / 1024 / 1024) desc;

在查询结果中会看到 segment_name 字段中有一部分表的名字以BIN开头,这部分表是drop表时产生的备份数据,存于回收站用以误删表时恢复数据
以下是有关于回收表相关的SQL:

PURGE RECYCLEBIN; --删除回收站中所有的表
PURGE TABLE tablename;  --删除回收站中指定的表
select * from recyclebin where type='TABLE'; --查询回收站中的表
FLASHBACK TABLE tablename; --恢复被删除的表

若想删除表时不产生回收站中的垃圾信息以此来节省表空间可以用以下SQL(在drop语句后加 purge 来清除)来drop表:

drop table tablename purge;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值