veri silinince firebird dosyası neden küçülmüyor?

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kaptan
Üye
Mesajlar: 395
Kayıt: 01 Tem 2005 04:02

veri silinince firebird dosyası neden küçülmüyor?

Mesaj gönderen Kaptan »

Soru başlıkta. Firebird veritabanından veri siliyorum fakat veritabanı boyutu küçülmüyor. 50 mblik veritabanını delphide siliyorum.hiç veri kalmıyor. ama yine 50 mb.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Silme işlemi masraflıdır. O yüzden silmiyor. Daha önce konuşuldu bunlar. Bir de yanlış alana yazmışsın. Firebird'e taşıyorum.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Sweep olayını yapmanız lazım veya BACKUP-RESTORE. Silme işlemi yaptığınızda FB dahil M$-SQL, Interbase, Oracle gibi DB'lerde de DB Boyutu küçülmez.

Kolay Gelsin.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kaptan
Üye
Mesajlar: 395
Kayıt: 01 Tem 2005 04:02

Mesaj gönderen Kaptan »

kusura bakmayın yanlış alana yazmışım.gecenin bi yarısı gözlerimden uyku akarken atınca böyle oluyor:)
Arama yaptım sweep , restore vs. var. Fakat bana garip geldi. Delphide programla veritabanından veri silinince boyutun küçülmesini sağlayamıyor muyuz? ibexpert ile vs. mi yapmam gerekiyor. Yoksa interbaseadminden mi yapılıyor delphi içerisinde.
Eğer böyleyse firebirdün bir eksikliği gibi geldi bana. :?
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Kuri_YJ yazdı:.. FB dahil M$-SQL, Interbase, Oracle gibi DB'lerde de DB Boyutu küçülmez.
Demiş Kuri_YJ. Ayrıca ben nedenini önceki mesajımda söyledim. Anlaşılmayan nedir?
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

SWEEP işlemini GBAK gibi utility'leri var onlarla yapabilirsiniz. Ayrıca SERVER'ı ilgilendiren bir iş olduğu için Client tarafından böyle bir şeyi yapmak çok doğru değil (Yani Administration-yönetsel) bir şey olduğu için programdan bunu yapmak bilmiyorum bana biraz ters.

Ayrıca illa programdan yapmak istiyorum derseniz muhakkak bir yolu vardır ben kullanmadım belki kullanan arkadaşlar olmuş olabilir. Bunun yanı sıra, IB Expert, DBWorkbench gibi toollar bunu yapabildiklerine göre sizin de yapmanız olası (yani ilgili kodu internette araştırırsanız bulabilirsiniz sanırım)

Bunlarla birlikte FB Server'ın Default ayarlarında Sweep Interval diye bir seçeneği vardır ve bu default olarak 20,000'dir. 20,000 Kayıtta bir kendi otomatik sweep yapar.

Kolay gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

eger db boyutu bu kadar takıntı halinde ise
program acılısında biraz beklet db nin backup-restoresini yaparak bir kopyasını cıkart eskisinin uzerine yaz olur biter....
yada ayda bir (her ayın son gunu gibi) calısacak sekilde program icine gomup, kapanısta bu islemi de yaptırabilirsin, aldıgın yedekleri de bir klasorde saklayıp db nin yedeginide almıs olursun....
Ayrıca cok buyuk miktarlarda veri ekleyip silmiyor isen zaten bu islemi ayda yılda bir yapman yeterli
Eger surekli silme ekleme gibi islemler yapıyorsan tasarımını yada db mantıgını bir gozden gecir...
Kolay gelsin
ÜŞENME,ERTELEME,VAZGEÇME
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

Component Palette, "InterBase Admin" sekmesinde program içinden istediğin işlemleri (backup, restore vs.) yapmanı sağlayacak componentler mevcut.

İyi çalışmalar.
Kaptan
Üye
Mesajlar: 395
Kayıt: 01 Tem 2005 04:02

Mesaj gönderen Kaptan »

Teşekkürler.
Konu anlaşılmıştır.
Cevapla