SÖZDİZİMİ
db_deadlock [-Vv] [-a e | m | n | o | w | y] [-h home] [-L file] [-t sec.usec]
AÇIKLAMA
db_deadlock aracı, veritabanı ortamı kilit bölgesini tarar ve bir kilitlenme (deadlock) veya zaman aşımına uğramış bir kilit isteği tespit ettiği her seferde ilgili kilit isteğini iptal eder (abort). Varsayılan olarak, bir kilitlenme durumunda iptal edilmek üzere rastgele bir kilit isteği seçilir.
Bir veritabanına erişen birden fazla iş parçacığı (thread) veya süreç (process) olduğunda ve bunlardan en az biri veritabanını değiştirdiğinde, bu araç bir arka plan sunucusu (daemon) olarak çalıştırılmalı veya temel Berkeley DB kilitlenme tespit arayüzleri başka bir şekilde çağrılmalıdır.
SEÇENEKLER
Aşağıdaki seçenekler mevcuttur:
-a: Bir kilitlenme tespit edildiğinde, ilgili kilitleyiciyi (locker) iptal eder:m: En fazla sayıda kilide sahip olanın: En az sayıda kilide sahip olanıo: En eski kilitleyici kimliğine (locker ID) sahip olanıw: En az sayıda yazma kilidine sahip olanıy: En yeni kilitleyici kimliğine sahip olanı
Kilit veya işlem (transaction) zaman aşımları belirtildiğinde:
e: Zaman aşımına uğramış tüm kilit isteklerini iptal eder
-h home: Veritabanı ortamı için bir ana dizin (home directory) belirtir; varsayılan olarak geçerli çalışma dizini kullanılır.-L file:db_deadlockaracının yürütülmesini belirtilen dosyaya aşağıdaki biçimde kaydeder; burada###süreç kimliğidir (process ID) ve tarih aracın başlatıldığı zamandır:db_deadlock: ### Wed Jun 15 01:23:45 EDT 1995db_deadlockaracı sorunsuz bir şekilde çıkarsa bu dosya kaldırılacaktır.-t sec.usec: Bir sürecin kilit için beklemeye zorlanıp zorlanmadığını görmek amacıyla hersecsaniye artıusecmikrosaniyede bir veritabanı ortamını kontrol eder; zorlanan bir süreç varsa, veritabanı ortamı kilit yapılarını inceler.-V: Kütüphane sürüm numarasını standart çıktıya yazar ve çıkar.-v: Ayrıntılı (verbose) modda çalışır, dedektör her çalıştığında mesajlar üretir.
[!NOTE] Eğer
-tseçeneği belirtilmemişse,db_deadlockbir kez çalışacak ve çıkacaktır.
Kilitlenme Tespiti ve Ortam Yönetimi
db_deadlock aracı, bir Berkeley DB ortamı kullanır (-h seçeneği için açıklandığı gibi, DB_HOME ortam değişkeniyle veya araç bir Berkeley DB ortamı içeren bir dizinde çalıştırıldığı için). Bir Berkeley DB ortamı kullanırken ortamın bozulmasını önlemek için, db_deadlock aracına her zaman ortamdan ayrılma (detach) ve sorunsuz bir şekilde çıkma fırsatı verilmelidir. db_deadlock'ın tüm ortam kaynaklarını serbest bırakmasını ve temiz bir şekilde çıkmasını sağlamak için ona bir kesme sinyali (SIGINT) gönderin.
db_deadlock aracı, Berkeley DB paylaşılan bellek bölgeleri (shared memory regions) zaten mevcut değilse bunları oluşturmaya çalışmaz. Bölgeyi oluşturan uygulama önce başlatılmalı, ardından bölge oluşturulduktan sonra db_deadlock aracı başlatılmalıdır.
DB_ENV->lock_detect metodu, db_deadlock aracı tarafından kullanılan temel metottur. DB_ENV->lock_detect metodunun bir IEEE/ANSI Std 1003.1 (POSIX) ortamında kullanımına dair bir örnek için db_deadlock aracının kaynak koduna bakın.
ÇIKIŞ DURUMU
db_deadlock aracı aşağıdaki çıkış durumlarını döndürerek çıkar:
0: Başarı durumu.>0: Bir hata oluştu.
ORTAM
DB_HOME: Eğer-hseçeneği belirtilmemişse veDB_HOMEortam değişkeni ayarlanmışsa,DB_ENV->openiçinde açıklandığı gibi veritabanı dizininin yolu olarak kullanılır.
AYRICA BAKINIZ
db_archive(1), db_checkpoint(1), db_dump(1), db_load(1), db_printlog(1), db_recover(1), db_stat(1), db_upgrade(1), db_verify(1)