Baza wiedzy Trawers ERP

Wyłączny dostęp do bazy danych

1. Opis ogólny 2. Podczas transakcji 3. Podczas operacji globalnych 4. Jak uzyskać wyłączny dostęp ? 4.1 Steruje program 4.2 Steruje administrator 5. Problemy z dostępem do zbioru 6. Tematy powiązane

1. Opis ogólny

Wyłączny dostęp do bazy danych oznacza, że podczas wykonywania operacji tylko jedna osoba (jeden użytkownik, jedna sesja) może mieć dostęp do danych. Wyłączny dostęp do bazy danych (en: Exclusive), konieczny jest podczas realizacji transakcji oraz podczas operacji globalnych na zbiorach w bazie danych. Program może żądać wyłącznego dostępu do danych gdy operacje na danych wymagają zachowania spójności i integralności. Sytuacje: Backup danych: Podczas tworzenia kopii zapasowej danych, aby upewnić się, że dane nie ulegają zmianie w trakcie procesu backupu. Aktualizacje systemu: Kiedy system ERP jest aktualizowany, zmiany w strukturze bazy danych mogą wymagać wyłącznego dostępu, aby uniknąć konfliktów lub niekompletnych aktualizacji. Operacje masowe: Podczas wykonywania operacji masowych, takich jak importowanie lub eksportowanie dużych zestawów danych, system może potrzebować wyłącznego dostępu, aby zapewnić, że wszystkie rekordy są poprawnie przetwarzane. Zmiany strukturalne: Wprowadzanie zmian w strukturze bazy danych, takich jak dodawanie nowych zbiorów, pól i indeksów, może wymagać wyłącznego dostępu, aby upewnić się, że zmiany są wprowadzane bez zakłóceń. Migracje danych: Podczas migracji danych między różnymi systemami lub bazami danych, wyłączny dostęp może być konieczny, aby zapewnić, że wszystkie dane są przenoszone poprawnie. Krytyczne operacje finansowe: Operacje finansowe, takie jak aktulizacje miesięczne i roczne roczne, mogą wymagać wyłącznego dostępu, aby upewnić się, że wszystkie transakcje są prawidłowo zaksięgowane bez ryzyka konfliktów.

2. Wyłączny dostęp podczas transakcji

Podczas realizacji transakcji program żąda wyłącznego dostępu: * do poszczególnych zapisów (wierszy) w zbiorach (en: Record Locking) RecordLock * do wielu zapisów (wierszy) (en: Multi-Record Locking) MultiLock * całych zbiorów (wszystkich wierszy w tabeli) (en: File Lock) FileLock Czas wyłącznego dostępu do danych podczas realizacji transakcji jest tak krótki, że praktycznie użytkownik nie zauważa przerwy w pracy programu Jeżeli jeden użytkownik realizuje funkcje, które wymagają wyłącznego dostępu, (en: Exclusive), to inni użytkownicy oczekujący dostępu do danych otrzymują otrzymują odpowiednie komunikaty. Gdy program nie może udostępnić danych dla innych, którzy czekają na dostęp, to informuje że: o-------------------------------------------------o | Aktualizacja danych przez innych użytkowników | o-------------------------------------------------o Zwykle po paru sekundach oczekiwania, dane są zwolnione i transakcja jest kontynuowana. Jeżeli podany komunikat pojawia się wielokrotnie, to prosimy sygnalizować nam takie przypadki. Prosimy podać jaka funkcja jest wykonywana, np. rejestracja zamówień sprzedaży oraz dołączyć kronikę (log), w której są szczegóły transakcji.
Zapisy do logu
NOTE: w parametrach logów prosimy oznaczyć te pozycje, które monitorują dostęp do danych tj. [0804] [0806] [0810] [0811] Kronika operacji (log) Zapisy w logu pozwalają na ustalenie, kto (który operator) i którą funkcją zablokował innym użytkownikom dostęp do zbioru: o-------------------------------------------------o | Nie ma dostępu do: [nazwa zbioru] | o-------------------------------------------------o Podczas transakcji, wyłączny dostęp do bazy uzyskiwany jest procedurami, zarządzającymi bazą danych: RecordLock, MultiLock, FileLock, itp.

3. Podczas operacji globalnych

Podczas operacji globalnych na zbiorach w bazie danych np. aktualizacja, indeksowania i weryfikacja, oraz podczas operacji okresowych, np. podczas zamykania okresu, program oczekuje wyłącznego dostępu do bazy danych dla użytkownika wykonującego operację. Dlatego na czas operacji, pozostali użytkownicy powinni przerwać pracę na innych stanowiskach (wylogować się). Obecnie, następujące funkcje wymagają wyłącznego dostępu do bazy danych programu Trawers ERP, tzn., że inni użytkownicy nie mogą wtedy pracować: Gospodarka zbiorami: -------------------- * Aktualizowanie zbiorów * Indeksowanie zbiorów * Weryfikacja zbiorów * Tworzenie punktu przywracania * Odtwarzanie programu z punktu przywracania Patrz szczegóły: Zarządzanie bazą danych Inne operacje: -------------- * Zamykanie okresu w: KB, MG, NA, ST, ZO, ZP Wyjątkiem jest PL gdyż ma bazy niezależne a wyłączność do własnych baz podczas wykonywania operacji zapewniona jest procedurami jak podczas transakcji tj. Record Lock i File Lock * Otwieranie okresu Patrz też: Okresy obliczeniowe * Obliczenia MRP Plan MRP tworzony jest w locie. Tylko jeden operator może mieć dostęp do planu MRP podczas obliczeń

4. Jak uzyskać wyłączny dostęp ?

4.1 Steruje program

Podczas operacji globalnych, wyłączny dostęp do bazy uzyskiwany jest procedurami zarządzającymi liczbą użytkowników (sesji) Dlatego komunikat informuje: o-----------------------------------------------------o | Aby wykonać tę funkcję, to inni użytkownicy powinni | | przerwać pracę w programie (wylogować się) | o-----------------------------------------------------o Kolejny komunikat pozwala zobaczyć kto aktualnie pracuje w programie o-----------------------------------------------------o | Nadal trwa praca na innych stanowiskach | | F10-sesje | o------------------------------------------ ----o---- o | Kto aktualnie pracuje ? -----o Komunikat pojawia się, gdy w programie pracuje kilku operatorów Gdy aktywna jest jedna sesja, to program nie wyświetla komunikatu

4.2 Steruje administrator

Administrator może zapewnić sobie wyłączny dostęp do bazy danych Może zakończyć sesje innych operatorów i zabronić im możliwości powtórnego zalogowania się (blokowanie logowania) Zarządzanie sesjami Może poprosić innych uzytkowników i zakończenie pracy z programem. Wysłać wiadomość do wszystkich aktywnych operatorów: 'Proszę zakończyć pracę'. Powiadomienia, wiadomości

5. Problemy z wyłącznym dostępem do zbioru

Jeżeli jeden użytkownik realizuje funkcje, które wymagają wyłącznego dostępu, (en: Exclusive), to inni użytkownicy oczekujący dostępu do danych otrzymują otrzymują odpowiednie komunikaty. Np. --------------------------------------------- Aby wykonać tę funkcję [AD_OTD10] to inni operatorzy powinni przerwać pracę (wylogować się) --------------------------------------------- Jeżeli okaże się, że operator jest jedynym użytkownikiem programu, to przyczyny braku wyłącznego dostępu należy szukać w środowisku systemu operacyjnego. Kroki: * Ustalić nazwę zbioru, który jest niedostępny Nazwę zbioru (pełną ścieżkę) program zapisuje w logu Oznaczyć [1] te pozycje, które monitoruja dostęp do danych: [0804] [0806] [0810] [0811] Wykonać funkcję, która nie może uzyskać wyłącznego dostępu. * Odczytać z logu komunikat z nazwą zbioru, np. Nie ma dostępu do: ../adtres/addane/ad00pamr.dbf * Ustalić proces, który używa podany zbiór. W systemie Linux wywołać polecenie: fuser lub lsof Jako root w konsoli, ustalić jaki proces używa pliku: sudo lsof <plik> sudo fuser <plik> * Poleceniem: kill zakończyć proces (domyślnie), przerwać lub zawiesić. Ew. zrestartować serwer.

6. Tematy powiązane

Zarządzanie bazą danych Zarządzanie sesjami Okresy obliczeniowe Zadania administratora Trawers Słowa kluczowe #Admin-Zadania #Admin-Bezpieczeństwo #TrawersERP-ZbioryDanych #Pomoc-AsystentAI
AsystentAI
Wyłączny dostęp do bazy danych - instrukcja krok po kroku 1. Co to jest wyłączny dostęp? Wyłączny dostęp oznacza, że tylko jeden użytkownik (jedna sesja) może w danym momencie korzystać z danych - inni muszą poczekać lub się wylogować. --- 2. Kiedy jest wymagany? | Sytuacja | Dlaczego potrzebny wyłączny dostęp | |-----------------------------|--------------------------------------------------------| | Backup danych | Aby dane nie zmieniały się w trakcie tworzenia kopii | | Aktualizacja systemu | Aby uniknąć konfliktów przy zmianach w strukturze bazy | | Operacje masowe | Import/eksport dużych danych musi być spójny | | Zmiany strukturalne | Dodawanie pól, indeksów, zbiorów | | Migracje danych | Przenoszenie danych między systemami | | Zamykanie/otwieranie okresu | Operacje finansowe wymagają pełnej kontroli | | Obliczenia MRP | Tylko jeden operator może tworzyć plan | --- 3. Jak uzyskać wyłączność? Steruje program - Program sam sprawdza, czy inni użytkownicy są aktywni. - Jeśli tak - wyświetla komunikat: _'Aby wykonać tę funkcję, inni użytkownicy powinni się wylogować.'_ - Możesz sprawdzić aktywne sesje klawiszem F10 - Sesje Steruje administrator - Może zakończyć sesje innych użytkowników. - Może zablokować możliwość ponownego logowania. - Może wysłać wiadomość do wszystkich: _'Proszę zakończyć pracę - trwa operacja wymagająca wyłącznego dostępu.'_ --- 4. Co zrobić, gdy dostęp jest zablokowany? 1. Sprawdź komunikat - np. _Nie ma dostępu do: [nazwa zbioru]_ 2. Odczytaj log systemowy - oznacz parametry: `[0804] [0806] [0810] [0811]` 3. Ustal, który proces blokuje zbiór: - W systemie Linux użyj: `sudo lsof <plik>` lub `sudo fuser <plik>` 4. Zakończ proces (jeśli to bezpieczne): `sudo kill <PID>` lub zrestartuj serwer, jeśli konieczne --- 5. Dobre praktyki - Przed operacją globalną poinformuj zespół o konieczności wylogowania. - Monitoruj sesje i dostęp do zbiorów przez logi. - Nie wykonuj krytycznych operacji w godzinach szczytu. --- Checklista dla administratora systemu Trawers ERP Który chce uzyskać lub zdiagnozować wyłączny dostęp do bazy danych. Checklista: Wyłączny dostęp do bazy danych w Trawers ERP Przed rozpoczęciem operacji globalnej - Poinformuj użytkowników o planowanej operacji (np. zamknięcie okresu, indeksowanie) - Poproś o wylogowanie się z programu - Sprawdź aktywne sesje: F10 - Sesje - Zablokuj możliwość logowania (jeśli konieczne) - Upewnij się, że masz pełne uprawnienia administracyjne --- Podczas operacji - Monitoruj komunikaty systemowe: - _Nadal trwa praca na innych stanowiskach_ - _Nie ma dostępu do: [nazwa zbioru]_ - Jeśli dostęp jest zablokowany, sprawdź logi: - Oznacz parametry: `[0804]`, `[0806]`, `[0810]`, `[0811]` - Zidentyfikuj zbiór, który jest zablokowany - Ustal, który proces go używa (Linux: `lsof`, `fuser`) - Zakończ proces (np. `kill`) lub zrestartuj serwer, jeśli bezpieczne --- Po zakończeniu operacji - Odblokuj logowanie dla użytkowników - Zweryfikuj poprawność wykonanej operacji (np. zamknięcie okresu, backup) - Zapisz notatkę w dzienniku administratora (data, typ operacji, ewentualne problemy) - Przekaż informację zespołowi: _Operacja zakończona - można wrócić do pracy_ --- Dobre praktyki - Wykonuj operacje globalne poza godzinami szczytu - Regularnie aktualizuj dokumentację techniczną - Ustal harmonogram operacji wymagających wyłączności - Przechowuj logi z operacji w bezpiecznym miejscu