Skip to Main Content

 

Auswahl  

Komplett Übersicht aller Oracle Tipps

Undo und Temp - Tablespace verkleinern 

Oracle
DBA
RDBMS 8.x
12.12.18 (MP)
07.07.23(MD)
Undo Tablespace, Temp Tablespace, verkleinern, Reorg

Passende Schulungen zum Thema

Viele Administratoren kennen das Problem, zu wenig Platz auf ihren Platten zur Verfügung zu haben und daher kurzfristig Platz frei machen zu müssen. Da fällt einem dann sofort der Undo und Temp Tablespace ein, die eigentlich immer zu groß sind. Kann man diese aber überhaupt verkleinern?

Nein, leider sind die beiden Tablespaces von einer Verkleinerung ausgeschlossen.

Aber wenn man schon nicht verkleinern kann, dann legt man den Tablespace einfach neu an. Es darf dazu aber niemand auf den Tabelspaces arbeiten, und es muss immer jeweils ein Tablespace zur Verfügung stehen. Man muss also einen weiteren Tablespace anlegen und die Benutzer auf diesen Tablespace umsetzen. Darauf folgend muss man nur noch warten, bis keiner mehr auf den alten Tablespaces arbeitet und kann diesen dann löschen.

  • Es stehen zwei Alternativen zur Verfügung:
  • Es werden neue Tablespaces mit neuen Namen angelegt, die die Funktionen der alten übernehmen

Die Namen der Tablespaces müssen gleich bleiben, deswegen wird ein Interims-Tablespace angelegt, der danach wieder gelöscht wird
 

Alternative 1 für Temp-Tablespace:

CREATE TEMPORARY TABLESPACE temp2 TEMPFILE 'c:\oracle\oradata\o18c\temp02.dbf'
SIZE 1000M AUTOEXTEND ON MAXSIZE 1900M;

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp2;
 

Eine gewisse Zeit warten, bis alle Sortieroperationen auf dem alten  Tablespace abgeschlossen sind

DROP TABLESPACE temp;

 

Alternative 1 für Undo-Tablespace:

CREATE UNDO TABLESPACE undotbs2 DATAFILE 'c:\oracle\oradata\o18c\undo02.dbf'
SIZE 1000M AUTOEXTEND ON MAXSIZE 1900M;

ALTER SYSTEM SET undo_tablespace='undotbs2';

Eine gewisse Zeit warten, bis alle Undooperationen auf dem alten Tablespace abgeschlossen sind

DROP TABLESPACE undotbs;

 

Alternative 2 für Temp-Tablespace:

CREATE TEMPORARY TABLESPACE temp_interims
TEMPFILE 'c:\oracle\oradata\o18c\temp_inter.dbf'
SIZE 1G AUTOEXTEND ON MAXSIZE 2G REUSE;

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp_interims;

Eine gewisse Zeit warten, bis alle Sortieroperationen auf dem alten Tablespace abgeschlossen sind

DROP TABLESPACE temp;

Jetzt einen Tablespace mit dem alten Namen anlegen

CREATE TEMPORARY TABLESPACE temp
TEMPFILE 'c:\oracle\oradata\o18c\temp01.dbf'
SIZE 1000M AUTOEXTEND ON MAXSIZE 1900M REUSE;

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;

Eine gewisse Zeit warten, bis alle Sortieroperationen auf dem alten Tablespace abgeschlossen sind

DROP TABLESPACE temp_interims;

 

Alternative 2 für Undo-Tablespace:

CREATE UNDO TABLESPACE undo_interims
DATAFILE 'c:\oracle\oradata\o18c\undo_inter.dbf'
SIZE 1G AUTOEXTEND ON MAXSIZE 2G; 

ALTER SYSTEM SET undo_tablespace='undo_interims';

Eine gewisse Zeit warten, bis alle Undooperationen auf dem alten Tablespace abgeschlossen sind 

DROP TABLESPACE undotbs;

REM Jetzt einen Tablespace mit dem alten Namen anlegen

CREATE UNDO TABLESPACE undotbs
DATAFILE 'c:\oracle\oradata\o10g\undotbs01.dbf'
SIZE 1G AUTOEXTEND ON MAXSIZE 2G; 

ALTER SYSTEM SET undo_tablespace='undotbs';

Eine gewisse Zeit warten, bis alle Undooperationen auf dem alten
Tablespace abgeschlossen sind 

DROP TABLESPACE undo_interims;

Weitere Interessante Kurs-Tipps zum Thema