Oracle 10g LOB (Large Objects) Tabellengröße ermitteln

Erstellt am 7. Dezember 2012 von Cyborg2k @gamorz

In Oracle werden unstrukturierte Daten wie z.B. Dokumente und Bilder im LOB (CLOB/BLOB) Datentyp abgespeichert.
Da diese in der Regel den größten Anteil am Speicherverbrauch haben, möchte man von Zeit zu Zeit wissen welche Tabellen welchen Verbauch aufweisen.
Dieses lässt sich mit folgendem SQL Query, das als SYSDBA ausgeführt werden muss, leicht herausfinden.

1
2
3
4
SELECT dlTABLE_NAME, dsbytes/1024/1024 MegaBytes
FROM DBA_SEGMENTS ds, DBA_LOBS dl
WHERE dssegment_name=dlsegment_name
ORDER BY dsbytes DESC

Anhand der jetzt vorliegenden Auswertung lassen sich weitere Schritte einleiten bevor engpässe auftreten.