Man lernt doch nie aus: Shrinken von temporären Tablespaces

6. Juli 2011 Aus Von Markus Flechtner

Jeder DBA kennt das Problem: die Platte mit der Datenbank drauf ist voll und man muss irgendwie Platz schaffen, sprich: vorhandene Dateien verkleinern.

Bei Datafiles kann man entweder zuerst die HighWater-Mark ermitteln und dann mit einem „ALTER DATABASE RESIZE DATAFILE“-Befehl die Datei maximal verkleinern oder nach der Trial&Error-Methode solange eine Datei um ein kleines Stück verkleinern, bis der ORA-3297 kommt.

Bei Tempfiles geht das viel einfacher

ALTER TABLESPACE <<TABLESPACE_NAME>> SHRINK SPACE;

verkleinert den Tablespace soweit es geht. Mit

ALTER TABLESPACE <<TABLESPACE_NAME>> SHRINK SPACE KEEP <<SIZE>>;

kann man eine Mindestgröße des Tablespaces festlegen.

Das funktioniert seit Oracle 11.1.

Zugegeben, ich hab’s nicht gewusst – aber man lernt ja nie aus 🙂