Flashback Recovery

Enable flashback database :Tüm VT yi önceye alabiliyor. FlashBack aktif edilmese bile...

Enable flashback database :Tüm VT yi önceye alabiliyor. FlashBack aktif edilmese bile tablo bazında geri getirmeler kullanılabilir. FlashBack in aktif edilmesi ciddi performans kaybettitirir çünkü VT flashback logllara da yazmaya başlıyor.
Not : Bir tablonun yarım saat oncesine alınmasını sağlayan undo dır. (undo retention time).

undo retention : insert/update commit edene kadar undo da durur. FlashBack i destekleyebilmek için commit edilse de retention time kadar bilgi saklanıyor.

FlashBack in 2 aşaması var
1- Undo, tablo bazında onceki verileri gorebilme ve geriye getirme işlemleri için kullanılabilir.
2- FlashBack logging enable edilerek, tüm VT’ yi yarım saat onceye almak mümkün.

where koşulu unutuldugu için tüm tablo değiştirildi bunun için 09:25 donmek lazım. Tüm çalışanların maaşı 1000 oldu
as of timestamp = tablonun önceki halini flashback özelliği ile undo dan görüntüler. Undo retention süresi kadar geri gidilebilir.

Tablo yapısı değiştirildi ise eski durum görülemiyor. (Bu sorguları 9i de destekler)

20 dakika önceki veriyi girmek için

Örneğin : Kullanıcı yanlışlık bazı kayıtları silmiş olabilirim diye geldi
kontrol ediyoruz.

1 kayıt yok
20 dak öncesinin kayıtlarının getirir.

Eksik kaydı bulalım

Eksik kaydı girelim.

Tablo drop

Drop edilen tablonun geri getirilmesi (bunu sağlayan undo retention)

SCN’ye göre (system change number) geriye dönme

1 row deleted.

Tabloyu 1 gün öncesine çevirmek için

Öncesinde tablo bazında row movement enable edilmesi gerekebilir.

DBMS_Flashback

grant execute on dbms_flashback to hr ;

emp tablosundaki 106 kayıt silindi

Bu şekilde tüm tabloları geriye alıyor yani session da geri gidiyor.

ile normal zamana dönülüyor

no rows selected