微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

查询DB表实际大小

1.查询DB表实际大小(保证clob/blob/nclob lob大字段)

selectround(sum(bytes/1024/1024/1024),2)||'G'fromdba_segmentswhereowner='用户'
andsegment_name='表'ORsegment_nameIN(selectSEGMENT_NAMEfromdba_LOBSwhereTABLE_NAME='表'andowner='用户');

如果不是dba用户可以用user_segments & user_lobs 且不需要owner.


2. 查询表里LOB大字段

selectround(sum(b.BYTES/1024/1024),2)||'M'fromdba_lobsa,dba_segmentsb
wherea.segment_name=b.segment_nameanda.owner='用户'anda.table_name='表';


3.查询表大小不带LOB大字段

selectround(sum(bytes/1024/1024/1024),2)||'G'fromuser_segmentswheresegment_name='表';


4.表数据被删除

a. 若表的数据被truncate,上述方法查到的数据会立即变化

b. 若表的数据被delete,则需要对表进行收缩,上述查询才会变化;

altertable表名enablerowmovement;
altertable表名shrinkspace;

原文地址:https://www.jb51.cc/oracle/208389.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐