SELECT
*
FROM
(
SELECT
OWNER,
TABLE_NAME,
SUM(tabsize) table_size
FROM
(
SELECT
owner,
SEGMENT_NAME AS table_name,
SUM(BYTES)/ 1024 / 1024 / 1024 AS tabsize
FROM
DBA_SEGMENTS
WHERE
(OWNER,
SEGMENT_NAME) IN (
SELECT
OWNER,
TABLE_NAME
FROM
DBA_TABLES
WHERE
OWNER NOT IN ('SYS',
'SYSTEM',
'DBSNMP'))
GROUP BY
SEGMENT_NAME,
owner
UNION ALL
SELECT
lob.owner,
lob.table_name,
SUM(seg.bytes)/ 1024 / 1024 / 1024 AS tabsize
FROM
dba_lobs lob,
dba_segments seg
WHERE
lob.segment_name = seg.segment_name
AND lob.OWNER NOT IN ('SYS',
'SYSTEM',
'DBSNMP')
GROUP BY
lob.owner,
lob.table_name )
GROUP BY
OWNER,
TABLE_NAME
ORDER BY
3 DESC)
WHERE
table_size>1 ;
Oracle 统计超过1GB的单表
最新推荐文章于 2024-07-16 19:29:55 发布