Blog ' da Ara

Loading

17 Şubat 2012

Log File Sync & Log File Parallel Write Wait Event

                Analiz ve Çözüm Yöntemleri

                Oracle Veritabanında bir user commit işlemi çalıştırdığında, user’a ait session bilgileri memory den alınıp diske yazılmak üzere redolog dosyalarına yazılır. Commit işlemi sırasında session LGWR prosessine geçip log buffer içeriğini redolog dosyalarına  yazacaktır.

Log buffer sessiona ait commitlenmiş ancak redolog dosyalarına henüz yazılamamış bilgiler içerir. LGWR prosesi redolog dosyalarına yazma işlemini tamamladığında işlem bitmiş olacaktır. Redolog dosyalarına yazma sırasında LGWR prosesesini beklerken kaybedilen zamana “Log File Sync” denir.

                Ayrıca “log file sync” yaşanırken başka sessionlarda eğer commit işlemi çalıştırıyorsa aynı şekilde “log file sync” wait event göreceklerdir.

                Log File Sync Wait Event yüksek olmasının sebebi nedir?

                Bekleme; kullanıcılar tarafından onaylanan işlemlerin (commits) log buffer dan diske yazılmasına kadar her an da gerçekleşebilir. Ancak bir genelleme yapılacak olursa log file sync beklemelerinin 3 ana sebebi vardır;

8 Şubat 2012

Oracle Sql Tuning Metodları

Sql Tuning Metodoloji si aslında sql querylerin yani uygulama tarafından sürekli kullanılmakta olan sqllerin performansının artırılması için oluşturulmuş standart çalışmalar bütünüdür diyebiliriz. İşte bu yazımızda inefficient (kötü yazılmış sql) nedir tanımlayacak ve daha sonra bu sqlleri belirlerken yada monitör ederken kullanılacak ttolları ve yöntemleri inceleyeceğiz. En son kısımda da performans geliştirme için neler yapılabilir listeleyeceğiz.
    Bir sql Neden Yavaş Çalışır?
•    Bir sql in nasıl çalışacağınız belirleyen oracle optimizer (10g ve Sonrasında COST Based Optimizer) ‘ın kullandığı data yoğunluğu ve dağılımına dair istitistiklerin güncel olmamaıs ve doğruyu bilgiler sağlamaması.
•    Sql’in veriye erişirken kullandığı index, view gibi yapıların bozulması yada geçerliliğiniz yitirmesi.
•    Optimizerın bir sql için cost,cardinality gibi değerleri yanlış hesaplaması ve dolayısıyla yanlış bir şekilde sql i çalıştırması.
•    Kötü yazılmış sqller.Örneğin Union all yerine union kullanmak yada join içerisine gereksiz tabloların sokulması yada indexi kullanılmayacak hale sokan filtrelerin yazılması.

Şekil1:Performans Monitor ve Tuning Metodları
   

1 Şubat 2012

Administering ASM Diskgroups

           
    Bir önceki yazımızda asm instance nasıl yönetilir anlatmaya çalışmıştık.Bu yazımızda ise asm diskgroupların yönetilmesi yada monitör edilmesi üzerine değineceğiz.Konuya başlamadan önce asm instance, oracle database, rac instance ve asm instance arasındaki ilişkiyi şema olarak gösterebileceğimiz şekil1 e göz atabilirsiniz.
    
Şekil1:Asm Disk Groups
       
    Şekil1 de görüldüğü üzere her makinada sadece bir adet asm instance bulunabilir.Bir makinada birden fazla database oluşturulabilir.Makinalar RAC sisteminde olabilir.Tüm asm instanceler tekbir storage gurubundan beslenir. Şekil1 de ki storage gurubunda Disk Group A ve Disk Group B şeklinde iki adet Asm disk group mevcuttur.Şimdi Bu diskgrouplar üzerinde ne gibi işlemler yapabiliriz ve yönetimini nasıl yaparız anlamaya çalışalım.

24 Ocak 2012

Administrating Asm Instance

    Daha önceki ayzılarımızda da belirttiğimiz gibi asm bir instance dir.Yani kendine has memeory alanları vardır.Nasılki oracle instance verileri yönetiyor , tutuyor ve erişimii sağlayıp kouyorsa, asm instance de aynı şekilde storage yönetimi için geliştirilmiştir.Ancak bir makinada birden fazla oracle instance olabilir.Neticede oracle instance database i yönetir.Ancak bir makinada sadece bir asm instance olur ve o makinanın gördüğü storage yapılarını asm instance yönetir.Şekil1 de asm instance storage yapısı şematize edilmiştir.
Şekil 1 : Asm Instacne storage structure

           
    Asm instancenin de kendi intialization parametreleri vardır.Memory_taget, Instance_type bunlara örnek olarak verilebilir.Bu parametreler dpfile yada pfile içerisine yazılmalıdır.asm instance parametre dosyası  “<grid_home>/dbs/spfile+ASM.ora” şeklindededir.

20 Ocak 2012

Oracle Clusterware Troubleshooting (Monitoring ve Sorun Giderme)

       
           Oracle Clusterware monitör etmek, problem tespiti ve sorun gidermek aslında cluster servislerini ve alertleri gerektiği gibi yorumlamaktan geçer.Ancak bunların öncesinde cluster sorunlarında aklımızdan çıkarmamız gerekn bir kural vardır.Oracle Clusterda ilk kontrol edilecek olan Cluster node ların system zamanlarının aynı olması yani time synchronization.Eğer network time protocol  (NTP) kullanılıyorsa aşağıdaki gibi time synchronization sağlanabilir.

$ vi   /etc/sysconfig/ntp OPTIONS=”-x  -u  ntp:ntp  -p  /var/run/ntpd.pid”

         Eğer NTP kullanılmıyorsa (CTSS) clusterware synchronization servisi otomatik olarak time seknkronizasyonu yapacaktır.NTP servis service ntpd start komutu ile başlatılır.Ctss servisi ise octcssd.bin daemon process tarafından çalıştırılır.Eğer iki node arasındaki zaman farkı 5 dakikadan fazla ise tüm instance ler kapatılır ve sonrasında system time ayarlamaları yapılır.

Şekil 1:Oracle Clusterware Alert Logs
  

13 Ocak 2012

Oracle RAC Node'lar Arasında SSH Konfigurasyonu Nasıl Yapılır?

         Ssh Konfigurasyonu rac sistemlerde bir node üzerinde tün nodelara kurulum yapmak vs işlemleriçin gereklidir.Ssh konfigürasyonu aslında nodelar arasında şifresiz hareket edebilmeyi sağlar.Bu yazımızda ssh konfigürasyonu yapacağız.
         Öncelikle aşağıdaki komutla ssh çalışıp çalışmadığı kontrol edilir.Eğer ssh çalışıyorsa birçok id sıralanacaktır.

$ pgrep sshd
858
1520
23668
19892
874

         Daha Sonra .ssh dizini oracle user tarafından yazılabilirmi kontrol edilir.Eğer .ssh dosyası yoksa home dizini altına create edilir. mkdir –p .ssh şeklinde create edilebilir.

2 Ocak 2012

Oracle Clusterware Yönetimi

                                               
Bu yazımızda Oracle Clusterware yönetimi, konfigurasyonu, monitor edilmesi gibi konulardana bahsetmeye çalışacağız.Oracle clusterware crsctl ve srvctl şeklindeki iki komut ekranında yada EM (Enterprise manager üzerinde) yönetilir. Crsctl sadece clusterware admin gurubu tarafından kullanılabilir.Bu da genelde root userdır.Srvctl ise database admin gurubu tarafından kullanılabilir.

Bu yazımızda biz crsctl ve srvctl komutları ile işlemleri yapmaya daha çok değineceğiz.Enterprise manager web tababnlı bir yönetim sistemidir.

Clusterware’ i belli bir node üzerinde nasıl kapatılır, açılır, aktif  veya pasif edilir?
crsctl start crs             --Clusterware üzerinde olduğunuz node için açma işlemi
crsctl stop crs              --Clusterware üzerinde olduğunuz node için kapama işlemi
crsctl enable crs          --Clusterware üzerinde olduğunuz node için aktif etme
crsctl disable crs         --Clusterware üzerinde olduğunuz node için pasif işlemi

Clusterware durumu nasıl kontrol edilir?
crsctl check crs               --Tüm clusterware durmunu kontrol eder
crsctl check cluster        --CSS servisleri kontrol eder
crsctl check <daemon> --Belli bir cluster servisini kontrol etme.(crsd,evmd,cssd)

28 Aralık 2011

Oracle Asm Architecture (Asm Mimarisi)

Asm (Automatic Storage Management) mimarisinden ve asm içeriğinden bahsetmeden önce asm faydalarından kısaca bahsetmenin asm mantığını kavramada faydalı olacağını düşünüyorum.
·         Asm diskler üzerinde dengeli yük dağılımını sağlar.
·         Yüksek performans sağlayan cluster yapıdadır.
·         Diskler entegre olmuş gibi asm ortamında tek parça olarak gözükür.
·         Asm ile storage yönetimi kolaydır ve asm bir çok disk probleminide çözmüştür.
Asm faydaları tabi bu saydıklarımızla sınırla değildir ancak temel olarak yukarıdaki 4 madde baz alınabilir. Her bit makina için sadece bir asm instance kurulabilir.Ancak bir asm instance da birden çok veritabanı olabilir.Aşağıda şekil 1 ve şekil 2 de farklı asm konfigurasyonlarını görebilirsiniz.

Şekil 1 : Asm non-cluster multi database konfigurasyon

Oracle ‘da Mail Göndermek & Grid Control Target Status Monitor Etmek


Veritabanı  Yönetiminde bazen bir durumu sürekli veritabanı üzerinden kontrol etmemeiz yada monitor etmemeiz gerekebilir. İstemediğimiz bir event oluştuğunda anında haberdar olmak ve mudahale etmek isteriz.Bunun için veritabanında çalıştırdığımız sql yada pl/sql programların bize döndürdüğü sonuç nasıl mail atılır inceleyelim.

Öncelik Veritabanında mail atmak için aşağıdaki ayarlamaların yapılması gerekmektedir.
Mail gönderebilmemeiz için bizim bir SMTP configurasyonu yapılmış bir makinamız olmalı.Bu makinanın IP sini aşağıdaki gibi veritabanına tanıtacağız.Örneğin bizim SMTP server IP miz 192.168.2.1 olsun.SMTP konfigurasyonunda default port 25 dir.Bu yüzden port tanımlamayacağız.Siz isterseniz farklı port tanımlayabilirsiniz.Bu durumda oracle üzerinde de SMTP_OUT_SERVER=’192.168.2.1:NEW_PORT’ şeklinde parametre set etmeniz gerekir.

SQL> ALTER SYSTEM SET SMTP_OUT_SERVER=’192.168.2.1’ scope=BOTH;
Daha Sonra mail göndereceğimiz Oracle USER için ACL(Access Control List) Tanımları yapmalıyız.

23 Aralık 2011

Oracle Grid Infrastructure Architecture

                   
                Oracle Clusterware
                Cluster şekil 1 dede görüldüğü üzere birbirinden bağımsız ancak aralarında haberleşmeyi sağlayan interconnect denilen bir bağ ile birbirini gören makinelerin yapısıdır.Cluster yapısı performansı artırmak, kesintisiz erişim sağlamak ve yük dengelemek amacıyla kurulur.
Şekil 1 = Cluster Yapısı
                               
                Oracle Cluster yapısı ise Oracle Grid infrastructure temelidir.ASM (Automatic Store Management by oracle for oracle database) ile entegre çalışabilir.ASM cluster file system (ACFS) temelini oluşturur.Oracle cluster yapısı sadece oracle db için değil başka uygulamalar içinde cluster yapısı olarak kullanılabilir.Örneğin Apache server. Aşağıda oracle clusterware servislerini tanımlanmıştır.