Pages

18 Ocak 2011 Salı

Primary veritabanında en uygun veri koruma yönteminin seçimi

Standby veritabanında redo boşluklarının olmaması için primary veritabanı üzerinde uygun veri koruma modunun seçimi gerekmektedir. Oracle Dataguard mimarisinde üç çeşit veri koruma modu vardır.

  • Maksimum uygunluk
Bu koruma modu primary veritabanının erişilebilirliğinde taviz vermeden en yüksek seviyede veri koruma seviyesini belirtir. İşlemler, herhangi bir çökmede geri kurtarmayı sağlayacak verinin online redo log dosyalarına yazılmadan ve bu redo log dosyalarının en azından bir standby veritabanına senkronize olmadan COMMIT işlemine izin vermez. Bu mod sıfır veri kaybı sağlar, ancak birkaç saniyelik düşmeler redo veri setlerinin standby veritabanına taşınmasını engellemez ve bu birkaç saniyelik düşmelerin olduğu zaman zarfında veri kaybı yaşanma ihtimali yüksektir.

  • Maksimum performans
Bu koruma modu primary veritabanının performansını etkilemden un yüksek seviyede veri koruma seviyesini belirtir. İşlemler, online redo log dosyasına yazılır yazılmaz COMMIT olur. Redo verisi daha sonra eşzamanlı olmadan standby veritabanına yazılır. Böylece bu mod aktifken, primary veritabanı eşzamanlı redo taşıması esnasındaki gecikmelerden kaynaklanan performans sıkıntısını yaşamaz. Bu mod varsayılan koruma modudur ve primary veritabanı performansı üzerinde etkisi sınırlıdır.

  • Maksimum koruma
Bu koruma modu primary veritabanı çöktüğü zaman sıfır veri kaybını sağlar. İşlem commit olmadan önce aynı maksimum uygunluk modunda olduğu gibi hem primary redo log dosyalarına yazılmalı hemde en az bir standby veritabanına yazılması gerekmektedir. Veri kaybının yaşanmaması eğer redo dosyalarını en az bir standby veritabanına yazamazsa primary veritabanı kendini kapatır, böylece veri kaybı ihtimalini ortadan kaldırır. En az 2 standby veritabanı kullanıldığı Dataguard mimarilerinde bu modun seçimi tavsiye edilir.

Primary veritabanında veri koruma modunu değiştirmek için aşağıdaki adımları izleyebilirsiniz.

  1. Aşağıdaki tablodan uygunluk, performans ve veri koruma isteklerinizi karşılayacak modu seçiniz.
Maksimum Uygunluk
Maksimum Performans
Maksimum Koruma
AFFIRM
NO AFFIRM
AFFIRM
SYNC
ASYNC
SYNC
DB_UNIQUE_NAME
DB_UNIQUE_NAME
DB_UNIQUE_NAME


  1. Redo taşıma hizmetinin en azından bir standby veritabanında etkinleştirildiğinden emin olun. LOG_ARCHIVE_DEST_n başlangıç parametresi değeri yukardaki tablodaki en uygun mod için listelenen redo taşıma değerlerini almalıdır.
LOG_ARCHIVE_DEST_2='SERVICE=orclprm ASYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILE, PRIMARY_ROLE) REOPEN=5 COMPRESSION=ENABLE DB_UNIQUE_NAME=orclprm'

Örneğin; yukardaki standby veritabanında ASYNC parametre değeri redo taşıma hizmetinin eş zamanlı olmayacağını, redo logların arşivlendikten sonra standby veritabanına senkronize edileceğini, NOAFFIRM değeri ile kaynak veritabanında alınan redo dosyasının standby veritabanına yazılana kadar doğruluğunun sağlanmayacağını, böylece read-only standby veritabanlarında yapılan raporlamalarda bu verilerin işleme sokulmayacağını garantiye alır. VALID_FOR değeri ise standby sunucu primary olarak rol değiştirdiği zaman kendisinin primary olduğunu ve bu durumda sadece online redo dosyası taşıma hizmeti sunacağını işaret eder. REOPEN değeri ise primary ile arasındaki bağlantı bir şekilde koptuğunda ne kadar dakika sonra yeniden bağlantı denemesinin yapılması gerektiğini belirtir. Eğer compression etkin ise primary üzerinde akan redo verileri sıkıştırılmış olarak gelecek ve buda network bant genişliğinde rahatlama sağlayacaktır.

  1. DB_UNIQUE_NAME başlangıç parametresinin hem primary veritabanında hemde standby veritabanında servis ismini işaret ettiğinden emin olun.
Primary veritabanında;
SQL> ALTER SYSTEM SET DB_UNIQUE_NAME='orclprm' SCOPE=SPFILE;

Standby veritabanında;
SQL> ALTER SYSTEM SET DB_UNIQUE_NAME='orclstdby' SCOPE=SPFILE;

  1. LOG_ARCHIVE_CONFIG başlangıç parametresinin hem primary hem standby sunucularda ilgili DB_UNIQUE_NAME değerinin DG_CONFIG listesi içinde eklendiğinden emin olun.
Hem primary hemde standby veritabanlarında;
SQL> ALTER SYSTEM SET
     2> LOG_ARCHIVE_CONFIG='DG_CONFIG=(orclprm,orclstdby)';

  1. Primary veritabanını kapatıp MOUNT modda tekrar başlatın.Eğer RAC kullanılırsa tüm instancelerı kapatın ve tek bir instanceı MOUNT modda başlatın.
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;

  1. Uygun veri koruma modunu etkinleştirin.Eğer RAC kullanıyorsanız durdurduğunuz instancelerı tekrar başlatın.
SQL> ALTER DATABASE
     2> SET STANDBY DATABASE TO MAXIMIZE {AVAILABILITY |   
          PERFORMANCE | PROTECTION};

  1. Primary veritabanını tekrar başlatın.
SQL> ALTER DATABASE OPEN;

  1. Primary veritabanının yeni modda çalıştığını kontrol ediniz.
SQL> SELECT PROTECTION_MODE FROM V$DATABASE;

0 yorum:

Yorum Gönder