Oracle Dataguard Mimarisi
Dataguardın senkron olarak iki çeşidi vardır.
Synch: Felaket durumunda sıfır veri kaybıdır. Commit edilen her veri Standby’da arch işleme durumunu bekler, arch apply edildikten sonra veri commit edilmiş olur. Performans dusuktur.
Asynch: Commit edilen her veri standby da işlenip işlenmediğinin kontrolü yapılmaz. Avantajı hızlıdır sıfır veri kaybı garanti etmez
Maximum Availability |
Maximum Performance |
Maximum Protection |
---|---|---|
AFFIRM |
NOAFFIRM |
AFFIRM |
SYNC |
ASYNC |
SYNC |
DB_UNIQUE_NAME |
DB_UNIQUE_NAME |
DB_UNIQUE_NAME |
Dataguard 3 secenek sunuyor.
- Maximum Performance: Aysnc redo transferi sağlar. Performans iyi, veri kaybı garantisi vermez.
- Maximum Availability: Felaket durumunda sıfır veri kaybı garantisi vardır. Standby da olası bir durumda meydana gelen herhangi bir sorunda primary db net_timeout parametresi zaman olarak kaça set edilmişse o sureyi bekler standby dan cevap gelmezse commiti uygular
- Maximum Protection: Availabiliy seçeneği ile aynıdır. Sıfır veri kaybını garanti eder. Tek fark Net_timeout parametresi kullanılmaz. Standby da olası bir sorunda primary db commit etmez. Kullanıcıya hata mesajı atar
Ayarlamalar
Primary db de
alter system set log_archive_dest_2=’SERVICE=orcldg NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcldg
alter system set log_archive_dest_2=’SERVICE=orcldg AFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcldg
alter system set log_archive_dest_2=’SERVICE=orcldg LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) NET_TIMEOUT=30 REOPEN=50 DB_UNIQUE_NAME=orcldg;
ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE (AVAILABILITY, PERFORMANCE, PROTECTION);
Net_Timeout= Default 30 saniyedir. Maximum Availability de kullanılır. Stanby dan gelecek yanıt bekleme süresi
Reopen= Basarısız arch log bekleme süresi. Bu süre sonunda std tarafından işlenmeyen arch tekrar işlenmeye çalışılır
Maximum Performance ve Maximum Availability Testi
Test isimli bir user oluşturuldu ve TBS tablespace’ini kullanıyor
Deneme1 isimli bir tablo yaratıldı. Deneme1 tablosuna aşağıdaki kayıtlar girildi
Datafile boyutu 5.75 gb
BEGIN
FOR I IN 1..5000000
LOOP
INSERT INTO TEST.deneme1 VALUES (I, ‘Oracle DENEME1’);
END LOOP;
COMMIT;
END;
Sonuç
Maximum Performance olarak çalışan dataguard
Tablo yaratma süresi: 10dk 07sn
Maximum Availabiliy Mode’ da çalışan dataguard
Tablo Yaratma süresi: 15dk 57 sn
Performance mode ile Sıfır Veri Kaybı Modu arasında 5dk lık bir fark mevcut