fb silinen,değiştirilen kayıtları saklıyor, nasıl erişiriz?

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
iqprog

fb silinen,değiştirilen kayıtları saklıyor, nasıl erişiriz?

Mesaj gönderen iqprog »

fb silinen,değiştirilen kayıtları saklıyor.

bu kayıtlar aslında var dosyada ama biz göremiyoruz.

bunları nasıl görürüz.

aslında bunlar altın değerinde ve zaten var. var olan bu veriye salt okunur olarak bile ki farklı bir şey olamaz nasıl erişiriz?

daha önce sormuştum ama kimse cevap vermedi, acaba şimdi bilen var mı?
Kullanıcı avatarı
hbahadir
Kıdemli Üye
Mesajlar: 544
Kayıt: 06 Ara 2004 05:03
Konum: BURSA idi artık İST.
İletişim:

Mesaj gönderen hbahadir »

iqprog

Mesaj gönderen iqprog »

hbahadir yazdı:viewtopic.php?t=14965
sizin verdiğiniz linkteki bir proram ben delphi ile yazdığımız kodlarla nasıl görürüz onu istiyorum.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

http://www.ibundelete.com/features.html Bu adresteki yazılanları okudunuz mu bilmiyorum. Eğer okuduysanız nasıl yapacağınızı biraz anlamış olmanız gerekir. Firebird açık kaynak kodlu bir yazlımdır. Veri yapısı bu nedenle bilinmektedir. Bahsi geçen program veri tabanı dosyasını byte byte taradığını idda etmekte. Bencede yapıyor. Firebird'ün sourcelarını incelerseniz veri tabanı kayıt yapısını çözerek silinmiş kayıtlara ulaşabilirsiniz.
iqprog

Mesaj gönderen iqprog »

ilgili progun dediğini yaptığına inancım var da.
o program bir undelete programı.
ben kayıtları geri almak istemiyorum.
silinen ve değiştirilen kayıtları görmek istiyorum, kullanıcıya da göstermek istiyorum. eğer bunu yaparsam ayrıca log tutmaya gerek yok. bu log oluyor zaten.

anladığım kadarıyla bununla alakalı hazırda bir çalışma yok dediğiniz gibi fb kodları falan inceleyip kendimiz yapmalıyız. o zaman o işi projenin ara sürümüne bırakıyorum. o işi halledince tüm projelerde de uygularım artık. güzel de bir şey olur.
Kaptan
Üye
Mesajlar: 395
Kayıt: 01 Tem 2005 04:02

Mesaj gönderen Kaptan »

bir bilgi söyleyeyim. sanirim silinen kayitlar veritabani restore edildiginde gozukmez. veritabanini hic onarmazsaniz gözükür. hiç onarmayacak misiniz?
iqprog

Mesaj gönderen iqprog »

firmada işim bittikten sonra bi problem olmadığı sürece gidip restore yapmam
backup yaparım ama restore yapmam.

şunu da biliriz "restore yapınca loglar uçacak". uçsun çok da önemli değil. hatta iyi bile. zaten normalde de biz programlarımızda eski logları siliyoruz. bu da onun gibi bi şey oluyor. zaten en son 1-2 aylık log değerli ondan önceki o kadar önem arzetmiyor.

illa eski loglar da olsun istenirse dosyanın da bi yedeği alınır olur biter. zaten restoreden önce mutlaka yedek alırız. o yedeği silmeyiz olur biter.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

programın nasıl kullanıldığını da okudunuz mu? Bu işlemleri program yardımıyla yapmak zor olacaktır. Birde database GB'lara ulaştığında analliz etmek iyice zorlaşır. Böyle bir yapıyı çözmek yerine neden tirger yazıp log tablolar yapmıyorsunuz? Hatta isterseniz ayrı bir databasede bile tutabilirsiniz.
iqprog

Mesaj gönderen iqprog »

tabi doğrusu o da.
o iş için her tablonun afterinsert, afterupdate, afterdelete triggerlarına kod yazmak yerine zaten var olan bir şeyi değerlendirebilir miyiz diye sesli düşündüm.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Var olan bir şey dediniz de şuna benzettim; windows da da silinen bir dosyayı veritabanındaki bir kayıt gibi düşünürsek sildikten sonra tekrar o dosyaya bazı programlarla diski taratıp ulaşmak mümkündür. Fakat zamanla bu dosyanın üzerine başka dosya bilgileri geldiğinden hiç bir önemi kalmayacaktır. Firebird de de çöp-kalıntı/garbage şeklinde olduğundan bir zaman sonra üzerlerine başka kayıtlar gelecektir diye düşünüyorum (buradaki süreci bilmesem de). Bunun sadece anlık acil durumlarda kullanılabilir bir yöntem olabileceğini düşünüyorum. Yoksa adı konmamış bir yöntemle vt içindeki silinmelerin garanti altına alındığını söylemek ne kadar mantıklı olur :?: :!:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
iqprog

Mesaj gönderen iqprog »

rsimsek bir takım tahminlerde bulunup ona göre yorum yapmışsın dostum. fb'deki yapıyla windowsdaki dosya yapısının alakası yok.

fb'de bir kayıt sildiğinizde o kayıt silindi diye işaretleniyor. sonra o kayıt üzerindeki herhangi bir bayta asla veri yazmaz fb.

fb'de bir kayıt değiştirildiğinde eski kayıt da aynı şekilde silindi ya da değiştirildi (artık ona ne derseniz) diye işaretleniyor. ve kaydın son hali için yeni bir kayıt açılıyor. sonra o eski kayıt üzerindeki herhangi bir bayta da asla veri yazmaz fb.

sonuçda her değişen kaydın eski hali ya da her silinen kayıt duruyor dosyanın içinde. sadece o kayıtlar uykuda.

ben de bunu logla bağdaştırıyorum işte. aslında bu log oluyor. bunu log olsun diye yapmamış adamlar hız için yapmışlar ama bu bi anlamda da log oluyor.

dosyayı backup restore yapmadığın sürece o kayıtlar dosyada ve de öyle kalacaklar, bu garanti hiç şüphen olmasın.

o kayıtlara ulaşırsak ekstra log tutmamıza gerek kalmaz, derdim o ama ona vaktim yok şuan biraz rahatlayınca bakacağım.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

@iqprog dostum doğru haklısın. Tahminler üzerinden fikir yürütmüşüm. Fakat aynı kayıt üzerinden birden çok kez işlem yapıldığında bunu bir log şeklinde kullanabilmek ve hangi sırada ne yapıldığını anlamak nasıl olacak pek anlayamadım :?: Madem fdb içinde neler olup bittiğini biliyorsunuz buna da bir cevabınız olacaktır :?: Bu konulardaki bilgileri kaynak gösterip paylaşırsanız seviniriz. Silinen kayıtlara bir işaret mi konuyor ki; öyle olursa indeksler şişmeye devam eder, yoksa indeks lerden mi kaldırıyor :?:
Burada bu işi yapan programlar var.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
iqprog

Mesaj gönderen iqprog »

daha önceki dediğim gibi kayıtlar kesinlikle silinmiyor, indeksler de silinmiyor.
zaten fb dosyasından gerçekte hiç kayıt silinmiyor. fb dosyaya her zaman kayıt ekliyor. bunların yönetimi transaction numaraları ile oluyor. size kaynak da göndereceğim, biraz aradım ama bölük pörçük şeylerdi. düzgün bir şey bulunca göndereceğim.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
@terminator arkadaşımızın bu konu üzerinde yazdığı yazılar fardı forumda.
onlardan faydalanabilirsin belki.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Bu olay ne için düşünülmüş acaba? Hız için mi yoksa LOG olayı için mi açıklık getirmek faydalı olur :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla