Me-Resize ukuran Temporary Tablespace
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.
| Print article | This entry was posted by gatotkaca on December 29, 2008 at 2:53 pm, and is filed under Oracle. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |