RAC veritabanlarında , veritabanı id ve veritabanı adının değiştirilmesi

24 Eki by Ahmet Duruöz

RAC veritabanlarında , veritabanı id ve veritabanı adının değiştirilmesi

Bu makalede RAC şeklinde çalışan bir veritabanının id ve adının değiştirilmesi , öncesinde ve sonrasında hangi işlemlerin yapılması gerektiği anlatılmaktadır.

Örneklerde ismi ORCL olan veritabanının adının TEST olarak değiştirilmesi için gerekli işlemler yapılmıştır.

Öncelikle cluster_database parametresinin değerini false olarak değiştirerek işe başlayalım.

Veritabanımızı bir node üzerinden mount modda başlatalım.

nid aracı ile veritabanı id ve isim bilgisini değiştirelim. DBNAME ile yeni veritabanı adını belirtiyoruz.

db_name parametresinin değerini yeni veritabanı ismi olacak şekilde değiştirelim.

Tüm node’larda $ORACLE_HOME/dbs dizini altındaki ilgili initSID.ora dosyasının adını initYENISID.ora oalcak şekilde değiştirelim.

Yeni şifre dosyasını oluşturup tüm node’lara dağıtalım.

Tüm node’larda listener’ların yeni veritabı ismini görmesini sağlayalım.

Yeni SID ortam değişkenleri ile veritabanını mount modda başlatıp, resetlogs olacak şekilde açalım.

cluster_database parametresini eski haline alıp, veritabanımızı tüm node’larda açalım.

Mevcut veritabanı konfigürasyonumuzu kontrol edelim.

Kullanılmakta olan spfile dosyasından pfile oluşturup, bu pfile da instance bazlı ayarlanmış parametrelerdeki * dan önceki SID değerinin yeni SID olacak şekide değiştirdikten sonra yeni spfile dosyasını oluşturalım.

CRS tarafında yeni veritabanı ve instance’ları oluşturalım.

Yeni isimle oluşturulan veritabanı başlatalım.

CRS de eski isimle kayıtlı instance ve veritabanını silelim.

Bu aşamada , db_name ve db_unique_name parametreleri yeni isim olması beklenmektedir. ASM disk grupları içinde yeni isimle dizinler otomatik oluşması beklenmedir.

Veritabanımızı mount modda açıp, mevcut datafile’ların yeni ASM dizininde oluşmasını sağlayıp, eskilerini silelim.

Veritabanımızı tüm node’larda başlatalım.

Datafile’ları sorguladığımızda hepsi ASM diskgrubundaki yeni veritabanı adıyla oluşmuş dizin altında görüldüğünden emin olalım.

Mevcut controlfile’ları ASM diskgrubundaki yeni veritabanı adıyla oluşmuş dizin altında taşıyalım.

Mevcut control_files parametresini , bir adet eski controlfile ve oluşmasını istediğimiz disk grupları isimlerini içerecek şekilde değiştirelim.

Veritabanımızı nomount modda başlatıp , restore controlfile işlemi ile yeni controlfile’ların oluşmasını sağlayalım.

Yukarıdaki adımda oluşan yeni veritabanı dizini altındaki (örnek : test) controlfile’lar ile mevcut control_files parametresini değiştirelim.

Veritabanımızı başlatarak, yeni controlfile’ları kullandığından emin olalım.

Daha önceki adımlarda spfile’ı ASM içindeki eski veritabanı adı altında yeni ismiyle oluşturmuştuk. Bu adımda yeni dizin altında yeni ismiyle tekrar oluşturacağız.

Spfile değişimi sonrasında veritabanı konfigürasyonu değiştirerek yeni spfile’ı kullanmasını sağlayalım.

Veritabanımızı kapatıp, tüm nodelardaki $ORACLE_HOME/dbs/initSID.ora dosyasındaki ilgili satırın bir önceki adımda veritabanı konfigürasyonunda belirttiğimiz spfile’ı gösterecek şekilde değiştirelim.

Veritabanımızı açıp , konfigirasyonda yeni spfile’ın görüldüğünden ve yeni spfile ile açıldığından emin olalım.

Son olarak mevcut temp tablo alanının yeniden oluşturarak, ASM’deki yeni dizini kullanmasını sağlayalım.

ASM disk grupları içindaki eski veritabanı ismiyle oluşmuş dizinleri silelim.

Son kontrollerimizi yapalım. Tüm datafile ve tempfile’ların ASM deki yeni dizin altında olduğundan emin olalım.

NOT : redolog lar otomatik olarak ASM’deki yeni dizin altında oluştuğundan , manuel olarak yeniden oluşturulmamıştır.

Bir cevap yazın

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

Lütfen captcha kodunu giriniz *

Lütfen Resimdeki Kodu Boşluğa Giriniz.