23 Ekim 2010 Cumartesi

UNDO Tablespace’ ini Drop Etmek


Zaman içerisinde undo tablespace’ i çok büyüdüğünde ve resize edilemediği durumlarda drop-create etmek en kolay çözüm olmakta, aşağıda bu işlemin nasıl yapılabileceğini özetlemeye çalıştım. 
var olan undotbs tablespace’ ini ilk olarak drop etmeye çalışırsan; 

DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND datafiles 
-- bu hatayi verdi ./* ORA-30013: undo tablespace 'UNDOTBS1' is currently in use */ 

Çünkü her database mutlaka bir tane undo tbs’ ine sahip olmalı, şu anda bizde var olan o bir tane undo tbs’ ini drop etmeye çalıştığımızdan hata alıyoruz. 

-- önce başka bir undo tablespace yaratmamız lazım; 

CREATE UNDO TABLESPACE "UNDOTBS2" DATAFILE'C:\ORACLE\10.2\ORADATA\PROD\UNDOTBS2_01.dbf' SIZE 100M 
AUTOEXTEND ON NEXT 256K MAXSIZE 5000M RETENTION NOGUARANTEE ; 

-- sonra tekrar drop etmeyi deneyelim; 

DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND datafiles; 
-- ayni hatyi tekrar aldim. /* ORA-30013: undo tablespace 'UNDOTBS1' is currently in use */ 

Çünkü henüz systeme yeni tanıttığımız undo tbs’ ini tanıtmadık, yani undo_tbs2 ile varolan undotbs’ yi switch etmedik. 

ALTER SYSTEM SET Undo_Tablespace=UNDOTBS2 scope=BOTH

-- tekrar drop etmeyi deneyelim,

DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND datafiles
Tablespace dropped.


Kamil TÜRKYILMAZ 

Hiç yorum yok: