mysql查看表空间剩余大小_查询表空间的总大小,剩余表空间,已用空间,表占用大小,某天占用的大小...

引用 :http://blog.csdn.net/cosio/article/details/3978747  , https://zhidao.baidu.com/question/628524115699308364.html

block 块

extent 区

segment 段

--增加USERS表空间500M空间

alter tablespace USERS add datafile '/data01/oradata/bidb96/USER_test30.bdf' size 500M;

select file_name , tablespace_name, t.* from dba_data_files t where tablespace_name = 'USERS' order by file_id;

--每个表占用的空间

select segment_name,sum(bytes )/1024/1024/1024 GB

from user_segments --where segment_name ='TR_GOV_WJ_XNH_D'

group by segment_name ;

--20190530这天TW层占用的空间

select count(distinct segment_name) tb_cnt,sum(bytes)/(1024*1024*1024) GB

from user_segments t

where partition_name='P_20190530'

and segment_name like 'TW%';

----查看剩余表空间  汇总

SELECT t1 表空间,z 总表空间,z-s 已用表空间,s 剩余表空间,ROUND((z-s)/z*100,2) "使用率%"

From (Select tablespace_name t1,Sum(bytes)/(1024*1024*1024) s

From DBA_FREE_SPACE Group by tablespace_name),

(Select tablespace_name t2,Sum(bytes)/(1024*1024*1024) z

From DBA_DATA_FILES Group by tablespace_name) Where t1=t2;

---表空间总共的空间

select tablespace_name,sum(bytes)/(1024*1024*1024) GB from dba_data_files

group by tablespace_name

;

--表空间剩余空间

select tablespace_name,sum(bytes)/(1024*1024*1024) GB from user_free_space

group by tablespace_name

;

--表空间占用的空间 表空间所有对象的物理占用(表,分区,索引等) 这个和DBA_DATA_FILES的大小才一样

select tablespace_name,sum(bytes)/(1024*1024*1024) GB from user_segments

group by tablespace_name

;

----表实际使用大小  这个大小相加必定

select table_name,(num_rows * avg_row_len )/(1024*1024*1024) 该表大小GB

from user_tables

where table_name = '表名大写'--672699条数据 0.306965947151184GB

order by 2 desc

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值