30 Temmuz 2010 Cuma

Bir Tablespace'i Offline Yapmak

Merhaba,

Temporary (geçici), undo ve system tablespace'lerinin ortak bir özelliği bulunuyor. Bu tablespace'leri offline konumuna alamıyoruz ve hatta system tablespace'ini düşüremiyoruz. Bir tablespace'i offline yapmak istememizin en büyük nedenlerinden birisi bünyesinde bulunan bir datafile'ı başka bir alana taşımak veya yeniden adlandırmak olabilir. Ya da offline olarak yedeğini almak isteyebilirsiniz ki online olarak yedeği alınabilmekte.

Bir tablespace'i offline konumuna getirebilmek için kullanabileceğiniz birkaç offline methodu bulunuyor.

1) Normal: Bir tablespace offline normal konumuna eğer herhangi bir datafile'ında bir hata yoksa alınabilir. Bu komutu gönderdiğiniz zaman Oracle ilgili tablespace'in bütün datafile'larına checkpoint göndererek offline konumuna getirir. Normal son ekini sorgunun sonuna eklemezseniz tablespace normal olarak offline yapılacaktır;

ALTER TABLESPACE TBS_01
OFFLINE [NORMAL];

2) Temporary: Bir ya da birkaç datafile'ınında problem ya da hata olan bir tablespace temporary komutu ile offline konuma çekilebilir. Eğer tablodaki bütün datafile'lar zaten offline ise ve bu komutu yine de göndermişseniz, tablespace'i online yaparken media recovery yapmanıza gerek kalmaz. Ancak bir ya da birden çok datafile'da sorun varsa online yaparken media recovery yapmanız gerekecektir.

ALTER TABLESPACE TBS_02
OFFLINE TEMPORARY;

3) Immediate: Bu komut eklentisi ile Oracle, ilgili tablespace'in datafile'larına bir checkpoint göndermeden offline konumuna çeker. Bu şartlar altında datafile'lar için media recovery yapmak zorunda kalırsınız. Buradaki en önemli nokta ve farklılık ise bir tablespace'i immediate olarak offline yapmak istiyorsanız veritabanınız mutlaka archivelog modda olması gerekiyor. Noarchivelog modda çalışmaktaysanız tablespace'i normal olarak offline yapmanız gerekiyor. Aksi halde olmayan archivelog'lar ile media recovery yapmanız söz konusu değil zaten.

ALTER TABLESPACE TBS_03
OFFLINE IMMEDIATE;

Eğer bir tablespace'i offline yapmak amacındaysanız bunu yapmanın en iyi yolu normal ile yapmaktır. Bu sayede tablespace'i media recovery ile yeniden online yapmanıza gerek kalmayacaktır.

Bir tablespace'i yeniden online yapmak için kullanabileceğiniz komut;

ALTER TABLESPACE TBS_04
ONLINE;

Unutmadan eklemem gerekiyor ki "media recovery" dediğimiz konsept archivelog'ların ilgili tablespace'e işlenerek, datafile'ların yeniden tutarlı hale getirilmesi ve kaldığı yerden devam ederek bağlı olduğu tablespace'in online konumuna getirilmesi diyebiliriz. Aslında bu dediğimden daha fazlası ancak şu an konumuzdaki media recovery'dan kastımız budur. Bir sonraki konuda media recovery'i ele alabiliriz bu durumda :)

İyi çalışmalar.

Ogan

Hiç yorum yok:

Takip et: @oganozdogan