[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Dlugie transakcje



opiekuje sie baza Progress 9.1 na systemie AIX 4.3.  Ostatnio zdarzylo mi
sie kilka razy, ze baza danych zatrzymala sie. Powodem tego bylo
zapelnienie pliku BI.  Prawdopodobnie przyczyna tego byla "dluga
transakcja". Ktos rozpoczal transakcje i .. poszedl do domu.

Witam !

Nie bardzo rozumiem co to znaczy "zapełnienie pliku bi". Plik ten zmienia swoją wielkość w miarę potrzeb i nie bardzo wiem jak się może "zapełnić'.

Jeśli sformułowanie to oznacza, że na dysku zabrakło miejsca na ten plik i serwer nie mógł go rozszerzyć, to przyczyna tego jest raczej inna niż to, że ktoś poszedł do domu. To sugeruje raczej, że któryś z programów aplikacji korzystających z bazy zbyt dużo danych aktualizuje w jednej transakcji. Jest to czasami efekt nie zamierzony, jeśli programista piszący ten program zrobił to nie myśląc co z tego wyniknie. Taki program trzeba poprawić, chyba że rzeczywiście jedna transkacja musi zawierać bardzo dużo aktualizacji bazy, to wtedy należy plik .bi  umieścić na innym dysku z większą ilością wolnego miejsca (lub na kilku dyskach - wiele woluminów). Jeśli taka transakcja zajmuje dużo różnych zapisów, to ochroną przed tym może być ustawienie parametru startowego serwera -L (ilość blokad) na mniejszą wartość. Wtedy program, który chce zająć dużo zapisów upadnie i będzie wiadomo który to program jest przyczyna problemów.

Gdyby ktoś poszedł do domu i zostawił otwartą transakcję (w której nie wykonuje się zbyt dużej ilości aktualizacji), to plik .bi by nie rósł, a pracę innych programów korzystających z bazy wstrzymywałyby raczej blokady EXCLUSIVE-LOCK niektórych zapisów, do których chciałyby się dostać wstrzymane programy.

Pozdrawiam,

                   
Henryk Jusza               mailto:henju@pg.gda.pl
-------------------------------------------------
Ośrodek Informatyczny Politechniki Gdańskiej
Pracownia Rozwoju Oprogramowania
tel (058) 347-28-01          fax (058) 347-24-63