Bölüm 18: OzLockTree - Kilit Çözücü
Bilgi: Bu bölüm; kilit krizlerinde bağımlılıkları görselleştiren OzLockTree aracının kullanımını, kök blocker tespitini ve
KILL QUERYileKILL CONNECTIONarasındaki farkı açıklar. OzLockTree bir sunucu yönetim aracıdır ve SQLite’ta kullanılamaz.
Bu bölümde:
- 18.1 Canlı Kilit Ağacı Görünümü
- 18.2 Kill Query ile Kill Connection Karşılaştırması
- 18.3 Uzun Süren Açık Transaction Takibi
- İlgili Konular
18.1 Canlı Kilit Ağacı Görünümü
OzLockTree, mevcut kilit bağımlılıklarını blocker vurgulaması ve ilişki özetleriyle birlikte bir tabloda sunar.
- Kök Blocker: Kilide neden olan ana process kırmızıyla vurgulanır.
- Bekleyen Sorgular: Başka bir sorguyu bekleyen process’ler, ilişki özetiyle birlikte listelenir.
İpucu: Hangi sorgunun hangisini beklediğini görmek için her satırdaki ilişki özetini kullanın.
18.2 Kill Query ile Kill Connection Karşılaştırması
Bir process seçildiğinde iki sonlandırma seçeneği sunulur.
- Kill Query (güvenli): Kullanıcının oturumunu açık tutarken yalnızca kilidi tutan sorguyu iptal eder.
- Kill Connection (tehlikeli): Kullanıcının veritabanı oturumunu sunucu düzeyinde tamamen kapatır.
Uyarı: Önce Kill Query’yi deneyin. Yalnızca bu yeterli değilse Kill Connection’ı kullanın.
18.3 Uzun Süren Açık Transaction Takibi
En sinsi kilit nedenlerinden biri, BEGIN başlatıp COMMIT çağırmadan bağlantıyı unutan bir uygulamadır. OzLockTree; sunucu gerekli kilit ve process bilgilerini sağladığında, 5 dakikadan (300 saniye) uzun süredir commit bekleyen açık transaction’ları kırmızıyla işaretler. Bu bilgiler okunamıyorsa veya geçersizse araç, blocker’ın teyit edilemediğini raporlar. Sonlandırma, normal yıkıcı/yönetici onay yolundan geçmeye devam eder.