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.