Blog ' da Ara

Loading

15 Mayıs 2012

Oracle Data Guard Architecture



Oracle teknolojilerinin işletmeler tarafından en önemli kısımlarından biride Data Guard Teknolojisidir.  Çünkü data guard ile işletmeler datalarını daha sağlam bir zeminde korumaya almış, data kaybetme riskini neredeyse yok denebilecek seviyeye almış ve erişilebilirliği ise maximum seviyede tutumuş olurlar.Bu da işletmleri gerek müşterilerine karşı gerekse katma deer bakımında daha güvenilir göstermektedir.
 Öyleyse yazımızın devamında data guard nedir? Data guard mimarisi ve temel terminolojileri konusun da açıklamalar yapacağız ve mantıksal anlamda anlamay çalışacağız.Sonraki yazılarımızda da teknolojik anlamda derinlemesine inceleyecek ve pratik örnekler ve kurulum odelleri sunacağız.

Data Guard Konfigurasyon
DataGuard temel anlamda bir veritabanının başka bir yere anlık kopyalanması ve her hangi bir anda kopya veritabanının açılarak production olarak hizmet sunabilmesi denilebilir. Biz burada asıl veritabanına primary kopya veritabanına ise standby diyeceğiz. Bir Dataguard Konfigurasyonunda en az bir adet primary veritabanı olmalıdır.Yine data guard konfigürasyonunda  bir veya birden fazla standby veritabanı bulunabilir.Konfigurasyon içersinde primary  ve standby veritabanları arasındaki haberleşme Oracle NET ile sağlanır. Yani listener ve tns ler yardımıyla.
Ayrıca Belirtmekte fayda varki primary ve standby veritabanları farklı şehirlerde bile olabileceği gibi aynı makinada bile olabilir.
Standby veritabanı fiziksel olabileceği gibi mantıksalda olabilir. Ama temel bir data guard konfigürasyonu aşağıdaki gibi şematize edilebilir.

Şekil-1: Temel Data Guard Konfigurasyonu

Şekil 1 de görüleceği üzere Redo Log dosyaları Fizeksel olarak uygulanabileceği gibi mantıksal olarakda Standby veritabanına uygulanabilir. Burada ki ayrıma görede Fiziksel yada Mantıksal olarak Data guard konfigürasyonu adlandırılabilir.
Data guard yönetimi Sql *PLUS , DGMGRL (Data guard Yönetim komut Ekranı) yada Enterprise Manager  üzerinde yapılabilir.
Physical (Fiziksel) Standby Database
Fiziksel standby database, primary ve standby database in bire bir eşit olmasını sağlamak amacı ile primary db de üretilen redolog dosyalarının standby veritabanına uygulanması ile elde edilmişolur. Burada blok bazında ve fiziksel bir eşleme olduğu için fiziksel data guard da denir.Daha çok felaket kurtarma senaryosu olarak kullanılır.
Genel de primary ile snadby farklı lokasyonlardadır.Örneğin primary ankarada ise standby istanbulda dır. Ankaradaki binada yangın çıksa ve makinalar hasar görse dahi datalar istanbulda korunumlu olarak tutulur ve aynı anda tüm uygulamalar istanbuldaki fiziksel veritabanına yönelendirilebilir.
Logical (Mantıksal) Standby Database
Mantıksal Standby database, primary ve standby veritabanlarının, primaryde gerçekleşen değişikliklerin sql query olarak standby de uygulanması ile elde edilir.
Mantıksal Standby veritabanları genel olarak down time almadan upgrade, raporlama gibi isistemi yoran ve uzuzn süren işlemler veya patch geçişleri gibi kritik işlemlerde riskleri production veritabanından uzak tutarak gerçekleştirmek için kullanılır.
Data Guard Servisleri Nelerdir?
Redo Transport Services:Primary Veritabanında üretilen redolog dosylarını standby veritabanına ulaştıran servisdir. Herhangi bir network failure durumunda , problemin oluşturğu aralıktaki arşivlenmiş redo dosyalarının yönetimi işlemini üstlenir. Otomatik olarak kayıp arşiv log olup olmadığını kontrol eder ve Daima primary deki arşiv loğlarla standby daki arşiv loğları kontrol eder.Eksik olması durumunda primary db ye ait arşiv loğu standby db ye kopyalar.
Log Apply Services: Log Apply servisleri standby yapısına göre farklı şekilde elde edilen redo dosyasını işler. Eğer standby database fiziksek ise Log Apply Servis redo log dosyalarını database ‘ e apply eder. Bununla birlikte standby database eğer mantıksal ise log apply servis, primary den gelen redologları sql queryler olarak algılar ve standby db de bu queryleri çalıştırarak senkronizasyonu sağlar.
Role Transitions: Role transitions veritabanını, primary den standby’ a durumuna yada standby da primary durumuna almaktır. Switchover, burada primary ve standby veritabanlarının herikisde avail durumdadır ve standby veritabanı primary ‘ye çevrilir. Aynı şekilde primary veritabanıda standby ‘a çevrilir. Failover , durumunda ise primary veritabanı  erişilemez druuma gelmiştir.Bu durumda standby veritabanı primary olarak açılır.
Databaselere ait role değişimleri SQL cümleleri Enterprise manager arayuzu yada DGMGRL komut ekranında yapılabilir.
Data Guard Broker:
Data Guard Broker, Data guard konfigürasyonlarının kurulumu, yönetilmesi gibi işlemlerin kontrol edilmesi amaçlı kullanılabilir. Data Guard Broker yerine Enterprise Maanger da genel olarak kullanılır.
Data Guard Konfigurasyon Tipleri
Maximum Koruma:Primary veritabanının erişilmez olması durumunda herhangi bir data kaybetmemek için kurulan data guard konfigürasyonudur. Bu yapıda primary veritabanı üretilen arşiv loğları hem kendi localine hemde standby veritabanına ait redo loğların kopyalandığı lokale aynı anda üretir. Bu yapıda bir transaction; redo log dosyası primary ve standby log dest. Pathine kopyalanmadan asla commit yada rollback edilemez.Bu şekilde primary veritabanı aniden kapansa bile standby veritabanı son redo log dosyaları ile gelen transactionları recover edebilir.
Eğer herhangi bir sebepten dolayı primary database standby log alanına arşiv log yazamazsa, data kaybını engellemek amacı ile priamry veritabanı shutdown olur.
Maximum Erişilebilirlik:Maximum korumadaki gibi tüm redo log dosyaları standby’a kopylanmadıkça transactionlar donlandırılamaz.Ancak stnadby log alanına herhangi bir sebepten dolayı arşiv log yazılamazsa bu modda primary veritabanı shutdown edilmez. Burada  Monitoring ciddi anlamda yapılmalı ve eğer arşiv kopyala da hata alınmışsa müdahale edilmelidir.
Maximum Performance: Bu tip data guard konfigürasyonunda primary veritabanı transactionları sonlandırmak için redo dosylarının standby veritabanına taşınıp taşınmadığını gözetmez. Ancak  Yetrli network ve band genişliği sağlayabiliyorsanız maximum performance modunda data guard konfigure ederek en iyi verimi alabilirsiniz.
Çünkü sonuçta data guard konfigürasyonunda önemli olan redo dosylarının standby makinasına kopyalanabilmesidir.Bu da network kalitesi ve band genişliği gibi kaynaklarada bağlıdır.Mümkün en kısa sürede redo dosylarını standby ‘a kopyalamayı başarabiliyorsanız ve sorun durumunda alarm üretip anlık monitör edip müdahale edebiliyorsanız  problem oluşma ihitmalide azalıyor ve performans dan da ödün vermemiş olabiliyorsunuz.
Data Guard Kullanmanın Faydaları
Felaket yaşanma durumlarında data kaybının önlenmesi ve maximum koruma.
System kaynaklarının etkili kullanılabilmesi.
Performans gereksinimleri yada erişilebilirlik öncelikleri arasında etkili ve dengeli seçim.
Koley erişilebilir, yönetimsel kolaylık gibi daha bir çok olumlu yanıda bulunmaktadır.
                                               

Sonraki yazılarımızda fiziksel ve mantıksal data guard kurulumları yapıp, data guard servislerinin ve data guard konfigürasyonunun yönetimi ve data guard troubleshooting hakkında faydalı bilgiler sunmaya çalışacağız.
                                                                                                                Özcan YILDIRIM


0 YORUM:

Yorum Gönder

"Sorularınız ve Eleştirileriniz Değerlidir"