tablespace full

How we find that tablespacespace is full..?
tonydbaAsked:
Who is Participating?
 
DavidConnect With a Mentor Senior Oracle Database AdministratorCommented:
SELECT
  ts.tablespace_name,
  TO_CHAR(SUM(NVL(fs.bytes,0))/1024/1024, '99,999,990.99') AS MB_FREE
FROM
  user_free_space fs,
  user_tablespaces ts,
  user_users us
WHERE
  fs.tablespace_name(+)   = ts.tablespace_name
AND ts.tablespace_name(+) = us.default_tablespace
GROUP BY
  ts.tablespace_name;

Substitute names as appropriate.
0
 
awking00Commented:
The attached script will show the size, amount free, amount used, %used as well as some other info by each tablespace. I use it often to see if usage is gettting too large.
Tablespace-Free.txt
0
 
Steve WalesSenior Database AdministratorCommented:
That query is only reporting on tablespaces that the user can see where the tablespace name is someone's default tablespace

Also (with apologies to dvz), it uses non Ansi standard joins - which I personally find non intuitive.
SELECT
  ts.tablespace_name,
  TO_CHAR(SUM(NVL(fs.bytes,0))/1024/1024, '99,999,990.99') AS MB_FREE
FROM
  dba_free_space fs
  left join dba_tablespaces ts on fs.tablespace_name   = ts.tablespace_name
GROUP BY
  ts.tablespace_name

Open in new window


This gives all tablespaces (and requires you have access to the dba_ views as opposed to the user_ views).

I use a variation on that script for my own use:

set feedback off
set echo off
set linesize 165
set pagesize 500
set heading on
clear breaks
col fname heading "Filename" format a60
col ts heading "Tablespace|Name" format a15
col cb heading "Total|Current|File Size" format 999,999,999,999
col free heading "Potential|Bytes Free" like cb
col percentfree heading "% Free|of|Pot.|Total|Bytes" format 999
ttitle "Percentage Freespace by Tablespace"
set markup html on preformat on
select a.tablespace_name ts, totb cb, freeb free, freeb/totb*100 percentfree
from (select tablespace_name, sum(bytes) totb from dba_data_files group by tablespace_name) a,
(select tablespace_name, sum(bytes) freeb from dba_free_space group by tablespace_name) b
where a.tablespace_name = b.tablespace_name
order by a.tablespace_name
/

Open in new window


Instead of just showing space free, shows Tablespace name, size of tablespace, freespace and percent freespace.
0
 
magarityCommented:
Technically, since the question is "How we find that tablespacespace is full" the answer is when you get a "ORA-01653: unable to extend table" error.
0
 
tonydbaAuthor Commented:
Thanks good.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.