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;