Skocz do zawartości
Forum użytkowników
Użytkownik GT/NEXO

Blokada bazy danych a migracja do nowszej wersji

Polecane posty

Napisano (edytowany)

Dodaliście Państwo jakoś z którąś z ostatnich wersji funkcję blokady bazy danych.
Nie wiem czy dobrze rozumiem celowość dodania tej funkcji więc proszę mnie utwierdzić lub wyprowadzić z błędu.
Zakładam, że służy ona do zablokowania dostępu do bazy próbującym się dobić a tych którzy są połączeni powinna skutecznie wylogować po 5 minutach?
Mając na uwadze powyższe, rozumiem, że taka blokada może się przydać np. przed dokonaniem aktualizacji, szczególnie gdy nie możemy się skontaktować z jakimś użytkownikiem i poprosić go o to aby wyłączył program?

Chcielibyśmy się z migrować z 27.0.0 na 27.0.2.
1. Zablokowałem bazę o 18:13 (zablokowała się do 18:43), bazę zablokowałem z poziomu serwera, logując się z mojej stacji poprzez pulpit zdalny kontem administratora domenowego.
3. Mimo, że minęło ponad 10 minut (zatem mamy 18:24) w programie serwisowym widzę, że aktywne połączenie do bazy ma nadal księgowa (w kolumnie status jest: sleeping).
Pracuje ona na zdalnym pulpicie, wbijając się na nasz serwer z zewnątrz. Loguje się do domeny. 
4. Pomyślałem, że może program serwisowy źle pokazuje i podjąłem próbę aktualizacji, wpisałem konto Administratora itd.
5. Program przewijał pasek "Przygotowywanie Bazy danych...." prawie 20 minut (baza ma ponad 20GB) następnie wyświetlił komunikat jak niżej.
Tam gdzie wykreśliłem na zielono pojawiło się (moje) konto administratora domenowego poprzez które wbiłem się na serwer zdalnym pulpitem.
 

nexo_blad.thumb.jpg.691960008ee37c78696f11fae1ef8cb0.jpg

PYTANIE 1:
W tym czasie miałem otwarty program serwisowy - czy to mogło być problemem?

PYTANIE 2:
Czy aktywny program do wysyłania archiwum (ten z paska systemowego) gdy wysyłam akurat archiwum na chmurę od INSERT będzie przeszkodą podczas aktualizacji?

TYLKO INFORMACYJNIE (to wygląda na 2 problemy):
I. Z jakiegoś powodu księgowa nie jest wylogowywana. Dziś niestety nie mogłem się do niej dodzwonić aby zapytać co ma na ekranie.
Ostatnio jednak (gdy migrowałem się do ver. 27.0.0) wystąpił jakiś podobny motyw. Nie mogłem dokonać aktualizacji, mimo że zablokowałem bazę i odczekałem z 10 minut.
Wtedy to wyświetliło komunikat, że księgowa ma aktywne połączenie i blokuje aktualizację. Gdy do niej zadzwoniłem, zajrzała do laptopa i powiedziała, że wyświetliły jej się jakieś komunikaty o wylogowaniu, wylogowało ją faktycznie. Program nie został jednak zamknięty. Może właśnie fakt "nie domknięcia" programu jest tutaj problematyczny, że księgowa niby wylogowana ale wg. programu serwisowego nadal zalogowana? 

II. Ten komunikat z kolei sugeruje (o ile dobrze rozumiem), że ja to nie ja. A przecież to ja zablokowałem bazę i to ja dokonuje jej aktualizacji.
Reasumując login i domena użytkownika blokującego w programie serwisowym jest identyczna z tym z w/w komunikatu - więc ja to ja :)

SUGESTIA:
Tak jak wspomniałem w punkcie 5, sprawdzenie, czy ktoś jest połączony z bazą zajęło okło 20 minut.
To bardzo długie i od zawsze to tyle trwa... Może jakoś idzie to ogarnąć (przebudować program) aby ten komunikat wyskoczył wcześniej?

 

 

Edytowano przez Użytkownik GT/NEXO

Udostępnij ten post


Link to postu

Odpowiedź na pytanie 1:
Tak, to pewnie program serwisowy. Blokada bazy jest "przypisana" do procesu. Więc jeśli proces 123 na komputerze X blokuje bazę, to tylko ten proces na tym komputerze ma do niej dostęp. Jeśli ten proces zostanie zakończony, to baza staje się dostępna dla innych procesów na tym komputerze (ale z innych komputerów ciągle nie można się łączyć). 

Pisząc "procesy" mam na myśli procesy związane z programami nexo, a nie dowolne. 

 

Odpowiedź na pytanie 2:
Może być. Dla świętego spokoju lepiej go wyłączyć na czas aktualizacji. 

 

I. Gdy blokuje Pan bazę na jednym komputerze, użytkownicy na innych komputerach dostają informację o tym, że program zostanie zamknięty za pewien okres czasu. Jeśli nie potwierdzą tej informacji, to program się nie zamknie (bo nie chcemy, żeby użytkownik, który np. odszedł na chwilę od komputera, stracił niezapisaną pracę). Program musi być zamknięty, żeby nexo na pewno nie łączyło się z bazą. 

II. Gdyby ten komunikat zawierał numer procesu, to wszystko byłoby jasne - nie może Pan aktualizować bazy w procesie X, bo została zablokowana przez Pana w procesie Y. 

 

Jeśli chodzi o długi czas sprawdzania, czy ktoś jest połączony - tak naprawdę to odbywa się bardzo szybko, a te 20 minut to raczej czas tworzenia automatycznej kopii zapasowej przed aktualizacją. Sugeruje to rozmiar bazy. Możliwe, że w przyszłych wersjach będziemy sprawdzać połączenia przed wykonaniem kopii. 

Udostępnij ten post


Link to postu

×