www.tres.pl - Baza wiedzy Trawers ERP - Spis treści
Baza danych. Transakcyjność i restart 1. Opis ogólny Transakcyjność Spójność i integralność bazy danych Metody zapewnienia integralności danych Metoda RollForward. Kolejne kroki 2. Restart. Dokończenie procedury Wykonanie restartu Wymuszone zakończenie restartu 3. Tematy powiązane 1. Opis ogólny Transakcyjność W programie Trawers ERP występują sytuacje, gdy program zapisuje dane jednego rekordu (zapisu) do rekordów wielu innych zbiorów (tabel) powiązanych. Np. w procesie zatwierdzania faktury sprzedaży aktualizowane są: miesięczne zbiory dokumentów sprzedaży i magazynowe, polecenia księgowania w NA i MG, kartoteka należności, kartoteka odbiorców, kartoteka KIM, KSOM, ew. LOT/SER i zbiór cen LIFO/FIFO, itp. (en: Multi-row transactions, Multi-table transactions). Taki ciąg operacji na bazie danych określa się terminem: transakcja. Jest to ciag operacji, który stanowi pewną całość. Operacje z tego ciągu powinny być wykonane wszystkie lub żadna z nich. Spójność i integralność bazy danych Zapisy we wszystkich powiązanych zbiorach (tabela) muszą być spójne. Musi być zapewniona integralności bazy danych. Gdy w wyniku awarii lub innych problemow transakcja nie została dokończona, to baza danych traci integralność i przestaje być spójna. Dlatego potrzebny jest mechanizm, który zapewni integralność mimo awarii, tj. niedokończenia ciagu operacji składających się na transakcję. Metody zapewnienia integralności danych W praktyce konstruowania systemów ERP, które gromadzą informacje w wielu powiązanych zbiorach danych (tabelach), stosuje się dwie podstawowe metody zapewnienia integralności danych: * RollBack. Polega na przywróceniu integralności bazy danych (en: Recovery) do stanu przed rozpoczęciem transakcji (RollBack - powróć do stanu poprzedniego). * RollForward. Polega na przywróceniu integralności bazy danych poprzez dokończenie transakcji. RollForward (dokończ transakcje, osiągnij stan oczekiwany). W metodzie RollForward jako punkt odniesienia służy rekord (zapis) restartu. Rekord przechowuje wartości, które są oczekiwane w polach wielu zbiorów uczestniczących w transakcji. W programie Trawers ERP zastosowano metodę RollForward. Metoda RollForward. Kolejne kroki * Inicjalizacja transakcji: Kiedy proces wymaga zapisów w wielu zbiorach, program tworzy rekord restartu, zapisując w nim oczekiwane wartości dla pól tych zbiorów. * Aktualizacja pól: Program próbuje zaktualizować wszystkie wymagane pola w powiązanych zbiorach. * Sprawdzenie stanu: Jeśli aktualizacja zakończy się sukcesem dla wszystkich pól, stan zostaje ustawiony na: [0] (sukces). Jeśli nie wszystkie aktualizacje zakończą się sukcesem, stan: [1], to program wykorzystuje rekord restartu do ponowienia próby aktualizacji. * Powtórzenie aktualizacji: Program powtarza aktualizacje, korzystając z zapisanych wartości w rekordzie restartu, do momentu, aż wszystkie aktualizacje zakończą się sukcesem. Program informuje o procesie, wysyła komunikat: Restart systemu trwa ... * Zakończenie transakcji: Po pomyślnym zakończeniu wszystkich aktualizacji, stan jest ustawiany na: [0], co oznacza zakończenie transakcji. Dzięki temu mechanizmowi RollForward, program zapewnia, że wszystkie operacje są zakończone w spójny sposób, nawet w przypadku wystąpienia problemów podczas aktualizacji danych. 2. Restart. Dokończenie procedury Restart, to proces powtórzenia (dokończenia) transakcji, która aktualizuje wiele powiązanych zbiorów (tabel). Wykonanie restartu W praktyce, restart trzeba wykonać w kilku powiązanych systemach. Gdy przerwano transakcje zatwierdzania faktur sprzedaży magazynowej, to restart trzeba zrobić w systemie NA i MG. Służy do tego funkcja: AD > Trawers > Globalna gospodarka zbiorami > Restart systemów [AD_PGZ69] Dokończenie procedury Jeżeli procedura restartu nie wykona się do końca, to program wyświetli komunikat: o-- Restart NA --------------------------------------------------[X]o | Proszę dokończyć ostatnią transakcję (wykonać Restart) | o-------------------------------------------------------------------o | Esc, F5-wykonaj Restart, F6-xxREST, F7-stan na [0], F10-info | o-------------------------------------------------------------------o Wykonanie restartu W takiej sytuacji administrator powinien powtórzyć próbę wykonania (dokończenia) restartu [F5-wykonaj restart] W praktyce restart trzeba wykonać w kilku powiązanych systemach. Gdy przerwano transakcje zatwierdzania faktur sprzedaży magazynowej, to restart trzeba zrobić w systemie NA i MG. Służy do tego funkcja: AD > Trawers > Globalna gospodarka zbiorami > Restart systemów [AD_PGZ69] Funkcja sprawdza poszczególne systemy i wykonuje restart w tych, w których jest wymagany. Jeżeli restart nie wykona się, to trzeba ustalić przyczyne niezakończenia i ją usunąć. Pomocne w analizie są zapisy w logu (kronice). Kronika operacji (log) Najczęstszą przyczyną jest brak dostępu do zbiorów danych, gdy inny proces używa zbioru w trybie: na wyłączność. Trzeba zatrzymać taki proces i powtórzyć restart. Patrz też: Wyłączny dostęp do bazy danych Częstą przyczyną jest także nieuprawniona ingerencja do zapisów w bazie danych przy użyciu zewnętrznych narzędzi. Nie wolno zmieniać zapisów w zbiorach danych przy użyciu zewnętrznych programów. Informacje o oczekiwanych zapisach w zbiorach (Write-Ahead Logging (WAL)) znajdują się w rekordzie xxRESTff. Można je przeglądać i drukować [F6-xxRest]. xx - symbol systemu, np. NA MG W zbiorze xxRESTff jest wskaźnik: STARTTR = 0 - ostatnia transakcja zakończyła się poprawnie STARTTR = 1 - ostatnia transakcja nie zakończyła się poprawnie Wymuszone zakończenie restartu Doświadczony administrator może wymusić zakończenie restartu [F7-stan na [0]] Trzeba podać hasło (jednorazowe), o które prosimy zwrócić się do firmy Tres. NOTE: Hasło jest ważne 1 dzień i zależy od nr-u seryjnego programu. Metoda ustalenia hasła: magic13 Klawisz: [F7-stan na [0]] zapisuje w rekordzie restartu wskaźnik [0] STARTTR = 0 - ostatnia transakcja zakończyła się poprawnie W rzeczywistości transakcja nie zakończyła się poprawnie. Jedynie zapisano wskaźnik. Dlatego po wymuszeniu zakończenia restartu, należy usunąć dokument (transakcje) który nie zaktualizował wszystkich kartotek (tabel) w bazie danych. 3. Tematy powiązane Bezpieczeństwo. Mechanizmy Kronika operacji (log) Powiadomienia, zdarzenia Zarządzanie bazą danych Zgłoszenie problemu Zgłoszenie potrzeby Zadania administratora Trawers Wyłączny dostęp do bazy danych Słowa kluczowe #Admin-Bezpieczeństwo #TrawersERP-ZbioryDanych
www.tres.pl - Baza wiedzy Trawers ERP - Spis treści