← man/data_processing
db_deadlock — man db_deadlock — 80×24
ugur@toprak:~/man/data_processing$man db_deadlock
Bölüm 1 Veri İşleme

db_deadlock

db_deadlock

Synopsis

     db_deadlock [-Vv] [-a e | m | n | o | w | y] [-h home] [-L file] [-t sec.usec]

Description

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 gibidir:

-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 Veritabanı ortamı için bir ana dizin (home directory) belirtir; varsayılan olarak geçerli çalışma dizini kullanılır.

-L db_deadlock aracı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 1995

db_deadlock aracı sorunsuz bir şekilde çıkarsa bu dosya kaldırılacaktır.

-t Bir sürecin kilit için beklemeye zorlanıp zorlanmadığını görmek amacıyla her sec saniye artı usec mikrosaniyede 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.

Eğer -t seçeneği belirtilmemişse, db_deadlock bir kez çalışacak ve çıkacaktır.

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.

db_deadlock aracı başarı durumunda 0 ve bir hata oluşursa >0 ile çıkar.

Ortam Değişkenleri

DB_HOME Eğer -h seçeneği belirtilmemişse ve DB_HOME ortam değişkeni ayarlanmışsa, DB_ENV->open içinde açıklandığı gibi veritabanı dizininin yolu olarak kullanılır.

Ayrıca Bkz.

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)

Darwin December 3, 2003 Darwin