在 Oracle 中,要查询表的大小、索引的大小、分区的大小、大字段(LOBs)的大小以及单个表占用的空间总大小,您可以使用以下 SQL 查询。请注意,这些查询需要您具有足够的权限来访问 Oracle 的数据字典视图。
1. 表的大小
查询表的大小可以使用 DBA_SEGMENTS
视图:
SELECT
segment_name AS "Table_Name",
SUM(bytes) / (1024 * 1024) AS "Size_MB"
FROM
dba_segments
WHERE
segment_type = 'TABLE'
GROUP BY
segment_name;
2. 索引的大小
查询索引的大小可以使用 DBA_INDEXES
和 DBA_SEGMENTS
视图:
SELECT
index_name AS "Index_Name",
SUM(bytes) / (1024 * 1024) AS "Size_MB"
FROM
dba_indexes i,
dba_segments s
WHERE
i.index_name = s.segment_name AND
s