Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> How to sum dba_data_files by tablespace? Help!!
How can I in the following situation sum the datafiles by tablespace? Any ideas?
select tablespace_name, sum(free_mb) from
select a.file_id,a.tablespace_name,
trunc(decode(a.autoextensible,'YES',a.maxsize-a.bytes+nvl(b.free,0), 'NO',nvl(b.free,0))/1024/1024) free_mb, trunc(a.bytes/1024/1024) size_mb,trunc(a.maxsize/1024/1024) maxsize_mb, a.autoextensible ae, trunc(decode(a.autoextensible,where a.file_id=b.file_id(+)
'YES',(a.maxsize-a.bytes+nvl(b.free,0))/a.maxsize*100,
'NO',nvl(b.free,0)/a.maxsize*100)) free_pct
from (select file_id,tablespace_name,autoextensible,bytes, decode(autoextensible,'YES',maxbytes,bytes) maxsize from dba_data_files group by file_id, tablespace_name, autoextensible, bytes, decode(autoextensible,'YES',maxbytes,bytes)) a, (select file_id, tablespace_name, sum(bytes) free from dba_free_space group by file_id, tablespace_name) b