网上大多数表空间使用查询脚本实际上都是不全面的,并没有像toad那样很完整查询出每个表空间现有大小,最大表空间大小,表空间自动扩展最大大小 ,现写一sql可实现与toad一样效果
SELECT a.tablespace_name 表空间名,
total 表空间大小,
free 表空间剩余大小,
(total - free) 表空间使用大小,
ROUND((total - free) / total, 2) * 100 || '%' 使用率,
maxmb 表空间最大值,
ROUND((total - free) / MAXMB, 2) * 100 || '%' 最大空间使用率
FROM (SELECT tablespace_name, ROUND(SUM(bytes) / (1024 * 1024)) free
FROM DBA_FREE_SPACE
GROUP BY tablespace_name) a,
(SELECT tablespace_name,
ROUND(SUM(bytes) / (1024 * 1024)) total,
ROUND(sum(case
when MAXBYTES <> 0 then
MAXBYTES
else
MAXBYTES + BYTES
end) / (1024 * 1024)) maxmb
FROM DBA_DATA_FILES
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
order by ROUND((total - free) / MAXMB, 2) * 100 desc
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26252696/viewspace-1159944/
,如需转载,请注明出处,否则将追究法律责任。