Oracle – Tabellen eines Tablespaces anzeigen

Es war einmal wieder so weit:
Neulich kam eine Mail, dass der Tablespace dabei ist wegen Überfüllung die Arbeit einzustellen. Man sollte doch bitte prüfen, welche Tabellen von dem Tablespace gelöscht werden können.

Zunächst setzt dies natürlich voraus, dass man die Tabelle sys.dba_segments sehen darf.
Sofern man das darf, lässt man sich zunächst die Tabellen nach Relevanz, in diesem Falle die Größe, anzeigen und prüft mit gesundem Augenmaß, welche Tabelle gelöscht werden kann:

SELECT DISTINCT owner               , segment_name               , segment_type               , tablespace_name               , ROUND((BYTES/1024/1024), 2) AS table_size   FROM dba_segments  WHERE segment_type = ‚TABLE‘    AND tablespace_name = &TSNAME     AND segment_name not like (‚BIN$%‘) GROUP BY owner        , segment_name        , segment_type        , tablespace_name        , ROUND((BYTES/1024/1024), 2) ORDER BY table_size DESC

Der Name des Tablespaces wird per Eingabe abgefragt. Das Statement filtert die Recycle Bin-Einträge heraus und setzt einen Filter auf den Segment-Typ Table.
Es zeigt das Schema, den Tabellennamen, sowie den Segment-Typen (in diesem Falle nur Table) und den Tablespacenamen, absteigend sortiert der Größe nach an.
Die Größe der Tabellen wird dabei in Megabytes angegeben.

 

Bildnachweise:
Titelbild: ©Fotolia_60505744_S-ci

 

 

Das könnte Sie auch interessieren

Bleiben Sie informiert:

its-people hilft Ihnen...

Weitere Blogthemen: