1.按表空间
select t1.tablespace_name,trunc(sum(t1.bytes)/1024/1024/1024,2)
from dba_data_files t1,(select distinct name,bytes from gv$datafile
where to_char(creation_time,'yyyy')='2012')t2
where t1.file_name=t2.name
group by t1.tablespace_name
2.按日期
select to_char(creation_time,'yyyymm'),trunc(sum(bytes)/1024/1024/1024,2) from (select distinct name,creation_time,bytes from gv$datafile
where to_char(creation_time,'yyyy')='2012')
--where to_char(creation_time,'yyyy')='2012'
group by to_char(creation_time,'yyyymm')