Minimizing System Contention ( 21- Oracle Enterprise Manager üzerinden Locks Yönetimi )

Oracle Enterprise Manager üzerinden Locks Yönetimi


  - Hızlı kaybolan locking event olaylarını tanımlamak için birden fazla SQL sorgusu vermek yerine kilitleme durumlarını belirlemek ve çözmek için Oracle Enterprise Manager (OEM) DB Kontrolünü kullanabilirsiniz.
Instance üzerinde, blocking ve blocked sessionlar dahil tüm mevcut kilitleri bulabilirsiniz. Blocking sessionı OEM'den de kill edebilirsiniz.
 
  - OEM aracılığıyla locking sorunlarını yönetmenin yolları şunlardır:
   • Home page de DB Control, Alerts tablosunda locking bilgileri görürsünüz. Blocking sessionların tanımlamak için User Block kategorisini arayın. Aradığınız uyarı adı, "Blocking Session Count".
    Örneğin, bu alert için "Oturum 68 diğer 12 oturumu engelliyor" gibi mesaj bağlantısını tıkladığınızda, Blocking Session Count sayfasına yönlendirileceksiniz. Bu sayfadaki Alert History tablosunda, blocking and blocked sessionslarla ilgili ayrıntıları görüntüleyebilirsiniz.
    Ayrıca Ana sayfada, Related Alerts'ın altında, ADDM Performansı tablosunu bulacaksınız.
    Locking sorunları, Row Lock Waits bağlantısının varlığı ile açığa çıkar.
    Row Lock Waits sayfasına gitmek için Row Lock Waits bağlantısını tıklayın.
    Şekil 5-1'de gösterilen bu sayfa row locks için bekleyen tüm SQL deyimlerini görmenizi sağlar.






   • Ana sayfadaki Performans sekmesini tıklayarak blocking session ayrıntılarını da görüntüleyebilirsiniz.
Blocking Sessions sayfasına gitmek için Additional Monitoring Links bölümünün Altındaki, Blocking Sessions'ı tıklayın.
Blocking Sessions sayfası engellemenin yanı sıra engellenen oturumların ayrıntılarını da içerir.
Bir oturum başka birini engellediğinde enq: TX row lock contention olacaktır.
Bu sayfadaki SQL ID bağlantısını tıklatarak, blocking sessiona sebep olan SQL deyimini bulabilirsiniz.
Sayfanın sol üst tarafındaki Kill session a tıklayarak bu sayfadan blocking sessionı kill edebilirsiniz.
  
   • Ayrıca "Additional Monitoring Links" bölümünde, sizi Instance Locks sayfasına götüren bir link bulunmaktadır.
   Instance Locks sayfası, hem blocking hem de blocked sessionların oturum ayrıntılarını gösterir.
   Blocking ve blocked sessionların yürüttüğü geçerli SQL'i görüntülemek için SQL ID bağlantısını tıklatabilirsiniz.
   Locked nesnenin adını da öğrenebilirsiniz. Kill Session ı tıklayarak blocking session ı öldürebilirsiniz.
  
 
  Nasıl Çalışır:
 
  - Veritabanındaki locking davranışını analiz etmek için mutlaka birden fazla SQL komut dosyası çalıştırmanız gerekmez.
  Size çeşitli tariflerde daha önce gösterdiğimiz SQL kodu, Oracle kilitlemesinin nasıl çalıştığını açıklamak içindir.
  Her gün, yalnızca bir oturumun kimler tarafından engellendiğini ve nedenini bulmak için OEM'i kullanmanız daha pratik ve verimlidir.


Constraint Disable-Enable

Disable Constraint BEGIN   FOR c IN   (SELECT c.owner, c.table_name, c.constraint_name    FROM user_constraints c, user_tables t    WHERE...