Senaryo :
-VT archive modda olacak
-VT’ yi kapatıp oradatanın yedegini alacağız
-VT’ yi açıp ” select * from v$log; ” ile şu andaki sequence no yu alacağız
–alter system switch log file;
ColdBAckup alıyoruz
1 2 3 |
SQL> shutdown immediate ; oracle@dataera.com~ $cp data/* /yedek-data SQL> startup |
sqlplus ile bağlanıp veri girişi yapıp archivelog üretiyoruz.
1 2 3 4 |
SQL> create table hr.ColdBackUpTest 2 ( 3 isim varchar2(20) 4 ); |
1 2 |
SQL> insert into hr.ColdBackUpTest (isim) values('deneme'); SQL> insert into hr.ColdBackUpTest values('deneme'); |
1 2 3 |
SQL> commit ; SQL> alter system switch logfile; SQL> shutdown abort; (farz edelim elektrikler kesildi) |
Senaryoya uygun olması için datafile ları siliyoruz
1 2 3 |
oracle@dataera.com~ $ rm *.dbf not : MS sistemlerde vt yi kapatmadan ve sqlplus dan cıkmadan silme işlemine izin vermiyor. unix/linux sistemlerde böyle bir sorun yok. |
VT yi açıyoruz, mount da kalıyor.
-coldbackup dan sadece *.dbf leri dosyaları yerine kopyalıyoruz
cp yedek-data/*.dbf data
1 |
SQL> alter database open; |
1 2 3 4 5 |
SQL> alter database open * ERROR at line 1: ORA-01113: file 1 needs media recovery ORA-01110: data file 1: '/oracle/oradata/data/system01.dbf' |
1 |
SQL> recover database ; |
soru sorarsa AUTO seçilebilir.
1 |
SQL> alter database open |
Test edilir.
1 |
SQL> select * from hr.coldbackuptest ; |
Verilerin geldiğini görürürüz. cold backup da bu tablo yoktu archive loglardan alındı.
Oracle Recovery Manager...
12 Mart 2019