- 统计某个用户下表所占用大小
方式一:
SELECT
owner,
segment_name,
round( sum( bytes / 1024 / 1024 / 1024 ), 2 ) gb_size
FROM
dba_segments
WHERE
owner = '用户名'
AND segment_type = 'TABLE' -- 如果是分区表, 则 segment_type = 'TABLE PARTITION'
GROUP BY
owner,
segment_name
ORDER BY
3 DESC;
方式二:
SELECT
table_name,
nvl ( bytes, 0 ),
nvl ( bytes / 1024, 0 ) KB,
nvl ( bytes / 1024 / 1024, 0 ) MB
FROM
dba_tables
LEFT JOIN dba_segments ON table_name = segment_name
AND segment_type = 'TABLE' -- 如果是分区表, 则 segment_type = 'TABLE PARTITION'
AND dba_segments.OWNER = '用户名'
WHERE
dba_tables.OWNER = '用户名'
ORDER BY
nvl ( bytes, 0 ) DESC;
