如何在数据库中查询某各个表占用的空间大小

一、查看表占用空间大小语句:

1、所有用户下

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
 order by sum(t.bytes / 1024 / 1024) desc;

2、指定用户下

select segment_name,
       tablespace_name,
       bytes B,
       round(bytes / 1024, 1) KB,
       round(bytes / 1024 / 1024, 1) MB,
       round(bytes / 1024 / 1024 / 1024, 2) GB
  from dba_segments
 where segment_type = 'TABLE'
   and tablespace_name = 'SPC_用户名'
 order by bytes desc;

二、查看表空间占用空间大小语句:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值