Flashback Data Archive – Geçmiş Verinin Sorgulanması


FDA'nın kullanılabilmesi için önceden tanımlanan işlemler bulunmaktadır. Bunlar;

1) FDA tablespace'leri mutlaka automatic segment space management (ASSM) ile yönetilmelidir. Elle yönetilenleri FDA için kabul edilmemektedir.
2) Automatic undo management mutlaka aktif olmalıdır. Aksi halde FBDA arka plan görevi işlevlerini yerine getiremez.

FDA'yı kullanmak için isterseniz yeni bir tablespace yaratabilir ya da daha önceden var olanını kullanabilirsiniz, burada bir sorun yok. Bu arada Automatic Storage Management (ASM) kullanıyorsanız FDA'nın performansı da artacaktır.

CREATE FLASHBACK ARCHIVE fba1
TABLESPACE tbs1
RETENTION 5 YEAR;

Bu örnekte tbs1 tablespace'i önceden var olan ve ASSM ile yönetilen bir tablespace'ti ve bu tablespace üzerinde fba1 isminde, 5 yıl koruma periyoduna sahip bir FDA oluşturduk. Dikkat ederseniz daha önce bahsettiğim QUOTA bilgisini burada kullanmaktadık. QUOTA argümanını vermezsek varsayılan olarak UNLIMITED olacaktır, yani sınırsız. Tam bu noktada FDA'nın kullanımı için mantıksal bir konteyner tanımlamış ve yaratmış olduk. Zaten tablespace'ler de mantıksal konteyner'lerdir.

CREATE FLASHBACK ARCHIVE fba1
TABLESPACE tbs1
QUOTA 25G 
RETENTION 5 YEAR;

Yukarıdaki işlemi yerine getirebilmek için;

1) FLASHBACK ARCHIVE ADMINISTER yetkisine sahip olmalıyız.
2) DBA/USER_FLASHBACK_ARCHIVE sistem görüntülerinin bulunması gerekiyor.
3) DBA/USER_FLASHBACK_ARCHIVE_TS sistem görüntülerinin bulunması gerekiyor.

Bundan sonra tek yapmamız gereken FDA'yı dilediğimiz tablolar üzerinde aktif halee getirmek ve fda1 ismindeki FDA'yı kullanmak!

ALTER TABLE hr.employees
FLASHBACK ARCHIVE fda1;

Bu aşamadan sonra employees tablosundaki bütün veri değişimleri fda1 ile ilişkilendirilen mantıksal konteyner'de 5 yıl boyunca saklanacaktır. Burada dikkat edilmesi gereken konu daha önce bahsettiğim içsel geçmiş tablosunun henüz yaratılmamış olmasıdır. İlk DML operasyonu ile birlikte ilgili içsel geçmiş tablosu yaratılacaktır.

------Geçmiş Verinin Sorgulanması

FDA sayesinde AS OF veya VERSIONS BETWEEN kullanarak geçmiş veriyi sorgulayabiliriz. Belirttiğiniz retention period süresince bu komutları, tanımladığınız tablo için dilediğiniz gibi kullanabilirsiniz.

SELECT first_name, last_name, salary
FROM hr.employees
AS OF TIMESTAMP TO_TIMESTAMP('16/08/2015 23:55:00','DD/MM/YYYY HH24:MI:SS')
WHERE employee_id = 100;

Örnekler:

ALTER FLASHBACK ARCHIVE fla1 
SET DEFAULT; --> fla1'i varsayılan FDA olarak tanımladık.


ALTER FLASHBACK ARCHIVE fla1
ADD TABLESPACE tbs3
QUOTA 3G; --> fla1FDA'sına tbs3'ü, 3G kota ile ekledik.

ALTER FLASHBACK ARCHIVE fla1
MODIFY TABLESPACE tbs3
QUOTA 5G; --> tbs3 tablespace'inin FDA kotasını 3'den 5 GB'ye çıkarttık.

ALTER FLASHBACK ARCHIVE fla1
PURGE ALL; --> fla1'in bütün geçmiş verisini sildik.

ALTER FLASHBACK ARCHIVE fla1
PURGE BEFORE SCN 32489234; --> 32489234 SCN'sinden önceki bütün geçmiş verisini sildik.

DROP FLASHBACK ARCHIVE fla1; --> fla1 FDA'sını sildik.

ALTER TABLE hr.employees
NO FLASHBACK ARCHIVE; --> employees tablosundaki FDA'yı kaldırdık.

Deta Bilgi: http://www.oganozdogan.com/2011/08/flashback-data-archive-total-recall.html

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: