概述
之所以写这篇文章是刚好有朋友问了我ORACLE表空间里面某一张表所占用的存储空间大小怎么算,所以就针对这方面顺便总结下oracle各个段要怎么去计算存储空间大小,如表段、索引段、回滚段等。
思路:
每张表都是作为“段”来存储的,可以通过user_segments视图查看其相应信息。段(segments)的定义:如果创建一个堆组织表,则该表就是一个段。这里我们可以通过user_segments视图来统计各个段的大小和相关信息。
查看table段存储空间大小
select segment_name, sum(bytes)/1024/1024 Mb,blocks,extents from user_segments where segment_type='TABLE' group by segment_name,blocks,extents
假设你要查某个表加个where条件判断下就可以了,这里就不写啦~
查看TABLE PARTITION段存储空间大小
select segment_name, sum(bytes)/1024/1024 Mb,blocks,extents from user_segments where segment_type='TABLE PARTITION' group by segment_name,blocks,extents