Suatu ketika saya kaget melihat ukuran temporary tablespace saya yang mencapai 2 GB, kenapa bisa sebesar ini, ternyata setelah di lihat memang di konfigurasinya autoextends, ya sudah akhirnya saya mencoba untuk meresize ukuran tersebut.

berikut kronologi melakukan resize temp tablesapce :

langkah pertama yang saya lakukan adalah :

SQL> ALTER DATABASE tempfile '/app/oradata/NEURON/temp01.dbf' resize 250M;
ALTER DATABASE tempfile '/app/oradata/NEURON/temp01.dbf' resize 250M
*
ERROR AT line 1:
ORA-03297: FILE contains used data beyond requested RESIZE VALUE

ooo , ternyata error berarti tidak bisa menggunakan cara ini, cara berikutnya adalah Drop dan Create ulang tablesapce temp

berikut langkah-langkahnya :

SQL> DROP TABLESPACE temp;
 
TABLESPACE dropped.

Create ulang temp tablespace

SQL> CREATE TEMPORARY TABLESPACE TEMP
  2  TEMPFILE '/app/oradata/NEURON/temp01.dbf' SIZE 500M REUSE
  3  AUTOEXTEND ON NEXT 100M MAXSIZE unlimited
  4  EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
 
TABLESPACE created.

perintah diatas akan berhasil jika, oracle yang kita gunakan adalah oracle 8i atau oracle 9i dengan temp tablespace bukan default temporary tablesapace.

SQL> DROP TABLESPACE temp;
DROP TABLESPACE temp
*
ERROR AT line 1:
ORA-12906: cannot DROP DEFAULT TEMPORARY TABLESPACE

jika kita ingin merubah ukuran temp tablespace yang menjadi default temp tablespace kita harus meggunakan menggunakan cara berikut :

misalkan tablespace yang akan dirubah adalah temp dan merupakan default tablesapce, langkah pertama kita harus membuat tablespace baru misal temp2, kemudian merubah default tablespace dari temp menjadi temp2, kita rubah kembali default tablespace ke temp dan hapus temp2

SQL> CREATE TEMPORARY TABLESPACE temp2
  2  TEMPFILE '/app/oradata/NEURON/temp2_01.dbf' SIZE 5M REUSE
  3  AUTOEXTEND ON NEXT 1M MAXSIZE unlimited
  4  EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
 
TABLESPACE created.
 
 
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp2;
 
DATABASE altered.
 
 
SQL> DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;
 
TABLESPACE dropped.
 
SQL> CREATE TEMPORARY TABLESPACE temp
  2  TEMPFILE '/app/oradata/NEURON/temp01.dbf' SIZE 500M REUSE
  3  AUTOEXTEND ON NEXT 100M MAXSIZE unlimited
  4  EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
 
TABLESPACE created.
 
 
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
 
DATABASE altered.
 
 
SQL> DROP TABLESPACE temp2 INCLUDING CONTENTS AND DATAFILES;
 
TABLESPACE dropped.

untuk oracle 9i ke atas perubahan ukuran tablespace akan lebih mudah dilakukan
berikut cara untuk meresize temp tablespace :

SQL> SELECT tablespace_name, file_name, bytes
  2  FROM dba_temp_files WHERE tablespace_name = 'TEMP';
 
TABLESPACE_NAME   FILE_NAME                                 BYTES
----------------- -------------------------------- --------------
TEMP              /app/oradata/NEURON/temp01.dbf   2,107,200,000
 
 
SQL> ALTER DATABASE TEMPFILE '/app/oradata/NEURON/temp01.dbf' DROP INCLUDING DATAFILES;
 
DATABASE altered.
 
 
SQL> ALTER TABLESPACE temp ADD TEMPFILE '/app/oradata/NEURON/temp01.dbf' SIZE 512m
  2  AUTOEXTEND ON NEXT 250m MAXSIZE UNLIMITED;
 
TABLESPACE altered.
 
 
SQL> SELECT tablespace_name, file_name, bytes
  2  FROM dba_temp_files WHERE tablespace_name = 'TEMP';
 
TABLESPACE_NAME   FILE_NAME                                 BYTES
----------------- -------------------------------- --------------
TEMP              /app/oradata/NEURON/temp01.dbf      536,870,912

terkadang di sistem operasi windows command DROP INCLUDING DATAFILES tidak menghapus file fisik, untuk memastikannya anda perlu mencek terlebih dahulu, jika belum terhapus, hapus file dengan os Command.