Oracle Flashback -1

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 mehmet.deveci@gridgroup.com.tr 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

Mehmet Salih Deveci

I am Founder of IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience.I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource.I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks.I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients.If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress mehmetsalih.deveci@outlook.com.-                                                                                                                                                                                                                                                 -Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  mehmetsalih.deveci@outlook.com a mail atabilirsiniz.

Leave a Reply

Your email address will not be published. Required fields are marked *