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