ORACLE 查看表空间使用情况
1. 基本的表空间使用情况查询
可以通过组合查询 DBA_DATA_FILES
和 DBA_FREE_SPACE
视图来获取表空间的总大小、已使用空间和空闲空间等信息。不过要执行此查询,你需要具有 DBA
权限。
SELECT df.tablespace_name,-- 表空间总大小(MB)ROUND(SUM(df.bytes) / 1024 / 1024, 2) AS total_size_mb,-- 表空间已使用大小(MB)ROUND(SUM(df.bytes - NVL(fs.bytes, 0)) / 1024 / 1024, 2) AS used_size_mb,-- 表空间空闲大小(MB)ROUND(SUM(NVL(fs.bytes, 0)) / 1024 / 1024, 2) AS free_size_mb,-- 表空间使用率(百分比)ROUND((SUM(df.bytes - NVL(fs.bytes, 0)) / SUM(df.bytes)) * 100, 2) AS used_percentage
FROM dba_data_files df
LEFT JOIN dba_free_space fs ON df.tablespace_name = fs.tablespace_name AND df.file_id = fs.file_id
GROUP BY df.tablespace_name;
代码解释:
DBA_DATA_FILES
视图存储了数据文件的信息,通过它可以获取表空间的数据文件总