-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com -- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions. col seg_owner head OWNER for a20 col seg_segment_name head SEGMENT_NAME for a30 col seg_segment_type head SEGMENT_TYPE for a20 col seg_partition_name head SEG_PART_NAME for a30 select round(SUM(bytes)/1048576) seg_MB , owner seg_owner , segment_name seg_segment_name , segment_type seg_segment_type , tablespace_name seg_tablespace_name , SUM(blocks) from dba_segments where upper(segment_name) LIKE upper(CASE WHEN INSTR('&1','.') > 0 THEN SUBSTR('&1',INSTR('&1','.')+1) ELSE '&1' END ) AND owner LIKE CASE WHEN INSTR('&1','.') > 0 THEN UPPER(SUBSTR('&1',1,INSTR('&1','.')-1)) ELSE user END group by owner , segment_name , segment_type , tablespace_name /