Article View: pl.comp.lang.delphi.bazy-danych
Article #82486Re: Firebird - "puchnąca" baza danych
From: ALO
Date: Wed, 04 Feb 2015 13:13
Date: Wed, 04 Feb 2015 13:13
56 lines
3162 bytes
3162 bytes
Użytkownik "Stregor" <stregor@wytnij.to.gmail.com> napisał w wiadomości news:54d07a5b$0$2184$65785112@news.neostrada.pl... > Cześć. > > Spotkał się ktoś z Was z takim zjawiskiem? Nie > FB 2.5, baza > 100 tabel. Działa sobie normalnie, do pewnego czasu, a > nagle zaczyna "dziczeć" - wielkość pliku .fdb rośnie bardzo szybko, tak > samo wielkość .fbk. Zwykle wygląda to tak, że jedna (lub kilka) z tabel > jest "pompowana" zerami lub losowymi znakami, ale tylko w pliku. Co to znaczy "...ale tylko w pliku .." w jakim pliku, a gdzie jeszcze można "pompować"? > W czasie robienia operacji na tabeli typu SELECT, tabela przez jakiś czas > jeszcze jest możliwa do odczytania, choć ogólnie wydajność całej bazy > spada, a tej tabeli - drastycznie spada. Poprosze plan tego selecta. Ile tabela ma rekordów? > > Problem potęgowany jest faktem, że taka baza może być użytkowana jeszcze > czasem przez długi czas, aż dostęp do niej stanie się całkowicie > niemożliwy. I wtedy okazuje się, że na przykład kopie zapasowe też są > błędne - już od roku... > > Sztuczki typu gbak/grestore z wszelkimi możliwymi ustawieniami > przełączników nie dają rezultatu. Niby czemu miałyby dać jakiś rezultat, baza nie ma "pustych" obszarów tylko tabele wypełnione być może zerami ale zera są tak samo poprawne jak jedynki. > Jedyną możliwą metodą na naprawę którą obecnie znam, to przepisanie > zawartości tabel do nowego, świeżego pliku, z pominięciem uszkodzonych > tabel. A te dane z uszkodzonych tabel nie są nikomu potrzebne? > Problem jest stosunkowo rzadki, może jeden na 1000 przypadków, może jeden > na 500, ale jest to sprawa na tyle poważna, że zaczyna niepokoić. Co jest przypadkiem? Klient używający bazy (gratuluje kilku tysięcy klientów). > Czy ja coś robię w programie bardzo niedobrego, typu "trzymasz connection > do bazy otwarty cały czas? nie idź tą drogą!" Tak bym obstawiał, sprawdź wszystkie triggery zapisujące do inkryminowanych tabel. Dodaj trigger before insert do tych tabel i wygeneruj w nim wyjątek gdy dochodzio do zapiu owych "zer". -mh
Technical Details
Message-ID:
<mat5uu$gqq$1@node1.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<54d07a5b$0$2184$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: "ALO" <alcedo@onet.pl> Newsgroups: pl.comp.lang.delphi.bazy-danych Subject: Re: Firebird - "puchnąca" baza danych Date: Wed, 4 Feb 2015 14:13:59 +0100 Organization: ATMAN - ATM S.A. Lines: 58 Message-ID: <mat5uu$gqq$1@node1.news.atman.pl> References: <54d07a5b$0$2184$65785112@news.neostrada.pl> NNTP-Posting-Host: 188.123.215.195 X-Trace: node1.news.atman.pl 1423055646 17242 188.123.215.195 (4 Feb 2015 13:14:06 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Wed, 4 Feb 2015 13:14:06 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Response X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit