千家信息网

数据库如何查看表空间的使用率

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,进入oracle数据库中,输入以下代码即可select total.tablespace_name,round(total.MB, 2) as Total_MB,round(total.MB - fr
千家信息网最后更新 2024年11月17日数据库如何查看表空间的使用率

进入oracle数据库中,输入以下代码即可
select total.tablespace_name,
round(total.MB, 2) as Total_MB,
round(total.MB - free.MB, 2) as Used_MB,
round((1 - free.MB / total.MB) 100, 2) || '%' as Used_Pct
from (select tablespace_name, sum(bytes) / 1024 / 1024 as MB
from dba_free_space
group by tablespace_name) free,
(select tablespace_name, sum(bytes) / 1024 / 1024 as MB
from dba_data_files
group by tablespace_name) total
where free.tablespace_name = total.tablespace_name;

SELECT a.tablespace_name, a.BYTES total, a.bytes - nvl(b.bytes, 0) free FROM (SELECT tablespace_name, SUM (bytes) bytes FROM dba_temp_files GROUP BY tablespace_name) a,(SELECT tablespace_name, SUM (bytes_cached) bytes FROM v$temp_extent_pool GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name(+)

SELECT temp_used.tablespace_name,total - used as "Free",total as "Total",round(nvl(total - used, 0)
100 / total, 3) "Free percent" FROM (SELECT tablespace_name, SUM(bytesused) / 1024 / 1024 used FROM GV$TEMP_SPACE_HEADER GROUP BY tablespace_name) temp_used,(SELECT tablespace_name, SUM(bytes) / 1024 / 1024 total FROM dba_temp_files GROUP BY tablespace_name) temp_total WHERE temp_used.tablespace_name = temp_total.tablespace_name;

那些语句待用临时表空间
SELECT se.username,sid,serial#,sql_address,machine,program,tablespace,segtype,contents FROM v$session se, v$sort_usage su WHERE se.saddr = su.session_addr;

0