DBAtlas · 数据库运维图谱

表空间可用空间查询

Oracle存储

命令

SELECT df.tablespace_name,
       ROUND(df.total_mb/1024,2)                 AS total_gb,
       ROUND(NVL(fs.free_mb,0)/1024,2)           AS free_gb,
       ROUND((df.total_mb-NVL(fs.free_mb,0))/df.total_mb*100,1) AS pct_used
FROM  (SELECT tablespace_name, SUM(bytes)/1024/1024 total_mb
         FROM dba_data_files GROUP BY tablespace_name) df
  LEFT JOIN
       (SELECT tablespace_name, SUM(bytes)/1024/1024 free_mb
          FROM dba_free_space GROUP BY tablespace_name) fs
    ON df.tablespace_name = fs.tablespace_name
ORDER BY pct_used DESC;

作用

显示每个表空间的总空间、可用空间和使用百分比(基于当前已分配空间,不含 autoextend 潜力)。

适用场景

空间监控,找出需要扩展的表空间。

注意

该查询基于当前数据文件大小;通过 autoextend 还可以继续增长。临时表空间使用 DBA_TEMP_FREE_SPACE。仅查询;无风险。

在 DBAtlas 中打开 →

相关内容