Here is a nice little script I like to use for showing the database size for various components.
#!/bin/ksh ############################################################################ # Script Name..: db_overall_size.ksh # Description..: # Author.......: # Date.........: 04/10/2013 # Version......: # Modified By..: # Date Modified: # Comments.....: # Schema owner.: # Login User...: # Run Order....: # Dependent on.: # Script type..: # ############################################################################ sqlplus -s "/ as sysdba" <<EOF set lines 200 set pages 200 spool db_size.txt set feed off column systot format 99,990.99 heading "System |Alloc|GB" column sysused format 99,990.99 heading "System |Used|GB" column systm format 99,990.99 heading "System Tbsp|MB" column sysax format 99,990.99 heading "Sys Aux|GB" column systmusd format 99,990.99 column sysused format 99,990.99 column undotb format 99,990.99 heading "Undo|GB" column datatot format 99,990.99 heading "Data|Alloc|GB" column dataused format 99,990.99 heading "Data|Used|GB" column tmptot format 99,990.99 heading "TEMP|Alloc|GB" column redotot format 99,990.99 heading "Online|Redo|MB" column ctltot format 99,990.99 heading "Ctrl File|MB" column systall format 99,990.99 column systused format 99,990.99 column fratot format 99,990.99 column fraused format 99,990.99 column total_gb format 99,990.99 column free_gb format 99,990.99 select name from v\$database; select s.system_size SYSTOT, s.system_size-f1.free_mb SYSUSED, st.system_size SYSTM, sa.system_size SYSAX, ud.system_size UNDOTB, d.data_size DATATOT, d.data_size-f2.free_mb DATAUSED, t.temp_size TMPTOT, r.redo_size REDOTOT, c.controlfile_size CTLTOT, s.system_size+t.temp_size+r.redo_size+c.controlfile_size SYSTALL, s.system_size-f1.free_mb+t.temp_size+r.redo_size+c.controlfile_size SYSTUSED, fra.fratot FRATOT, fra.fraused FRAUSED from (select sum(bytes)/1024/1024/1024 system_size from dba_data_files where tablespace_name like 'SYSTEM' or tablespace_name like 'SYSAUX' or tablespace_name like 'UNDO%' or tablespace_name like 'TOOLS' or tablespace_name like 'USERS') s, (select sum(bytes)/1024/1024/1024 data_size from dba_data_files where tablespace_name not like 'SYSTEM' and tablespace_name not like 'SYSAUX' and tablespace_name not like 'UNDO%' and tablespace_name not like 'TOOLS' and tablespace_name not like 'USERS') d, (select sum(bytes)/1024/1024 system_size from dba_data_files where tablespace_name like 'SYSTEM' ) st, (select sum(bytes)/1024/1024/1024 system_size from dba_data_files where tablespace_name like 'SYSAUX' ) sa, (select sum(bytes)/1024/1024/1024 system_size from dba_data_files where tablespace_name like 'UNDO%' ) ud, (select nvl(sum(bytes),0)/1024/1024/1024 temp_size from dba_temp_files) t, (select sum(bytes)/1024/1024 redo_size from sys.v\$log) r, (select sum(BLOCK_SIZE*FILE_SIZE_BLKS)/1024/1024 controlfile_size from v\$controlfile) c, (select sum(bytes)/1024/1024/1024 FREE_MB from dba_free_space where tablespace_name like 'SYSTEM' or tablespace_name like 'SYSAUX' and tablespace_name like 'UNDO%' and tablespace_name like 'TOOLS' and tablespace_name like 'USERS') f1, (select sum(bytes)/1024/1024/1024 FREE_MB from dba_free_space where tablespace_name not like 'SYSTEM' and tablespace_name not like 'SYSAUX' and tablespace_name not like 'UNDO%' and tablespace_name not like 'TOOLS' and tablespace_name not like 'USERS') f2, (select name, (SPACE_LIMIT)/1024/1024/1024 FRATOT, (space_used)/1024/1024/1024 FRAUSED from V\$RECOVERY_FILE_DEST) fra; spool off EOF