ASM’ e Assign Edilmiş Bir Diskgroup Nasıl Rename Edilir

ASM’ e create edilmiş olan bir diskgroup’ un ismini nasıl değiştirebiliriz bunu testini yapıyor olacağız.
Aslında bu yazının başlığı içerik ile tam olar3ak örtüşmedi. Bu yazıda anlatılmak istenen temel amaç bir diskgroup nasıl rename edileceği olsa da, bu yazı ile birlikte ;

• Bir diskgroup nasıl rename edilir,
• ASM database’ inin spfile’ i nasıl farklı bir diskgroup altına taşınır,
• OCR/Voting diskler nasıl farklı bir diskgroup altına taşınır,
• Cluster servislerinde değişiklikler nasıl yapılır,
• RAC instance’ nın controlfile’ leri nasıl farklı bir diskgroup altına taşınır,
• RAC instance’ nın datafile ve redologları nasıl rename edilir,

gibi sorulara da bu yazıda cevap veriyor olacağız. Yazı içerisinde bu işlemi yaparken karşılaşılması muhtemel sorunlarıda anlattığımdan dolayı bolca hatalar ve bu hataların nasıl çözüleceği ile ilgili çözüm yöntemlerini göreceksiniz.

Bunun için oracle’ ın renamedg tool’ undan faydalanıyor olacağız. Komutun hangi parametreleri aldığını ve syntax’ ını aşağıda detaylı olarak görebilirsiniz.

Şimdi ilk rename denememizi oragrid userı ile aşağıdaki komutla yaparak başlayalım ;

KDNDG-00405 hatası aldık. Bu hatanın kimi zaman nedeni asm_diskstring parametresinde disk path’imizin doğru set edilmemesinden kaynaklanıyor olabilir. Önce aşağıdaki komutla bunu update edelim (aslında asm_diskstring initial parametresindeki değeri kontrol ettiğimde bu parametrenin doğru olduğunu görmüştüm ama bu tarz bir case’ e denk gelirseniz aklınız da olsun diye buraya eklemek istedim);

Şimdi sırası ile aşağıdaki adımları yapmaya çalışalım ;

Rename etmeye çalıştığımız diskgroup ‘ u dismount edelim (her bir node ‘ da);

Dismount olduğundan aşağıdaki komutla emin olalım ;

Tekrar deniyelim ;

Aynı hatayı almaya devam ediyoruz. Bu diskgroup içerisinde neler var diye kontrol edelim;

Problemin kaynağını ile ilgili bir tespitimiz daha var, rename etmeye çalıştığımız disk group’ u içerisinde asmparameter file’ in olmaması gerekiyor. Şimdi bunu farklı bir diskgroup altına taşıyarak rename işlemini tekrar deniyelim ;

Şu anda spfile ‘ in full path’ ini görmek için ;

Yeni bir initfile oluşturup bundan bir spfile oluşturalım ;

Asmcmd üzerinden yeni file’ i görebildiğimizi teyit edelim ;

Spfile’ i taşımış olduk şimdi cluster servisisi restart edelim ;

Spfile ‘ in şu anki yeri ;

Eski parametre dosyasını artık silebiliriz ;

Son olarak rename edilecek olan diskGROUP içerisinde OCR ve Voting disklerinin de olmaması gerekiyor. Ocr file’ ini görmek için ;

Voting disklerinin path’ ini görmek için ;

Voting disklerimiz ismini rename etmek istediğimiz diskgroup’ da olduğu için bunlarıda burdan taşımamız gerekiyor;

Tekrar kontrol edelim ;

Rename işlemini tekrar deniyoruz;

Asmcmd ile diskleri tekrar kontrol ettiğimiz de ilgili diskgroup’ unun isminin değiştiğini görüyor olmamız gerekiyor;

ASMCMD> ls
ARCH1/
DATA1/
DATA2/
DATA3/
DATA4/
REDO1/
REDO2/
ASMCMD>

Bi sürü hatadan sonra diskgroup’ umuzu rename etmeyi başardık.Buraya kadar herşey doğru gözüküyor. Şimdi database’ imizi start etmeye çalıştığımız da ;

Hatasını alırız. Çünkü database cluster servisimiz henüz hala eski isimdeki disk group’ unu arıyor ve bulamadığı içinde hata veriyor. Database ‘ in config’ lerine baktığımız dada bu durumu gözlemleyebiliriz ;

Şimdi cluster’ da da bu isim değişikliğini yapmaya çalışalım ;

Database ‘i açmaya çalıştığımız da alert logda ;

Rename ettiğimiz diskde controlfile’ imiz olduğu için ve diski de o isimde aradığı için db’ i açamıyoruz, parametreyi alter ederek yeni diski gösterelim ;

Maalesef henüz işimiz bitmedi  Aynı controlfile ‘ de olduğu buradaki tüm dbf ve redologlar içinde bu değişikliği yapamız lazım. Aksi takdirde ;

Hatasını alırız. Şimdi gerekli düzeltmelerimzi yapalım ;

+DATAXX_0000 diskgroup’ una olan tüm file’ leri rename ediyoruz;

Şimdi tekrar açmaya çalışıyoruz ;

Bir diskgroup’ u rename etmek isterken bunların dışında başka ne ile karşılabilirsiniz bilemedim. Sanırım bayağa kapsamlı bir test oldu 🙂

Be Sociable, Share!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


2 + üç =