Sunteți pe pagina 1din 2

TOTAL SIZE INCLUSING INDEXES TABLE PARTITION LOB ETC.

SELECT * FROM (
SELECT
owner, object_name, object_type, table_name, ROUND(bytes)/1024/1024/1024 AS
GB,
tablespace_name, ROUND(Sum(bytes/1024/1024/1024) OVER (PARTITION BY table_na
me)) AS total_table_GB
FROM (
-- Tables
SELECT owner, segment_name AS object_name, 'TABLE' AS object_type,
segment_name AS table_name, bytes,
tablespace_name
FROM dba_segments
WHERE segment_type IN ('TABLE', 'TABLE PARTITION', 'TABLE SUBPARTITION')
UNION ALL
-- Indexes
SELECT i.owner, i.index_name AS object_name, 'INDEX' AS object_type,
i.table_name, s.bytes,
s.tablespace_name
FROM dba_indexes i, dba_segments s
WHERE s.segment_name = i.index_name
AND
s.owner = i.owner
AND
s.segment_type IN ('INDEX', 'INDEX PARTITION', 'INDEX SUBPARTITION')
-- LOB Segments
UNION ALL
SELECT l.owner, l.column_name AS object_name, 'LOB_COLUMN' AS object_type,
l.table_name, s.bytes,
s.tablespace_name
FROM dba_lobs l, dba_segments s
WHERE s.segment_name = l.segment_name
AND
s.owner = l.owner
AND
s.segment_type = 'LOBSEGMENT'
-- LOB Indexes
UNION ALL
SELECT l.owner, l.column_name AS object_name, 'LOB_INDEX' AS object_type,
l.table_name, s.bytes,
s.tablespace_name
FROM dba_lobs l, dba_segments s
WHERE s.segment_name = l.index_name
AND
s.owner = l.owner
AND
s.segment_type = 'LOBINDEX'
)
WHERE owner in UPPER('&schema_name')
)
WHERE total_table_GB > 300 and table_name='DWC_AR_OPEN_SNAP'
ORDER BY TABLESPACE_NAME DESC
/
***************************************************************
TABLE PARTITION TABLE SIZE ****************************************
select SEGMENT_NAME,suM(BYTES)/1024/1024/1024 TABLE_seg_gb
from dba_segments
where segment_type in ('TABLE','TABLE PARTITION') AND owner='DWV_OWNER'
AND SEGMENT_NAME IN (SELECT NON.TABLE_NAME FROM DBA_TAB_PARTITIONS PART,DBA_TAB
LES NON WHERE
NON.TABLE_NAME=PART.TABLE_NAME and non.table_name='&table_name') group by SEGMEN
T_NAME;
select SEGMENT_NAME,suM(BYTES)/1024/1024/1024 TABLE_seg_gb

from dba_segments
where segment_type in ('TABLE','TABLE PARTITION') AND owner='DWV_OWNER'
AND SEGMENT_NAME IN (SELECT NON.TABLE_NAME FROM DBA_TAB_PARTITIONS PART,DBA_TAB
LES NON WHERE
NON.TABLE_NAME=PART.TABLE_NAME and non.table_name='&table_name') group by owner,
segment_name,segment_type,TABLESPACE_NAME;
****************************************
******************************************
INDEX SIZE
select owner,segment_name, suM(BYTES)/1024/1024/1024 index_seg_gb, segment_type
from dba_segments
where segment_type in ('INDEX','INDEX PARTITION') having suM(BYTES)/1024/1024/10
24 > 30 AND owner='DWV_OWNER'
AND SEGMENT_NAME IN (SELECT NON.INDEX_NAME FROM DBA_IND_PARTITIONS PART,DBA_IND
EXES NON WHERE NON.INDEX_NAME=PART.INDEX_NAME and non.table_name='&table_name')
group by owner,segment_name,segment_type ;
select suM(BYTES)/1024/1024/1024 index_seg_gb, segment_type
from dba_segments
where segment_type in ('INDEX','INDEX PARTITION') having suM(BYTES)/1024/1024/10
24 > 30 AND owner='DWV_OWNER'
AND SEGMENT_NAME IN (SELECT NON.INDEX_NAME FROM DBA_IND_PARTITIONS PART,DBA_IND
EXES NON WHERE NON.INDEX_NAME=PART.INDEX_NAME and non.table_name='&table_name')
group by SEGMENT_TYPE;
INDEX SIZE TOTAL PARTITION
select suM(BYTES)/1024/1024/1024 index_seg_gb
from dba_segments
where segment_type in ('INDEX','INDEX PARTITION') AND owner='DWV_OWNER'
AND SEGMENT_NAME IN (SELECT NON.INDEX_NAME FROM DBA_IND_PARTITIONS PART,DBA_IND
EXES NON WHERE
NON.INDEX_NAME=PART.INDEX_NAME and non.table_name='&table_name');
******************************************
INDEX SIZE WITH TABLESPACE NAME
select owner,segment_name,TABLESPACE_NAME,suM(BYTES)/1024/1024/1024 index_seg_g
b, segment_type
from dba_segments
where segment_type in ('INDEX','INDEX PARTITION') having suM(BYTES)/1024/1024/10
24 > 30 AND owner='DWV_OWNER'
AND SEGMENT_NAME IN (SELECT NON.INDEX_NAME FROM DBA_IND_PARTITIONS PART,DBA_IND
EXES NON WHERE NON.INDEX_NAME=PART.INDEX_NAME and non.table_name='&table_name')
group by owner,segment_name,segment_type ;

S-ar putea să vă placă și