===== 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 '' resize " verwendet.
Mit folgenden Script kann hierfür der maximale Platz und das passende Statement ermittelt werden:
* http://orapowershell.codeplex.com/SourceControl/latest#sql/space_tablespace.sql
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;