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.

Transportable Tablespace Yöntemi İle Database Taşımak

Bu yöntem taşınacak database ile hedef database’ in işletim sistemleri farklı olduğunda, 32 bitden 64 bite geçilmesi gerektiğinde veya aynı ortamın birebir aynısından bir tane daha oluşturulması gerektiğinde (exp-imp göre oldukça hızlıbir yöntem olduğundan) kullanılabilir. 

Database’ in taşınması ile ilgili olarak yapılacak işlemler ; 

1. Hedef database üzerinde instance create edilir. İnstance create edilme işlemi sonrasında USERS tablespace’ ide otomatik olarak oluştuğundan dolayı (kaynak database den de USERS tablespace’ i alınacağından dolayı burada bu isimde tablespace olmaması gerekmektedir) bu tablespace drop edilir. 
Continue reading

Rman ile bir database’ i farkli bir sunucu üzerine taşımak

Aşağıdaki örnek aslında küçük veya orta ölçekli database’ ler için uygulanabilir bir yöntemdir. Büyük ölçekli database’ ler için tape backuplar üzerinden restore daha optimum bir yöntemdir.

Konuyu iyi anlatabilmek için önce varsayımlarımızı ortaya koyalım;

– Kaynak sunucumuz A ,
– Restore yapılacak sunucumuz Sunucumuz B,
– B sunucusunun ’ nin directory yapısı A ‘dan farklı,
– Bu örnek için oracle versiyonumuz 10gR1,
– ORACLE_SID değişmeyecek (instance name’ imiz PRDTEST olsun),
– Sunucularımızın Linux tabanlı (windows makinalarda kimi komutlarda ufak farklılıklar olabilir)
Continue reading

CORRUPTED Olmuş UNDO Tablespace’ ini Drop Etmek

Rollback Segmentlerini Undo Tablespace’ i otomatik kendisi manage eder. Kimi durumlarda rollback segmentleri corrupt olabiliyor. Böyle bir durum oluştuğunda klasik yollardan undoyu drop – create etmek işe yaramıyor. Üstelik undodaki bu problem den dolayıda sürekli çoğu transaction hata almaya başlıyor. Bu durumu  düzeltmek aşağıdaki gibi bir yöntem izlememiz gerekiyor.
Continue reading

Datafile ‘ in adını Rename Etme & Pathini Değiştirme

Oracle server ürürünü kurarken genelde kurulum esnasında oracle tarafından ORACLE_BASE altına

set edilen oradata dizinine direk kurulum yapanlarınız mutlaka olmuştur. Ancak burası aynı zamanda ORACLE_HOME dizinide olduğundan genelde bu diskin size’ i dbf’ lerin barındırabilecek ölçüde olmadığından dolayı bunları taşımamız gerekebilir. Veya herhangi bir sebebden bir ötürü herhangi bir datafile’ i farklı bir disk üzerinde tutmaya karar verebilirsiniz. Bunun için aslında 2 yöntem var. Şimdi bunları sırasıyla açıklamaya çalışalım;
Continue reading