Cara Recovering (pemulihan) Standby Database Oracle Menggunakan Backup Incremental



Untuk kejadian ini sering kali terjadi jika dataguard oracle tidak sync dan archivelognya sudah tidak ditemukan di primary maupun di standby database. Berikut caranya :
1. Database primary :
Membuat standby controlfile dari database primary :
alter database create standby controlfile as '/xxx/xxx/standby_control.ctl';

*/xxx/xxx adalah path yang akan kita letakan controlfile


2. Database standby :
Melihat nomor scn terakhir yang nantinya akan kita backup dari primary database :
caranya ada 2 :
a. Menggunakan curren_scn dari v$DATABASE
SELECT TO_CHAR(current_scn) FROM V$DATABASE;

b. Menggunakan min(fhscn)
SELECT min(fhscn) FROM x$kcvfh;

Pilih salah satu dari kedua scn diatas


3. Database primary :
Masuk rman, lalu backup incremental sesuai scn yang sudah kita dapat dilangkah kedua.
backup incremental from scn 10798607075930 database format '/xxx/xxx/backup_increment_%U';


4. copy controlfile dan backup yang ada di database primary ke database standby. (bisa menggunakan scp atau rsync)
scp -rp /xxx/xxx/ oracle@(ipdatabasestandby):/xxx/xxx/
    rsync -avz /xxx/xxx/ oracle@(ipdatabasestandby):/xxx/xxx/

5. Database standby :
a. Shutdown database
shutdown immediate;
b. Startup nomount
startup nomount;
c. Restore controlfile menggunakan controlfile yang tadi kita copy
rman target /
restore controlfile from '/xxx/xxx/standby_control.ctl';
d. ubah database ke mount mode
alter database mount;
e. Pastikan MRP tidak sedang berjalan
alter database recover managed standby database cancel;
f. Recover database standby menggunakan rman
rman target /
catalog start with '/xxx/xxx/';
recover database noredo;
f. aktifkan MRP agar standby database sinkron lagi
alter database recover managed standby database disconnect from session;

6. Selesai
Load disqus comments

0 komentar