话不多说,直接SQL
-- Oracle数据库查询语句(由于Oracle不同DBA设置表空间方式不同,以下SQL供参考),筛选业务库统计信息填写到表单中
SELECT ds.owner,
-- ds.TABLESPACE_NAME,
SUM(ds.BYTES)/1024/1024 AS TOTAL_SPACE_MB,
COUNT(dt.TABLE_NAME) AS TABLE_COUNT
FROM DBA_SEGMENTS ds JOIN
(
select * from DBA_TABLES
WHERE owner NOT IN ('SYS', 'SYSTEM') -- 排除系统相关的schema
AND table_name NOT LIKE 'KU$%' -- 排除以KU$开头的表(如果需要的话)
)dt
ON ds.OWNER = dt.OWNER
AND ds.SEGMENT_NAME = dt.TABLE_NAME
AND ds.SEGMENT_TYPE = 'TABLE'
GROUP BY ds.OWNER,ds.TABLESPACE_NAME;