Oracle database table Space usage query:
Select B.file_name Physical file name,
B.tablespace_name table Space,
b.bytes/1024/1024 size M,
(B.bytes-sum (NVL (a.bytes,0)))/1024/1024 has used M,
SUBSTR ((B.bytes-sum (NVL (a.bytes,0))/(b.bytes) *100,1,5) utilization
From Dba_free_space A,dba_data_files b
where a.file_id=b.file_id
GROUP BY B.tablespace_name,b.file_name,b.bytes
Order BY B.tablespace_name;
-------------------------------------------------------------
SELECT D.tablespace_name,
SPACE | | ' m ' "Sum_space (m)",
BLOCKS "Sum_blocks",
SPACE-NVL (free_space, 0) | | ' m ' "Used_space (m)",
ROUND ((1-NVL (free_space, 0)/SPACE) * 100, 2) | | ‘%‘
"Used_rate (%)",
Free_space | | ' m ' "Free_space (m)"
From (SELECT Tablespace_name,
ROUND (SUM (BYTES)/(1024x768 * 1024x768), 2) SPACE,
SUM (BLOCKS) BLOCKS
From Dba_data_files
GROUP by Tablespace_name) D,
(SELECT Tablespace_name,
ROUND (SUM (BYTES)/(1024x768 * 1024x768), 2) free_space
From Dba_free_space
GROUP by Tablespace_name) F
WHERE D.tablespace_name = f.tablespace_name (+)
UNION All--if there is a temporary table space
SELECT D.tablespace_name,
SPACE | | ' m ' "Sum_space (m)",
BLOCKS Sum_blocks,
Used_space | | ' m ' "Used_space (m)",
ROUND (NVL (used_space, 0)/SPACE * 100, 2) | | '% ' "used_rate (%)",
NVL (free_space, 0) | | ' m ' "Free_space (m)"
From (SELECT Tablespace_name,
ROUND (SUM (BYTES)/(1024x768 * 1024x768), 2) SPACE,
SUM (BLOCKS) BLOCKS
From Dba_temp_files
GROUP by Tablespace_name) D,
(SELECT Tablespace_name,
ROUND (SUM (bytes_used)/(1024x768 * 1024x768), 2) Used_space,
ROUND (SUM (bytes_free)/(1024x768 * 1024x768), 2) free_space
From V$temp_space_header
GROUP by Tablespace_name) F
WHERE D.tablespace_name = f.tablespace_name (+)
ORDER by 1;
Oracle 11g tablespace Usage