[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Dlugie transakcje
> -----Original Message-----
> From: Henryk Jusza [mailto:henju@pg.gda.pl]
> Sent: Monday, February 04, 2002 2:41 PM
> To: progress@zeto.bydgoszcz.pl
> Subject: 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
Witam,
Pozwole sobie sie nie zgodzic. Pozostawienie dlugo otwartej transakcii
rzeczywiscie powoduje narastanie pliku .bi. Dzieje sie tak dlatego,
ze BI cluster, w ktorym znajduje sie informacja o otwartej transakcii
az do zakonczenia transakcii jest oznaczony jako 'busy', w zwiazku z
czym baza nie moze ponownie do niego pisac w momencie, kiedy BI cluster
chain dostanie sie ponownie do tego clustera. W tym momencie jest
automatycznie wytwarzany i dolaczany do lancucha nowy cluster - .bi rosnie.
Moze nie opisalem tego zbyt zrozumiale, polecam przeczytac dokumentacje
"Database Administration Guide and Reference", rozdzial 12.5.2 - Before
Image I/O.
A teraz co z tym zrobic.
Pomysl monitorowania _trans jest dobry, ja bym tylko dodal trzecia
mozliwosc reakcji - odlaczenie uzytkownika od bazy. Lub jeszcze lepiej
po pierwszej godzinie automatyczne wygenerowanie mailu a po drugiej
odlaczenie.
Pozdrawiam,
Piotr Ryszkiewicz
------
Strona WWW: http://pluton.pol.lublin.pl/pugpl/index.htm
Obsluga listy: listserv@zeto.bydgoszcz.pl
Archiwum listy: http://www.zeto.bydgoszcz.pl/progress/index.html
------