如何在Oracle中确定表大小

时间:2014-11-19 08:56:03

标签: oracle oracle11g

我使用Oracle 11并希望找出我的表的大小(例如以兆字节为单位)。我该怎么办?我应该检查服务器上的文件大小吗?或者是否有任何查询要运行?

2 个答案:

答案 0 :(得分:32)

如果您没有DBA权限,那么您可以使用user_segments表:

select bytes/1024/1024 MB from user_segments where segment_name='Table_name'

答案 1 :(得分:21)

这是一个查询,您可以在SQL Developer(或SQL * Plus)中运行它:

SELECT DS.TABLESPACE_NAME, SEGMENT_NAME, ROUND(SUM(DS.BYTES) / (1024 * 1024)) AS MB
  FROM DBA_SEGMENTS DS
  WHERE SEGMENT_NAME IN (SELECT TABLE_NAME FROM DBA_TABLES)
 GROUP BY DS.TABLESPACE_NAME,
       SEGMENT_NAME;