2026-03-12 20:23:15
This commit is contained in:
124
csierra/cs_top_application_segments.sql
Normal file
124
csierra/cs_top_application_segments.sql
Normal file
@@ -0,0 +1,124 @@
|
||||
WITH
|
||||
relevant_segments AS (
|
||||
SELECT /*+ OPT_PARAM('_px_cdb_view_enabled' 'FALSE') */
|
||||
s.con_id,
|
||||
s.owner,
|
||||
s.segment_name,
|
||||
s.partition_name,
|
||||
s.segment_type,
|
||||
s.tablespace_name,
|
||||
s.bytes,
|
||||
s.blocks,
|
||||
CASE
|
||||
WHEN s.segment_type LIKE 'TABLE%' THEN t.num_rows
|
||||
END AS num_rows,
|
||||
CASE
|
||||
WHEN s.segment_type LIKE 'TABLE%' THEN s.segment_name
|
||||
WHEN s.segment_type LIKE 'LOB%' AND s.segment_type <> 'LOBINDEX' THEN l.table_name
|
||||
WHEN s.segment_type LIKE 'INDEX%' OR s.segment_type = 'LOBINDEX' THEN i.table_name
|
||||
END AS table_name,
|
||||
CASE
|
||||
WHEN s.segment_type LIKE 'LOB%' AND s.segment_type <> 'LOBINDEX' THEN l.index_name
|
||||
WHEN s.segment_type LIKE 'INDEX%' OR s.segment_type = 'LOBINDEX' THEN i.index_name
|
||||
END AS index_name,
|
||||
CASE
|
||||
WHEN s.segment_type LIKE 'LOB%' AND s.segment_type <> 'LOBINDEX' THEN l.column_name
|
||||
END AS column_name
|
||||
FROM cdb_users u,
|
||||
cdb_segments s,
|
||||
cdb_tables t,
|
||||
cdb_lobs l,
|
||||
cdb_indexes i
|
||||
WHERE u.oracle_maintained = 'N'
|
||||
AND u.common = 'NO'
|
||||
AND s.con_id = u.con_id
|
||||
AND s.owner = u.username
|
||||
AND s.bytes > 0
|
||||
AND s.blocks > 0
|
||||
AND (s.segment_type LIKE 'TABLE%' OR s.segment_type LIKE 'LOB%' OR s.segment_type LIKE 'INDEX%')
|
||||
AND t.con_id(+) = s.con_id
|
||||
AND t.owner(+) = s.owner
|
||||
AND t.table_name(+) = s.segment_name
|
||||
AND l.con_id(+) = s.con_id
|
||||
AND l.owner(+) = s.owner
|
||||
AND l.segment_name(+) = s.segment_name
|
||||
AND i.con_id(+) = s.con_id
|
||||
AND i.owner(+) = s.owner
|
||||
AND i.index_name(+) = s.segment_name
|
||||
),
|
||||
aggregated_segments AS (
|
||||
SELECT s.con_id,
|
||||
s.owner,
|
||||
s.segment_name,
|
||||
1 AS segments,
|
||||
s.partition_name,
|
||||
s.segment_type,
|
||||
s.tablespace_name,
|
||||
s.bytes,
|
||||
s.blocks,
|
||||
s.num_rows,
|
||||
s.table_name,
|
||||
s.index_name,
|
||||
s.column_name
|
||||
FROM relevant_segments s
|
||||
WHERE s.bytes >= POWER(10, 7) -- include segments >= 10MB
|
||||
AND s.segment_name NOT LIKE 'BIN$%==$0' -- exclude recycle bin segments
|
||||
UNION ALL
|
||||
SELECT s.con_id,
|
||||
s.owner,
|
||||
'segments_under_10mb' AS segment_name,
|
||||
COUNT(*) AS segments,
|
||||
NULL AS partition_name,
|
||||
s.segment_type,
|
||||
s.tablespace_name,
|
||||
SUM(s.bytes) AS bytes,
|
||||
SUM(s.blocks) AS blocks,
|
||||
TO_NUMBER(NULL) AS num_rows,
|
||||
NULL AS table_name,
|
||||
NULL AS index_name,
|
||||
NULL AS column_name
|
||||
FROM relevant_segments s
|
||||
WHERE s.bytes < POWER(10, 7) -- include segments < 10MB
|
||||
AND s.segment_name NOT LIKE 'BIN$%==$0' -- exclude recycle bin segments
|
||||
GROUP BY
|
||||
s.con_id,
|
||||
s.owner,
|
||||
s.segment_type,
|
||||
s.tablespace_name
|
||||
UNION ALL
|
||||
SELECT s.con_id,
|
||||
s.owner,
|
||||
'recycle_bin_segments' AS segment_name,
|
||||
COUNT(*) AS segments,
|
||||
NULL AS partition_name,
|
||||
s.segment_type,
|
||||
s.tablespace_name,
|
||||
SUM(s.bytes) AS bytes,
|
||||
SUM(s.blocks) AS blocks,
|
||||
TO_NUMBER(NULL) AS num_rows,
|
||||
NULL AS table_name,
|
||||
NULL AS index_name,
|
||||
NULL AS column_name
|
||||
FROM relevant_segments s
|
||||
WHERE s.segment_name LIKE 'BIN$%==$0' -- include recycle bin segments
|
||||
GROUP BY
|
||||
s.con_id,
|
||||
s.owner,
|
||||
s.segment_type,
|
||||
s.tablespace_name
|
||||
)
|
||||
SELECT s.con_id,
|
||||
s.owner,
|
||||
s.segment_name,
|
||||
s.segments,
|
||||
s.partition_name,
|
||||
s.segment_type,
|
||||
s.tablespace_name,
|
||||
s.bytes,
|
||||
s.blocks,
|
||||
s.num_rows,
|
||||
s.table_name,
|
||||
s.index_name,
|
||||
s.column_name
|
||||
FROM aggregated_segments s
|
||||
/
|
||||
Reference in New Issue
Block a user