Oracle Database Wait Events -1

Merhaba Arkadaşlar,

Bu yazımda sizlere Oracle Veritabanlarında performans sorunlarına neden olan bazı wait eventleri anlatacağım. Veritabanını en çok yoran 5 wait eventi AWR raporlarından bulabilirsiniz. Ben bu yazıda AWR raporlarında en sık karşılaştığım Wait eventleri anlatacağım. AWR raporuyla ilgili merak ettiklerinizi bu linkteki yazımdan bulabilirsiniz.

AWR Wait Events

 

Db file sequential read: Bu event bir user ın Buffer cache üzerinden ardışık okuma (sequential read )yaptığı sırada bir Fiziksel I/O yapmaya çalışması ve bu işlemi beklemesi sonucu oluşur. Bu tip durumlar genellikle tablo üzerindeki verilere full table scan değilde index  kullanarak erişildiği durumlarda tekli blok (Single Block) okumaları sonucunda oluşur.

Bu events gerçekleşiyorsa olası muhtemel sebebleri Yanlış index kullanımı, İndexlerin fragmente olması yada belirli disklerde aşırı I/O trafiği oluşması şeklindedir. Bu sorunun çözümü olarak indexlerin doğru kullanılması ve fragmente olmuş indexler defragment edilmeli ve index maintenanceların sağlıklı bir şekilde tamamlandığı teyit edilmelidir.

AWR ve ADDM raporlarında çok sık görünen bu wait event ile karşılaştığımızda her zaman sorun var diyemeyiz. Ancak bu wait event cereyan ettiği durumda database de ‘Enqueue ’ ve ‘Latch Free’ olayları için çok fazla zaman harcanıyorsa bu durumda sistem mutlaka incelenmelidir.

db_file_sequential_read

Db file scattered read: Fiziksel olarak birbirine yakın (komşu) olmayan çoklu blokların (multiblock) memory e dağınık olarak alınması sırasında yada Buffer cache e full scan yapıldığı sırada ortaya çıkar. Yani Db file scattered read çoklu blokları okumak için I/O yapıldığı sırada hızlı full scan sırasında ortaya çıkan wait event diyebiliriz.

Bu wait eventden kaçınmak için küçük boyutlu tablolar cache e alınabilir.

Direct path read: Oracle Instance sı Datafile lardan asenkron olarak veri çektiğinde bu veriyi beklendiği şekilde SGA deki Buffer Cache alanina değilde PGA alanina koyduğu takdirde bu event oluşur.

Bu tip event genelde Sorting (Sıralama) işlemleri sırasında Temp Tablespace in yüksek kullanımı, Lob segmentlerin oluşumu sırasında ve Paralelde birden çok session Full tablescan ettiği durumlarda oluşur. Bu sorunu çözmek için Bellek alanı artırılmalı, parallel işler gerekmedikçe yapılmamalı bunun yanında okumalarda Lob segmentlere dikkat edilmelidir.

pfgrf210

DB CPU: Bu event kullanıcıların database üzerinde çalıştırmış olduğu query lerin CPU üzerinde geçen toplam zamanını ifade eder. Bu toplam zamanın içerisine Oracle ın Background processleri (SMON,PMON..) dahil değildir.

Bu değerin yüksek çıkması demek Oracle instance sının zamanın çoğunu CPU da harcaması demektir. Bu wait event i azaltmak için AWR raporundaki SQL ordered by CPU kısmındaki SQL ler TUNE edilmelidir.

 

Log file sync: Bu event Kullanıcıların başlatmış oldukları bir Transaction Commit ledikleri yada Rollback yaptıkları sırada LGWR process inin bekleme yapması sonucu kaybedilen zaman olarak bilinir.

Eğer bu wait event sürekli olarak görülüyorsa muhtemelen LGWR process inin I/O performans I kötüdür yada uygulama tarafından çok sık olarak Commit geliyordur. Bu problemin çözümü olarak gerekmedikçe çok fazla commit yapmamak ve Redo log file ların üzerinde bulunduğu diskin I/O performansını inceleyip gerekirse SSD disk gibi yüksek performanslı disk kullanmak şeklinde belirtebiliriz.

 

Enq: TX – row lock contention: Bu tip event bir kullanıcı session ının başka session tarafından tutulan bir satırı update etmeye çalışırken oluşur, bu bir uygulama problemidir. Normalde bir transaction ın bir row ile işi bittiği zaman commit yada rollback edip o row u serbest bırakması lazım serbest bırakmadığı durumlarda bu wait events ile çok sık karşılaşılır.

Bu problemin çözümü ise row u tutan session eğer aktif ise bu session ın commit etmesini sağlamak yok aktif değilse ilgili sessionı öldürüp işlemi rollback yapmaktır.

ARCH wait on SENDREQ: Bu wait event Dataguard kurulan Standby ve Disaster veritabanlarının Archiver Process ler tarafından arşivlerle beslenmesi ve local disklerede bu arşivlerin  yazılması esnasında geçen toplam zamandır.

Bu değerin yüksek çıkmasının temel sebebi Standby tarafına gönderilen arşivlerin networkten dolayı geç ulaşmasından dolayıdır. Bu sorunu çözmek için Network ü optimize etmek ve sqlnet.ora dosyasındaki DEFAULT_SDU_SIZE parametresini optimize bir değere (32767) çekmek gerekir.

 

Gc current block busy: Bu wait event Cluster olan veritabanlarının node ları arasında gerçekleşir. Bir transaction bir bloğu talep ettiği zaman o talep master instance a gider.Normalde  Bu talep cache fusion transfer yoluyla karşılanır.

Ancak bazı durumlarda bu blok transferi ilgili bloğun diğer instance tarafından tutulmasından dolayı yada ilgili transaction kayıtlarını redo loglara hemen yazılamadığı için ertelenir işte bu durumda bu wait event tetiklenir. Bu wait event Log Writer process inin tune edilmesiyle çözülebilir.

Gc cr block busy wait: Bu wait event de yukardaki gc current block busy wait event gibi çalışır. Tek fark olarak yukardaki event current mode da çalışırken bu wait event CR modunda çalışır. Bu wait event Log Writer process inin tune edilmesiyle çözülebilir.

Böylece bir yazının daha sonuna gelmiş bulunmaktayım bir sonraki yazıda görüşmek dileğiyle esen kalın..

 

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.

4 thoughts on “Oracle Database Wait Events -1

  • March 14, 2019 at 5:46 am
    Permalink

    whoah this weblog is excellent i like reading your articles. Stay up the good work! You already know, many individuals are hunting around for this info, you could help them greatly.

    Reply
  • April 30, 2019 at 2:11 pm
    Permalink

    Great blog you have here but I was wanting to know if you knew of any message boards that cover the same topics talked about here? I’d really love to be a part of community where I can get advice from other knowledgeable people that share the same interest. If you have any recommendations, please let me know. Bless you!

    Reply
  • May 8, 2019 at 9:50 am
    Permalink

    Hey there! I just wanted to ask if you ever have any issues with hackers? My last blog (wordpress) was hacked and I ended up losing months of hard work due to no back up. Do you have any methods to protect against hackers?

    Reply
  • May 8, 2019 at 10:01 am
    Permalink

    Hi there just wanted to give you a brief heads up and let you know a few of the pictures aren’t loading correctly. I’m not sure why but I think its a linking issue. I’ve tried it in two different browsers and both show the same outcome.

    Reply

Leave a Reply

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