要查看Oracle数据库表空间的大小,您可以使用以下SQL查询:
SELECT
f.tablespace_name,
f.file_id,
f.file_name,
ROUND(f.bytes / (1024 * 1024), 2) AS file_size_mb,
ROUND(NVL(SUM(fs.bytes), 0) / (1024 * 1024), 2) AS free_space_mb,
ROUND((f.bytes - NVL(SUM(fs.bytes), 0)) / (1024 * 1024), 2) AS used_space_mb
FROM
dba_data_files f
LEFT JOIN
dba_free_space fs ON f.file_id = fs.file_id
GROUP BY
f.tablespace_name, f.file_id, f.file_name, f.bytes
ORDER BY
1;
这个查询将显示每个表空间的名称、文件ID、文件名、文件大小(以MB为单位)、空闲空间(以MB为单位)和已使用空间(以MB为单位)。
请注意,您需要具有足够的权限才能运行此查询。通常,您需要具有DBA角色或至少具有查询dba_data_files
和dba_free_space
视图的权限。如果您没有足够的权限,请与数据库管理员联系以获取所需的权限。