Oracle: Größe von Tabellen berechnen (in GB, MB, KB oder Byte)

Damit Sie die Größe (das Volumen) Ihrer Tabellen ausrechnen können, nutzen Sie folgenden SQL Befehl:

SELECT TableName, TABLESPACE_NAME, sum(mb)
FROM ( SELECT nvl2(l.segment_name, l.table_name, s.segment_name) TableName, s.TABLESPACE_NAME, bytes / 1024 / 1024 mb FROM user_segments s, user_lobs l WHERE s.segment_name = l.segment_name(+) AND ROUND(bytes / 1024 / 1024) > 0 ORDER BY 1, 2)
GROUP BY TableName, TABLESPACE_NAME
ORDER BY 1;

Ihnen werden alle Tabellen mit einer Größe von mehr als 0 MB angezeigt. Leere Tabellen werden nicht angezeigt.

Um die Berechnung in GB, KB oder Bytes zu erhalten, ändern Sie bitte die Division im zweiten SELECT Statement entsprechend ab.


Dieser Artikel hat Dir geholfen ?
.. und Dir nerviges Ausprobieren, Suchen und Zeit erspart ?

Dann würde ich mich sehr freuen, wenn Du diese werbefreie Hilfeseite mit einer kleinen Anerkennung unterstützen würdest.
Vielen Dank !
PayPal Donate QR Code

5 comments

  1. Hallo,
    danke, dass ich privat den code kopieren darf und ein sarkastisches Danke dafür, dass ich dazu die ganze Seite kopieren muss, weil ihr das markieren von Text unterbunden habt, sehr nutzerfreundlich von euch!..

    1. Hallo X,
      vielen Dank für den Hinweis. Ein Plugin hatte diese Funktion unbemerkt und ungewollt automatisch aktiviert. Wir haben das Plugin jetzt besser konfiguriert und das Markieren von Text ist wieder möglich.

  2. Falls es mal nicht auf einen einzelnen Nutzer beschränkt sein soll (muss als SYSTEM ausgeführt werden):

    SELECT owner, TableName, TABLESPACE_NAME, sum(mb)
    FROM (
    SELECT s.owner, nvl2(l.segment_name, l.table_name, s.segment_name) TableName,
    s.TABLESPACE_NAME, bytes / 1024 / 1024 mb
    FROM dba_segments s, dba_lobs l
    WHERE s.segment_name = l.segment_name(+) AND s.owner = l.owner(+)
    AND ROUND(bytes / 1024 / 1024) > 0
    ORDER BY 1, 2)
    GROUP BY owner, TableName, TABLESPACE_NAME
    ORDER BY 4 DESC;

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

zwei × zwei =