Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Firebird veri kaybı
#1
Arkadaslar kolay gelsin.

Firebird 2.5 veritabani kullanan bir uygulamam mevcut. Bazı kullanıcılar bazı kayıtların kendileri tarafından silinmemesine rağmen veritabanından silindiğini iddia ediyorlar.
Log tablolarım olmadığı için kayıt var mıydı yok muydu silindi mi silinmedi mi gibi konularda net bir cevap bulamadim.

Silinen bazı kayıtların uygulama uzerinden silinebileceği herhangi bir ekran ya da kod mevcut değil. ancak ibexpert tarzı programlarla veritabanına bağlanıp silinebilir.

her türlü ihtimali değerlendirmeye çalışıyorum.

oncelikle firebirdde böyle bir bug'ın olmadığına emin olmak istedim ama henüz bununla ilgili bir bug kaydına ya da internette herhangi bir soruna ulaşamadım.

Bu şekilde bir sorun yaşayan arkadaş var mı ?
WWW
Cevapla
#2
(25-08-2017, Saat: 13:43)sadettinpolat Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlArkadaslar kolay gelsin.

Firebird 2.5 veritabani kullanan bir uygulamam mevcut. Bazı kullanıcılar bazı kayıtların kendileri tarafından silinmemesine rağmen veritabanından silindiğini iddia ediyorlar.
Log tablolarım olmadığı için kayıt var mıydı yok muydu silindi mi silinmedi mi gibi konularda net bir cevap bulamadim.

Silinen bazı kayıtların uygulama uzerinden silinebileceği herhangi bir ekran ya da kod mevcut değil. ancak ibexpert tarzı programlarla veritabanına bağlanıp silinebilir.

her türlü ihtimali değerlendirmeye çalışıyorum.

oncelikle firebirdde böyle bir bug'ın olmadığına emin olmak istedim ama henüz bununla ilgili bir bug kaydına ya da internette herhangi bir soruna ulaşamadım.

Bu şekilde bir sorun yaşayan arkadaş var mı ?

  Geçmiş olsun usta, bir iki yıl evvel firebird ile çalışan uygulamalarımızda standart port açığından çok problem yaşamıştık. Hatırladığım kadarıyla kayıt silinmesi yoktu ama DDos atak vb. metotlarla veri tabanını çalışamaz hale getiriyorlardı. Sizdeki sorunda böyle bir açıktan mütevellit olabilir mi acaba ?
Cevapla
#3
Sadettin'im; join'li sorguların var mı (özellikle inner join) ? Var ise ve bu sorgu nesnesi üstünden kayıt siliyor isen, sorun bundan kaynaklanıyor olabilir.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#4
Bede foreign key lerden kaynaklı olabilirmi diye düşündüm, yada bi şekilde test edilmek yazılmış bi kod trigger larda unutulmuş olabilirmi ?
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#5
(25-08-2017, Saat: 13:50)cemaliozan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(25-08-2017, Saat: 13:43)sadettinpolat Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlArkadaslar kolay gelsin.

Firebird 2.5 veritabani kullanan bir uygulamam mevcut. Bazı kullanıcılar bazı kayıtların kendileri tarafından silinmemesine rağmen veritabanından silindiğini iddia ediyorlar.
Log tablolarım olmadığı için kayıt var mıydı yok muydu silindi mi silinmedi mi gibi konularda net bir cevap bulamadim.

Silinen bazı kayıtların uygulama uzerinden silinebileceği herhangi bir ekran ya da kod mevcut değil. ancak ibexpert tarzı programlarla veritabanına bağlanıp silinebilir.

her türlü ihtimali değerlendirmeye çalışıyorum.

oncelikle firebirdde böyle bir bug'ın olmadığına emin olmak istedim ama henüz bununla ilgili bir bug kaydına ya da internette herhangi bir soruna ulaşamadım.

Bu şekilde bir sorun yaşayan arkadaş var mı ?

  Geçmiş olsun usta, bir iki yıl evvel firebird ile çalışan uygulamalarımızda standart port açığından çok problem yaşamıştık. Hatırladığım kadarıyla kayıt silinmesi yoktu ama DDos atak vb. metotlarla veri tabanını çalışamaz hale getiriyorlardı. Sizdeki sorunda böyle bir açıktan mütevellit olabilir mi acaba ?

Eyvallah ustad , saolasin. makine musterinin kendi makinesi oldugu icin virus , saldiri vs hersey olmus olabilir. firebirdun boyle bir bug'ı olacagina pek ihtimal vermiyorum ama her ihtimali de degerlendirmekte fayda var gibi. firebirdden emin olduktan sonra diger adimlara gecmeyi dusunuyorum. virus , saldiri vs olsa bile tablodan kayit silmeye yonelik bir saldiri olacagini sanmiyorum.

(25-08-2017, Saat: 13:53)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlSadettin'im; join'li sorguların var mı (özellikle inner join) ? Var ise ve bu sorgu nesnesi üstünden kayıt siliyor isen, sorun bundan kaynaklanıyor olabilir.

bi kac tablo icin geri donus oldu, bu tablolardan mesela x tablosu adinda bir tablo var , *.dfm , *.pas , stored procedur vs hicbirinde "delete from x" gibi bir ifade kullanmamisiz lakin x tablosundan da kayit silinmis gorunuyor. db'nin eski yedeklerine ulasmaya calisiyorum. elektirik kesintisi , uygulamanin normal kapanmamasi vs gibi durumlarda veritabani bozulsa anlarim ama tablodan kaydin silinmesi pek ihtimal dahilinde gelmiyor bana. ya gozumden kacan bir sey var  ya kullanici bir sekilde silmis bu kaydi ya firebirdde bir bug mevcut ya da farkli bir durum.

(25-08-2017, Saat: 13:55)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBede foreign key lerden kaynaklı olabilirmi diye düşündüm, yada bi şekilde test edilmek yazılmış bi kod trigger larda unutulmuş olabilirmi ?

mevcut stored procedureleri triggerleri vs hepsini kontrol ettim , tablodan silme islemi yapan bir kod mevcut degil. 
boyle bi kod olsa sorunun tum musterilerde ya da daha fazla sayida musteride ortaya cikmasi gerekirdi diye dusunuyorum. bu dedigim sorunlar bir kac musteride ortaya cikmis.
WWW
Cevapla
#6
Bende 2.5 kullanıyorum kullanıcılar dan banada stokhareketi silindiğine dair ve ben devir girmiştim kaydetmemiş v.s diyorlardı
Ben bir sorun bulamamıştım ama log işini biraz daha genişletim ekran görüntüsü almaya başladım kayıt eklerken silerken nerdeyse her tabloda log tuturdum ondan sonra gelen şikayetlerde bak şu elemanın şu saate silmiş ekran görüntüsüde bu gibi kanıtları sundum sadece bazı kullanıcılar uzun süren işlemlerde görev yöneticisinden programı sonlandırıyorlardı onun dışında bir sıkıntı yaşamadım.

“Do. Or do not. There is no try.”
Cevapla
#7
(25-08-2017, Saat: 14:00)sadettinpolat Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(25-08-2017, Saat: 13:50)cemaliozan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol  Geçmiş olsun usta, bir iki yıl evvel firebird ile çalışan uygulamalarımızda standart port açığından çok problem yaşamıştık. Hatırladığım kadarıyla kayıt silinmesi yoktu ama DDos atak vb. metotlarla veri tabanını çalışamaz hale getiriyorlardı. Sizdeki sorunda böyle bir açıktan mütevellit olabilir mi acaba ?

Eyvallah ustad , saolasin. makine musterinin kendi makinesi oldugu icin virus , saldiri vs hersey olmus olabilir. firebirdun boyle bir bug'ı olacagina pek ihtimal vermiyorum ama her ihtimali de degerlendirmekte fayda var gibi. firebirdden emin olduktan sonra diger adimlara gecmeyi dusunuyorum. virus , saldiri vs olsa bile tablodan kayit silmeye yonelik bir saldiri olacagini sanmiyorum.

(25-08-2017, Saat: 13:53)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlSadettin'im; join'li sorguların var mı (özellikle inner join) ? Var ise ve bu sorgu nesnesi üstünden kayıt siliyor isen, sorun bundan kaynaklanıyor olabilir.

bi kac tablo icin geri donus oldu, bu tablolardan mesela x tablosu adinda bir tablo var , *.dfm , *.pas , stored procedur vs hicbirinde "delete from x" gibi bir ifade kullanmamisiz lakin x tablosundan da kayit silinmis gorunuyor. db'nin eski yedeklerine ulasmaya calisiyorum. elektirik kesintisi , uygulamanin normal kapanmamasi vs gibi durumlarda veritabani bozulsa anlarim ama tablodan kaydin silinmesi pek ihtimal dahilinde gelmiyor bana. ya gozumden kacan bir sey var  ya kullanici bir sekilde silmis bu kaydi ya firebirdde bir bug mevcut ya da farkli bir durum.

(25-08-2017, Saat: 13:55)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBede foreign key lerden kaynaklı olabilirmi diye düşündüm, yada bi şekilde test edilmek yazılmış bi kod trigger larda unutulmuş olabilirmi ?

mevcut stored procedureleri triggerleri vs hepsini kontrol ettim , tablodan silme islemi yapan bir kod mevcut degil. 
boyle bi kod olsa sorunun tum musterilerde ya da daha fazla sayida musteride ortaya cikmasi gerekirdi diye dusunuyorum. bu dedigim sorunlar bir kac musteride ortaya cikmis.

Firebird ile ilgili değilse geriye dediğin gibi veri tabanı yönetim araçlarından biriyle (ibexpert, maestro vb.) doğrudan tablolara erişerek silinmiş olmalı. Hatırladığım kadarıyla sizin uygulamalarda gömülü bir SQL editörü yoktu değil mi? Bazen elzem lazım oluyor, bazı uygulamalara özel erişimli SQL editörü koyuyorum. Tabi müşterilerin haberi yok. Haberleri olsa SQL eğitimini bu editörle tamamlayabilirler.


Ek Dosyalar Resimler
   
Cevapla
#8
Benim demek istediğim DELETE kodu değil. SELECT ile çektiğin bir veri seti vardır ve bu seti çekerken bir başka tablo ile join yapmışsındır ve veriyi içeren dataset üzerinde kullanıcı silme işlemi yapmıştır. Bu durumda join ile bağlı olan tablolardan da kayıt silinme işlemi gerçekleşebilir Wink
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#9
(25-08-2017, Saat: 14:08)masteryoda Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBende 2.5 kullanıyorum kullanıcılar dan banada stokhareketi silindiğine dair ve ben devir girmiştim kaydetmemiş v.s diyorlardı
Ben bir sorun bulamamıştım ama log işini biraz daha genişletim ekran görüntüsü almaya başladım kayıt eklerken silerken nerdeyse her tabloda log tuturdum ondan sonra gelen şikayetlerde bak şu elemanın şu saate silmiş ekran görüntüsüde bu gibi kanıtları sundum sadece bazı kullanıcılar uzun süren işlemlerde görev yöneticisinden programı sonlandırıyorlardı onun dışında bir sıkıntı yaşamadım.

ben de bu tarz birseydir diye dusundum , onemli tablolar icin log tablolari olusturdum su an ama kullanicinin insert/update/delete yapamadigi bir tabloda bu sorun olusunca kendimden ve firebirdden biraz kuskulandim acikcasi Smile

loglari biraz takip edeyim bakalim bir sonuca ulasirim insallah

(25-08-2017, Saat: 14:14)cemaliozan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(25-08-2017, Saat: 14:00)sadettinpolat Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlEyvallah ustad , saolasin. makine musterinin kendi makinesi oldugu icin virus , saldiri vs hersey olmus olabilir. firebirdun boyle bir bug'ı olacagina pek ihtimal vermiyorum ama her ihtimali de degerlendirmekte fayda var gibi. firebirdden emin olduktan sonra diger adimlara gecmeyi dusunuyorum. virus , saldiri vs olsa bile tablodan kayit silmeye yonelik bir saldiri olacagini sanmiyorum.


bi kac tablo icin geri donus oldu, bu tablolardan mesela x tablosu adinda bir tablo var , *.dfm , *.pas , stored procedur vs hicbirinde "delete from x" gibi bir ifade kullanmamisiz lakin x tablosundan da kayit silinmis gorunuyor. db'nin eski yedeklerine ulasmaya calisiyorum. elektirik kesintisi , uygulamanin normal kapanmamasi vs gibi durumlarda veritabani bozulsa anlarim ama tablodan kaydin silinmesi pek ihtimal dahilinde gelmiyor bana. ya gozumden kacan bir sey var  ya kullanici bir sekilde silmis bu kaydi ya firebirdde bir bug mevcut ya da farkli bir durum.


mevcut stored procedureleri triggerleri vs hepsini kontrol ettim , tablodan silme islemi yapan bir kod mevcut degil. 
boyle bi kod olsa sorunun tum musterilerde ya da daha fazla sayida musteride ortaya cikmasi gerekirdi diye dusunuyorum. bu dedigim sorunlar bir kac musteride ortaya cikmis.

Firebird ile ilgili değilse geriye dediğin gibi veri tabanı yönetim araçlarından biriyle (ibexpert, maestro vb.) doğrudan tablolara erişerek silinmiş olmalı. Hatırladığım kadarıyla sizin uygulamalarda gömülü bir SQL editörü yoktu değil mi? Bazen elzem lazım oluyor, bazı uygulamalara özel erişimli SQL editörü koyuyorum. Tabi müşterilerin haberi yok Smile

boyle gizli bir sql calistirabilecegim ekran bende de var , acaba merakli bir kullanici ordan birseyler mi calistiriyor :Smile ama calistirsa bile commit edemez , gizli bir hareketle commit ediliyor ekrandan Smile

(25-08-2017, Saat: 14:14)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBenim demek istediğim DELETE kodu değil. SELECT ile çektiğin bir veri seti vardır ve bu seti çekerken bir başka tablo ile join yapmışsındır ve veriyi içeren dataset üzerinde kullanıcı silme işlemi yapmıştır. Bu durumda join ile bağlı olan tablolardan da kayıt silinme işlemi gerçekleşebilir Wink

abi veritabani islemlerinde genelde ibdataset bileseni kullandim. select , delete , insert , update sqlleri ayri ayri yazili genelde. select islemi uzerinden donen dataset uzerinden silme islemi yaptirmadim diye hatirliyorum ama yine de kodlari kontrol etmekte fayda var , belki bir yerlerde bu sekilde bir kullanim olmus olabilir.
WWW
Cevapla
#10
SELECT
   A.FieldA,
   A.FieldB,
   B.FieldC,
   B.FieldD
FROM TableA A
   INNER JOIN TableB B ON A.ID = B.AID

Yukarıdaki gibi bir kullanım, TDataSet türevi bir component içine aktarıldığında ve bu component memory üzerinde işlem yapmadığında, bu bileşen üzerinde yapılan silme işlemleri genellikle TableA ve TableB üzerinden silme işlemi gerçekleştirir. (Kullanılan veri erişim katmanına ve RDBMS'e göre değişiklik arz edebilir)
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Firebird de Enter karakter sorunu çözümü mcuyan 2 104 01-07-2018, Saat: 14:31
Son Yorum: klavye
  Firebird'de bellek Kullanımı rmzgenius 1 90 25-06-2018, Saat: 15:34
Son Yorum: klavye
  firebird 3 hakkında sorular masteryoda 9 866 06-06-2018, Saat: 18:51
Son Yorum: canbir
  Firebird Trigger'a parametre gönderme esistem 0 189 23-05-2018, Saat: 10:55
Son Yorum: esistem
  Firebird 3 embedded versiyon autoinc alan problemi canbir 4 223 16-05-2018, Saat: 23:24
Son Yorum: canbir



Konuyu Okuyanlar: 1 Ziyaretçi