Merhaba Arkadaşlar,
Bu yazımda sizlere Oracle ın mükemmel özelliklerinden birisi olan Flashback teknolojisini anlatıyor olacağım.
Flashback teknolojisi oracle 10g ile birlikte gelmiştir. Bu teknoloji sayesinde veri kayıpları önlenmeye çalışılmıştır. Flashback sayesinde veritabanımızı geçmiş ve gelecek arasında getirip götürebiliriz. Ve bunlara read only modda sorgu çekebiliriz.
Oracle da kullanabildiğimiz flashback çeşileri aşağıdaki gibidir.
- Flashback Database
- Flashback Table
- Flashback Query
- Flashback Version Query
- Flashback Transaction Query
- Flashback Data Archive
Flashback teknolojisini kullanabilmek için veritabanımız kesinlike arşiv modda olmalıdır. Veritabanımızın arşiv modda olup olmadığını şu sorgu ile öğrenebiliriz.
Select log_mode from v$database;
Sorgunun sonucu archivelog çıkarsa veritabanımız arşiv moddadır. Eğer noarchivelog çıkarsa arşiv modumuz kapalı demektir. Noarchivelog tan archivelog moda almak için aşağıdaki adımlar yapılmalıdır.
Shutdown immediate; Startup mount; Alter database ARCHIVELOG; Alter database open;
Eğer flashback database teknolojisini kullanmak istiyorsak flashback_on parametresini yes yapmamız gerekiyor. Parametrenin değerini öğrenmek içi aşağıdaki sorguyu çekiyoruz.
Select flashback_on from v$database; Eğer no geliyorsa yes duruma getirmek için mount modda şunu çalıştırıyoruz. Alter database flashback ON;
Bu komutu 10g de mount modda çalıştırmamız gerekliydi. Fakat 11g ile open modda çalıştırılabilir hale geldi.
Flashback parametresi 3 çeşit değer alabilir. Bunlar yes,no ve restore point only değerleridir. Restore point only daha çok snapshot database lerde kullanılır. Flashback logların tutulduğu yer olan fast recovery area nın boyutunu aşağıdaki formülle belirleyebiliriz.
FRA=(REDO + FB_BUFFER) * FB_RETENTION + ARCH_ON_DISK + ARCH_BUFFER
REDO: 1 günlük redo
FB_RETENTION: Flasback retention gün bazında. Örn: 7 günse 7 dir.
FB_BUFFER: Günlük redo * %20
ARCH_ON_DISK: Günlük arşiv boyutu * kaç günlük tutuluyorsa
ARCH_BUFFER: 1 günlük arşiv boyutu.
Bu boyutu aşağıdaki sorgu ile bulabiliriz.
Select start_Date, sum( Round(Num_Logs * (Vl.Bytes / (1024 * 1024)), 2)) AS Mbytes FROM (SELECT To_Char(Vlh.First_Time, 'YYYY-MM-DD') AS Start_Date, To_Char(Vlh.First_Time, 'HH24') || ':00' AS Start_Time, COUNT(Vlh.Thread#) Num_Logs FROM V$log_History Vlh GROUP BY To_Char(Vlh.First_Time, 'YYYY-MM-DD'), To_Char(Vlh.First_Time, 'HH24') || ':00') Log_Hist, V$log Vl, V$database Vdb WHERE Vl.Group# = 1 GROUP BY start_date ORDER BY start_date
Örnek çıktı şu şekildedir.
START_DATE MBYTES---------- ----------2010-01-19 311002010-01-20 361002010-01-21 16500
Şimdi örnek olarak hesaplamak gerekirse
REDO: 1 ay içerisinde en fazla 108G üretmiş. FB_RETENTION: 7 gün FB_BUFFER: 108 * %20=22G ARCH_ON_DISK=120G * 2 = 240G FRA = (108G + 22G) * 7 + 240G + 240G = 1271G olmalıdır.
Flashback çeşitlerinin neleri kullandığına bakacak olursak şöyle diyebiliriz.
Flashback Database -> Flashback logları kullanıyor. Bunun için flashback retention parametresi önemlidir.
Flashback Drop -> Recycle bin kullanılıyor. Recycle bin boyutu ile ilgilidir.
Flashback Table -> Geçmiş dataya baktığı için undo ile ilgilidir. Bunun için undo retention parametresi önemlidir.
Flashback Query -> Yine geçmişteki dataya baktığı için undo parametresi önemlidir.
Flashback query bütün edition larda olmasına karşılık. Diğer özellikler(flashback table, flashback database, flashback transaction query) sadece enterprise edition kullanıcıları için geçerlidir.
Bunun dışında flashback data archive 11.2.0.4 ten önceki db ler için oracle advanced compression lisansi gerektirirken. 11.2.0.4 ve sonrakiler için böyle bir lisans sorunu bulunmamaktadır.
Flashback Parametreleri
Db_Flashback_Retention_Target : Veritabanızımı kaç dakika geri götürebileceğimizi belirleyen parametredir. Değerini aşağıdaki komut ile öğrenebiliriz.
Show parameter Db_Flashback_Retention_Target
Yada
Select name,value from v$parameter where name like '%db_flashback_retention_target%';
Parametreyi değiştirmek için aşağıdaki komutu çalıştırıyoruz.
Alter system set db_flashback_retention_target=900;
Bu parametre ile 900 dk yani 15 saatlik bir süremiz oluyor.
Db_Recover_File_Dest_Size : Veritabanımızın yedek alma ile ilgili olan archivelog dosyalarını attığımız yerin büyüklük parametresidir. Bu parametreyi aşağıdaki gibi komutlarla öğrenebiliriz.
Show parameter Db_Recover_File_Dest_Size
Yada
Select name,value from v$parameter where name like '%db_recovery_file_dest_size%';
Değiştirmek için aşağıdaki komutu çalıştırmamız gerekir.
Alter system set db_recovery_file_dest_size=50G;
Yukarıdaki komut ile boyutu 50 Gb olarak ayarladık.
Retention target ile dest_size parametrelerini ayarlarken hesaplayarak ayarlamalıyız. Örneğin, retention 1 hafta boyut 10gb ise ve boyut 1 günde doluyorsa retention target parametresinin 1 hafta olmasının bir değeri kalmıyor.
Db_Recovery_File_Dest: Flashback te kullanılacak bilgilerin nerede tutulacağını belirler. Değerini aşağıdaki komut ile öğrenebiliriz.
Show parameter Db_Recovery_File_Dest
Yada
Select name,value from v$parameter where name like '% Db_Recovery_File_Dest %';
Parametreyi değiştirmek için aşağıdaki komutu çalıştırıyoruz.
Alter system set db_recovery_file_dest=’/u01/oracle/recovery’;
Böylece bu yazımın sonuna gelmiş bulunmaktayız bir sonraki yazıda Flashback e devam edeceğiz.
Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi İhtiyacınız var [email protected] adresine mail atarak Bizimle iletişime geçebilirsiniz.
– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri