3 Stimmen

Wie reduziert man die Größe des Undo-Tablespaces in Oracle?

Die Größe des Undo-Tablespace beträgt 30 GB, obwohl keine Aktivitäten in der Datenbank stattfinden.

4voto

APC Punkte 140727

Wie die Dokumentation besagt, sind wir ziemlich eingeschränkt, wenn es um UNDO-Tablespaces geht: Es gibt keine Syntax zum Verkleinern eines UNDO-Tablespaces, auch nicht in 11g. Ohne Intervention sollte der UNDO-Tablespace so dimensioniert werden, dass er unsere größte Transaktion aufnimmt. Das bedeutet, wenn wir einen riesigen Batch-Prozess haben, der einmal im Jahr läuft, sollte der UNDO-Tablespace groß genug sein.

Warum bietet Oracle keine Tools zum Verkleinern des UNDO-Tablespace an? Weil, wenn wir die Transaktionen hatten, um ihn einmal auf 30GB zu dehnen, wir wahrscheinlich wieder die gleiche Last haben werden. Das Freigeben des Festplattenspeichers wird uns nicht helfen, weil der UNDO-Tablespace versuchen wird, ihn zurückzugewinnen. Wenn wir diesen Speicher für einen anderen Zweck verwendet haben, wird unsere riesige Jahres-Transaktion scheitern.

Nun, wenn Sie glauben, dass Sie eine abnormale Datenverarbeitung hatten, die Ihren Tablespace verzerrt hat, und Sie überzeugt sind, dass Sie nie wieder so viel UNDO benötigen werden und Sie wirklich den Festplattenspeicher benötigen, dann können Sie die ALTER DATABASE-Syntax verwenden, um die einzelnen Datendateien zu verkleinern.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X