Pazartesi

Cold backup'tan veritabanı taşımak


Herhangi bir sebepten dolayı elinizdeki oracle 9 veritabanını farklı bir makineye taşımanız gerekiyorsa, benim yaptıgımı yapabilrisiniz.

Ben once ihtiyacım olan dosyaların cold backup ını alıp sonra yeni makineye kurdugum taze kurulumun üzerine yeni bir init.ora dosyası oluşturarak bu dosyaları indirdim.

Nasıl yapmışım adım adım bakalım:

Öncelikle taşımak istediginiz makinenin işletim sistemi aynı olmalı. Ben solaris 5.8 den 5.9 a taşıdım. Solaris ten windows a taşımak bu yöntemle mümkün degildir. (vice versa)

Aslında metalink ten buldugum notların çok faydası oldu tabi!!

Öncelikle taşımak istedigimiz database e source, taşıyacagımıza da target diyelim.

Source u shutdown immediate ile kapatıp cold backup alacagız .
Alacagımız dosyalar : datafile lar, control file lar ve redo loglar. ve init ora dosyası ve kullanılıyosa spfile dosyası!
Eger bu dosyaların yerlerini bilmiyorsanız database i kapatmadan önce:

datafile lar için
select name from v$datafile;

redo loglar için
select * from v$logfile;

control file için
select * from v$controlfile;

sorgularını çalıştırıp yerlerini not edin.

Şimdi, database i kapadıktan sonra gidip yeni makinede düzgün bir 9.2.0.1 kurulumu yapalım.
Kurulum bitince,
önce eski db ye ait controlfile ları ve init.ora dosyasını yerleştirin. (init.ora oracle_home/dbs klasoru altında olur default olarak.) Tabi init.ora yı bu makinedeki pathlere göre düzenlemeyi unutmayın!
oracle_sid ve oracle_home parametrelerini set edip, sqlplus a girin.
database i startup mount diyerek mount edin.
hatasız mount ettikten sonra; datafile ları ve redologları init.ora da belirttiginz yerlere kopyalayın.

Tabi kurdugumuz yeni database in kendi system.dbf dosyalarını falan atıp tamamen coldbackuptaki datafile ları koyuyoruz ona göre!

simdi redoları ve datafile ları kopyaladıgımıza göre, artık mount durumunda duran sqlplus a giderek; datafile ları ve redologları rename edecegiz.mesela:

alter database rename '/u01/oradata/system01.dbf' to '/u02/oradatayeni/system01.dbf'

redo ve data file ların hepsini tek tek böyle rename ediyoruz.
sonra alter database open
ve hatasız açılıyorsa hayırlı ugurlu olsun taşıma işlemini başardınız demektir.

Hiç yorum yok:

Yorum Gönder