İsim
db_archive
Sözdizimi
db_archive [-adlsVv] [-h home] [-P password]
Açıklama
db_archive yardımcı programı, artık kullanımda olmayan (örneğin, aktif işlemlere -transactions- dahil olmayan) günlük (log) dosyalarının yol adlarını standart çıktıya her satırda bir yol adı olacak şekilde yazar. Felaket durumundaki arıza durumlarında geri yükleme (recovery) sağlamak için bu günlük dosyaları yedekleme medyasına yazılmalıdır (bu ayrıca veritabanı dosyalarının bir anlık görüntüsünü de gerektirir), ancak disk alanını geri kazanmak için sistemden silinebilirler.
Seçenekler aşağıdaki gibidir:
-a Tüm yol adlarını, veritabanı ana dizinlerine göreli olarak yazmak yerine mutlak yol adları olarak yazar.
-d Artık ihtiyaç duyulmayan günlük dosyalarını kaldırır; hiçbir dosya adı yazılmaz. Günlük dosyalarının otomatik olarak kaldırılması, felaket durumundan geri yüklemeyi muhtemelen imkansız hale getirecektir.
-h Veritabanı ortamı için bir ana dizin (home directory) belirtir; varsayılan olarak mevcut çalışma dizini kullanılır.
-l Aktif işlemlere dahil olup olmadıklerine bakılmaksızın tüm veritabanı günlük dosyalarının yol adlarını yazar.
-P Bir ortam şifresi belirtir. Berkeley DB yardımcı programları şifre dizgelerini mümkün olan en kısa sürede geçersiz kılsa da, yetkisiz kullanıcıların komut satırı argümanlarını görebildiği veya yardımcı programların komut satırı argümanlarını içeren belleği geçersiz kılamadığı sistemlerde küçük bir savunmasızlık penceresi olabileceğini unutmayın.
-s Veritabanını felaket durumundaki arızadan geri yüklemek için arşivlenmesi gereken tüm veritabanı dosyalarının yol adlarını yazar. Veritabanı dosyalarından herhangi birine mevcut günlük dosyalarının ömrü boyunca erişilmemişse, db_archive bunları bu çıktıya dahil etmeyecektir.
Günlüğün atıfta bulunduğu dosyalardan bazılarının o zamandan beri sistemden silinmiş olması mümkündür. Bu durumda, db_archive bunları yoksayacaktır. db_recover çalıştırıldığında, günlüğün atıfta bulunduğu ve geri yükleme sırasında mevcut olmayan dosyaların silinmiş olduğu varsayılır ve bunlar geri yüklenmez.
-V Kitaplık sürüm numarasını standart çıktıya yazar ve çıkış yapar.
-v Ayrıntılı (verbose) modda çalışır, günlük dosyalarındaki kontrol noktalarını (checkpoints) gözden geçirilirken listeler.
Günlük imleç tutamaçları (log cursor handles, DB_ENV->log_cursor yöntemi tarafından döndürülür) veritabanı ortamındaki günlük dosyaları için açık dosya tanımlayıcılarına sahip olabilir. Ayrıca, veritabanı ortamı günlük kaydı alt sistemine yönelik Berkeley DB arayüzleri de (örneğin, DB_ENV->log_put ve DB_TXN->abort) günlük imleçleri tahsis edebilir ve günlük dosyaları için açık dosya tanımlayıcılarına sahip olabilir. Bir işlemin etkilenen dosya için açık bir dosya tanımlayıcısına sahip olması durumunda dosya sistemiyle ilgili sistem çağrılarının (örneğin Windows/NT üzerinde rename ve unlink) başarısız olabildiği işletim sistemlerinde, db_archive tarafından listelenen günlük dosyalarını taşımaya veya kaldırmaya çalışmak başarısız olabilir. Berkeley DB'nin günlük imleçlerini dahili kullanımı yalnızca aktif günlük dosyaları üzerinde çalışır ve dahası doğası gereği kısa ömürlüdür. Bu nedenle, böyle bir başarısızlıkla karşılaşan bir uygulama, sahip olabileceği tüm açık günlük imleçlerini kapatacak ve aksi takdirde başarılı olana kadar işlemi yeniden deneyecek şekilde yeniden yapılandırılmalıdır. (Her ne kadar ikincisi muhtemelen gerekli olmayacak olsa da; işlemlerin günlüğe kaydedildiği veya iptal edildiği bir günlük dosyasını taşımak veya yeniden adlandırmak için bir neden düşünmek zordur.)
db_archive yardımcı programı bir Berkeley DB ortamı kullanır (-h seçeneği için açıklandığı gibi, DB_HOME ortam değişkeni nedeniyle veya yardımcı program bir Berkeley DB ortamı içeren bir dizinde çalıştırıldığı için). Bir Berkeley DB ortamı kullanırken ortam bozulmasını önlemek için db_archive programına her zaman ortamdan ayrılma ve sorunsuz bir şekilde çıkma fırsatı verilmelidir. db_archive programını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_ENV->log_archive yöntemi, db_archive yardımcı programı tarafından kullanılan temel yöntemdir. Bir IEEE/ANSI Std 1003.1 (POSIX) ortamında DB_ENV->log_archive kullanımına dair bir örnek için db_archive yardımcı programının kaynak koduna bakın.
db_archive yardımcı programı başarı durumunda 0, bir hata oluşursa >0 değerini döndürerek çıkar.
Ortam
DB_HOME -h seçeneği belirtilmemişse ve DB_HOME ortam değişkeni ayarlanmışsa, DB_ENV->open metodunda açıklandığı gibi veritabanı ana dizininin yolu olarak kullanılır.
Ayrıca Bakınız
db_checkpoint(1), db_deadlock(1), db_dump(1), db_load(1), db_printlog(1), db_recover(1), db_stat(1), db_upgrade(1), db_verify(1)
Darwin 3 Aralık 2003 Darwin