【发布时间】:2015-01-16 17:14:19
【问题描述】:
我使用 Oracle 11 并想了解我的表的大小(例如以兆字节为单位)。我该怎么办?我应该检查服务器上的文件大小吗?或者是否有任何查询要运行?
【问题讨论】:
我使用 Oracle 11 并想了解我的表的大小(例如以兆字节为单位)。我该怎么办?我应该检查服务器上的文件大小吗?或者是否有任何查询要运行?
【问题讨论】:
如果您没有 DBA 权限,则可以使用 user_segments 表:
select bytes/1024/1024 MB from user_segments where segment_name='Table_name'
【讨论】:
这是一个查询,您可以在 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;
【讨论】: