[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