Aynı serverda Aynı homeda Bir database'in duplikesinin Yaratılması
1. Source tarafta
Tüm tablespaceler backup moduna alınır.
alter tablespace Tablespace_name begin backup;
2. Source tarafta
Datafile ler yeni yerine kopyalanır
3. Source tarafta Tablespaceler backup modundan çıkarılır.
alter tablespace Tablespace_name end backup;
4. Source tarafta controlfile 'ın kopyası belli bir yere alınır
alter database backup controlfile to '/PATH/controlfilename.ctl'
5. yeni ORACLE_SID belirlenir
export ORACLE_SID = copyDB
6. Source taraftaki initDBNAME.ora dosyası copy database için hazırlanılır.
cp initSourceDB.ora initCopyDB.ora
7. initCopyDB.ora içinde aşağıdaki değişiklikler yapılır.
db_name adı aynı kalır.
*_dump_dest parametreleri için uygun directörüler verilir
control_files='/PATH/controlfilename.ctl' yapılır
lock_name_space='CopyDB' -- Buradaki en önemli parametre buna göre aynı home aynı isimde iki ayrı database
-- açılabiliyor. Her nekadar obselete olsada. Database mount olduğunda Oracle
-- lklock_name_space adında bir file oluşturarak bu işi yapıyor.
-- lkCopyDB gibi.
8. ORACLE_SID = copyDB iken
sqlplus "/ as sysdba"
startup mount -- yapılarak initCopyDB.ora okunur ve controlfile yeni yerinden belli olur.
alter database mount -- yapılarak kontrol file okunur ve
-- Bundan sonraki amaç Redolog ve datafilelar yeni yerlerine yönlendirilir.
9. Redolog fileların yeni yerine yönlendirilmesi
SQL> select member from v$logfile;
ile memberlar seçilir ve yeni yerlerine alter edilir.
alter database rename file 'member_path' to 'new_member_path';
10. Datafileların yeni yerlerine yönlendirilmesi
select name from v$datafile ;
ile datafiler seçilir ve
alter database rename file 'datafile_path' to 'new_datafile_path' ;
11. Temp file'ın drop edilmesi
select name from v$tempfile; ile seçilir
alter database tempfile 'temp_file_path' drop;
12. Database'in recover edilip açılması
recover database using backup controlfile until cancel;
-- burada bir archive log isterse orginal database'in alter database switch logfile yapılıp yönlendirilir.
alter database open resetlogs;
13. Yeni database 'e temp file eklenir
alter tablespace temp add tempfile 'new_temp_file_path' size xxxxM;
Böylece Aynı serverda Aynı homeda Bir database'in duplikesinin yaratılmış olur.
Bundan sonra istenirse database adı değiştirilebilir nid programı ile
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment