Inhaltsverzeichnis

Einen Oracle Tablespace verkleinern

Temp Tablespace

Ein local managed TEMP Tablespace kann mit der shrink Klausel verkleinert werden:

ALTER tablespace temp shrink SPACE keep 100M;
 
 
ALTER tablespace temp shrink  tempfile 'D:\ORACLE\ORADATA01\GPI\TEMP01.DBF' keep 10M;
 
 
#alternativ
ALTER DATABASE TEMPFILE '/oracle/GPI/oradata/temp01.dbf' RESIZE 1M;

Einen User Tablespace verkleinern

Ein Oracle Tablespace kann nur verkleinert werden wenn am Ende der Dateidatei noch ungenützter Platz vorhanden ist.

Dazu wird der Befehl „alter database datafile '<file>' resize <size>“ verwendet.

Mit folgenden Script kann hierfür der maximale Platz und das passende Statement ermittelt werden:

Das Script mit dem Name eines Tablespaces oder mit % für alle aufrufen.

SYS@GPI-jupiter>@space_tablespace MGMT_TABLESPACE
 
Parameter 1 = Tablespace Name  => 'MGMT_TABLESPACE'
 
 
SPACE OF the the TABLE SPACE
 
Tablespace                  SIZE MB        SIZE MB        SIZE MB File File
name                          total           used       freeable   id name
-------------------- -------------- -------------- -------------- ---- -----------------------
MGMT_TABLESPACE            3.400,00       3.235,01         164,99   17 ..RADATA01\GPI\MGMT.DB
 
 
DLL TO shrink the the tablespace
 
COMMAND
--------------------------------------------------------------------------------------------------
ALTER DATABASE datafile 'D:\ORACLE\ORADATA01\GPI\MGMT.DBF' resize 3236M;