set pages 100 lines 200 feed off col segment_name for a30 col size_M for a10 set verify off define own=AS2CLIENT define tab=SURVEY prompt DETAILS prompt ======= select table_owner, table_name, segment_name, segment_type , ceil(bytes/1024/1024)||'M' size_M FROM ( select i.table_owner, i.table_name, s.segment_name, s.segment_type, s.bytes from dba_segments s, dba_indexes i where s.segment_name =i.index_name and s.owner = i.owner and i.index_type !='LOB' UNION select t.owner table_owner, t.table_name , s.segment_name, s.segment_type, s.bytes from dba_segments s, dba_tables t where t.table_name = s.segment_name and t.owner = s.owner UNION select l.owner table_owner, l.table_name, s.segment_name, s.segment_type, s.bytes from dba_lobs l, dba_segments s where l.segment_name = s.segment_name and l.owner =s.owner ) where table_owner='&own' and table_name='&tab' order by segment_type,segment_name ; prompt TOTAL prompt ===== select table_owner, table_name, ceil(sum(bytes)/1024/1024)||'M' size_M FROM ( select i.table_owner, i.table_name, s.segment_name, s.segment_type, s.bytes from dba_segments s, dba_indexes i where s.segment_name =i.index_name and s.owner = i.owner and i.index_type !='LOB' UNION select t.owner table_owner, t.table_name , s.segment_name, s.segment_type, s.bytes from dba_segments s, dba_tables t where t.table_name = s.segment_name and t.owner = s.owner UNION select l.owner table_owner, l.table_name, s.segment_name, s.segment_type, s.bytes from dba_lobs l, dba_segments s where l.segment_name = s.segment_name and l.owner =s.owner ) where table_owner='&own' and table_name='&tab' group by table_owner, table_name ; |