Veritabanımızın son alınan mevcut backup'ından yeni bir test ortamı oluştururken hazırladığım aksiyon planını aşağıdaki gibi paylaşmak istedim. Eklemek istediğiniz veya yanlış olduğunu düşündüğünüz hertürlü konuyu paylaşırsanız sevinirim.
Tanımlar:
prd: kopyası oluşturalacak production sistemi
prdserver: production veritabanı server ı
test: oluşturulacak test sistemi.
testserver: test veritabanı server ı
catalogdb: rman katalog bilgilerinin bulunduğu veritabanı
catdbserver: katalog veritabanı server ı
Test ortamında listener düzenlemesi:
* oluşturulacak test ortamının mevcut listener.ora dosyasına aşağıdaki satırlar eklenir.
(SID_DESC =
(GLOBAL_DBNAME = prd)
(ORACLE_HOME = /app/oracle/product/11.1.0/db_1)
(SID_NAME = prd)
)
TNS tanımlarınını yapılması:
* test ortamının tnsnames.ora dosyasına catalog ve prod veriabanlarının tns tanımları eklenir.
catalogdb =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = catdbserver)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = catalogdb)
)
)
PRD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = prdserver)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = prd)
)
)
test ortamında init.ora'da düzenleme yapılır:
Controlfile’ların yeni path’i neresi olacaksa init.ora dosyasında düzenlenir. db ve log file'larının yerleri değiştirilecekse init.ora dosyasına ilgili convert satırları eklenir.
....
*.control_files='/app/oracle/oradata/test/controlfile01.bak','/app/oracle/oradata/test/controlfile02.bak'
DB_FILE_NAME_CONVERT=(/app/oracle/oradata/prod/,/app/oracle/oradata/test/)
LOG_FILE_NAME_CONVERT=(/app/oracle/oradata/prod/,/app/oracle/oradata/test/)
....
test ortamında passwordfile create edilir:
orapwd file=orapwprd password=syspass entries=10
test sistemine en son alınan produciton backup'ı kopyalanır:
scp /prd/dump/DBBACKUP/PRD_dbf_bck_690234592_64.rman oracle@testserver:/prd/dump/DBBACKUP
scp /prd/dump/DBBACKUP/PRD_archlog_bck_690235138_66.rman oracle@testserver:/prd/dump/DBBACKUP
scp /bnprd/dump/DBBACKUP/snapcf_prd.f oracle@testserver:/prd/dump/DBBACKUP
prod ortamında son alınan backup’tan sonra üretilen archive dosyalarının da backup’ı alınarak test ortamına gönderilir.
rman target / catalog rcowner/rcpass@catalogdb
RMAN> sql 'alter system archive log current';
RMAN> backup FORMAT '/prd/dump/DBBACKUP/%d_archlog_bck_%t_%s.rman' ARCHIVELOG ALL DELETE INPUT;
scp /prd/dump/DBBACKUP/PRD_archlog_bck_690235138_66.rman oracle@testserver:/prd/dump/DBBACKUP
scp /prd/dump/DBBACKUP/snapcf_prd.f oracle@testserver:/prd/dump/DBBACKUP
test ortamında SID'yi test olarak set edilip umount modda açılır:
startup nomount;
Rman ile prod ve catalog db'e bağlanılır:
rman target sys@prd catalog rcowner/rcpass@catalogdb AUXILIARY /
test ortamını backup'tan duplicate edilir:
DUPLICATE TARGET DATABASE TO test;
Bu işlemin başarılı ile bitmesinin ardından database test ortamı oluşturulmuştur. Güvenlik önlemi olsun diye mevcut database link'ler drop edilebilir. Aynı zamanda şifre bilgilerini de resetleyerek herhangibir şekilde production'a gitmek isteyenlerin yanlış veritabanına bağlanması önlenmiş olacaktır.
İşinize yaraması dileğiyle.
Yorumlar