Files
oracle/tpt/segsum.sql
2026-03-12 21:23:47 +01:00

40 lines
909 B
SQL

-- 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
/