BaseBallBatBoy
Erfahrenes Mitglied
Hallo!
Ich bin an einem Mengengerüst der Tabellen aus drei Schemen interessiert (Total 444 Tabellen, ~20 GB used space). Wie würdet ihr hierzu vorgehen? Hier mal was ich bislang habe. Ideen oder Erweiterungen dazu?
Gruss
BBBB
Ich bin an einem Mengengerüst der Tabellen aus drei Schemen interessiert (Total 444 Tabellen, ~20 GB used space). Wie würdet ihr hierzu vorgehen? Hier mal was ich bislang habe. Ideen oder Erweiterungen dazu?
SQL:
SELECT
t.owner AS schema_name,
t.table_name,
t.avg_row_len AS avg_row_len_bytes,
t.num_rows,
ROUND(t.avg_row_len * t.num_rows / 1024 / 1024 , 2) AS space_used_mb,
ROUND(s.bytes / 1024 / 1024 , 2) AS space_allocated_mb,
ROUND(100/s.bytes * (t.avg_row_len * t.num_rows), 2) AS utilization_percentage,
DENSE_RANK() OVER (PARTITION BY t.owner ORDER BY t.avg_row_len * t.num_rows DESC) AS schema_space_used_rank,
DENSE_RANK() OVER (ORDER BY t.avg_row_len * t.num_rows DESC) AS overall_space_used_rank,
t.last_analyzed
FROM
dba_tables t
LEFT JOIN
dba_segments s
ON
s.segment_name = t.table_name
AND
s.owner = t.owner
WHERE
t.owner IN ('mySchemaA','mySchemaB','mySchemaC')
ORDER BY
t.owner,
t.table_name
;
Gruss
BBBB
Zuletzt bearbeitet von einem Moderator: