ORACLE - Speichermanagement

y0dA

Erfahrenes Mitglied
Hi!

Wie funktioniert eigentlich das Speichermanagement bei Oracle, denn wenn ich eine Tabelle lösche, dann wir der Speicher nicht sofort wieder freigegeben?

Es geht darum, dass ich mit der XE Version arbeite, welche ja ein Limit von 4GB besitzt. Einen Job für die Speicherkomprimierung habe ich auch schon gestartet, jedoch wird der Speicher nicht mehr freigegeben...

Kennt sich hierbei jemand aus?

mfg
 
Es kommt darauf an, was Du unter "Tabelle löschen" verstehst. Ein DROP TABLE packt die Tabelle bei 10g in den Recycle Bin und der allokierte Speicher wird erst wiederverwendet, wenn das Quota des Users in dem betroffenen Tablespace ausgeschöpft ist. Ein DROP TABLE ... PURGE hingegen gibt den belegten Speicherplatz sofort wieder frei.
 
Naja ich habe nun das Problem, dass ich sehr sehr viele create und drop stmts hatte und irgendwie mittlerweile die 4GB ausgeschöpft sind und ich den "belegten" Speicher nicht wieder bekomme - was tun?

+)User löschen und neu anlegen sowie ein dump einspielen?
 
Code:
PURGE DBA_RECYCLEBIN;

Davon abgesehen würde ich dem/den User/n mal 'n Quota verpassen, damit der default tablespace nicht dauernd wächst. Ggf. auch jenes unterbinden.
 
Hmpf..dieses Kommando kann ich nicht ausführen bekomme die kuriose Meldung dass ich hierfür keine Berechtigung hätte (habe aber alle Rechte).

**EDIT**
Ok mit
Code:
PURGE RECYCLEBIN;
hats geklappt.

vielen dank
 
Zuletzt bearbeitet:
Zurück