ORAPACK NARZĘDZIE DO OBCIĘCIA BAZY DANYCH TYPU ORACLE DLA SYSTEMU APTECZNEGO KS-AOW Odchudzenie aptecznej bazy danych typu Oracle programu KS-AOW możliwe jest za pomocą nowego narzędzia serwisowego OraPack. Przez odchudzenie bazy (obcięcie bazy) rozumie się tutaj usunięcie starych danych (w szczególności zerowych kart zakupu i historii sprzedaży) nie mających wpływu na obecny stan magazynu i dalszą pracę KS-AOW. Przed przystąpieniem do obcinania bazy danych należy upewnić się, że wszystkie połączenia do bazy aptecznej zostały zakończone na wszystkich stanowiskach (w szczególności programy pracujące w tle, jak np. pilot, apw_isoz). Po uruchomieniu narzędzia OraPack otrzymujemy do wyboru dwa schematy postępowań: możliwość utworzenia osobnego schematu do którego przeniesione zostaną obecne dane przed obcięciem bazy i obcięcie bazy z obecnego schematu aptecznego (zalecane dla Oracle bez limitu przestrzeni danych, czyli innego niż Oracle XE z ograniczeniem do 4 GB) możliwość wykonania archiwum obecnego schematu, obcięcie danych, wykonanie archiwum pozostałych danych i wczytanie do schematu (zalecane dla Oracle XE) Po wybraniu odpowiedniej metody wyświetlone zostaje okno z możliwością określenia schematu na którym dane będą usuwane (wykonane zostanie obcięcie bazy). Program na liście aliasów do wyboru pokazuje tylko aliasy BDE ze sterownikiem Oracle. Domyślnie jest wybrany alias taki jaki jest ustawiony w pliku Apman.ini (parametr ALIAS_BAZY w sekcji PARAMETRY). Także ustawienia domyślnej nazwy schematu oraz hasła dostępu są pobierane z pliku Apman.ini (parametry DB_USER oraz DB_PASSWD w sekcji PARAMETRY). Strona 1 z 6
Następnym krokiem jest określenie zakresu usuwanych danych oraz określenie czy i jak karty towarowe mają zostać uporządkowane. W przypadku bazy Oracle sposób wykonania przez serwer bazodanowy niektórych poleceń SQL (zleconych przez funkcje KS-AOW) zależny jest od zebranych statystyk dotyczących danych w tabelach. Możliwe jest ustawienie, aby po odchudzeniu bazy danych statystyki te zostały odbudowane na podstawie danych pozostawionych w tabelach. Dostępne funkcje porządkowania kartotek towarowych: nie porządkuj - pozostawia karty towarowe bez zmian; ukryj nieużywane i wyczyść dane - czyści wszystkie dane na nieużywanych kartach towarów, zmienia nazwy na Nieużywane XXX (XXX to liczba porządkowa) i ukrywa. Karty takie mogą być ponownie użyte przez mechanizm wolnych kart; usuń nieużywane - całkowicie usuwa z bazy nieużywane kartoteki towarów. Numery towarów z usuniętych kart nie będą wykorzystywane przy zakładaniu nowych kart; Strona 2 z 6
usuń nieużywane i przenumeruj - całkowicie usuwa z bazy nieużywane kartoteki towarów i dodatkowo zmienia numerację kart, aby usunąć dziury po usuniętych kartach. Towary zostaną uporządkowane według nazwy. UWAGA: Zmiana numeracji jest niewskazana w przypadku drukowania przez aptekę własnych etykiet z kodami kreskowymi. UWAGA: Nie należy stosować porządkowania kartotek w aptekach podłączonych do KS-ZSA! Kolejny etap to ustalenie nazwy archiwum i katalogu dla utworzenia archiwum danych przed obcięciem oraz ustalenie narzędzia do eksportu danych ze schematu Oracle (lokalizacja pliku exp.exe). Niektóre czynności wykonywane przez OraPack, jak np. utworzenie osobnego schematu, utworzenie przestrzeni tablic, wymagają autoryzacji na konto SYSTEM. Domyślne hasło na konto SYSTEM w przypadku Oracle XE to oraclexe. Strona 3 z 6
Po ustaleniu hasła na konto SYSTEM, w zależności od metody wybranej na początku wyświetlone zostaje: okno w którym określa się nazwę i hasło do osobnego schematu, który zostanie utworzony i przepisane zostaną do niego dane przed zmianami (po wykonaniu archiwum DMP, dane przed zmianami zostaną zaimportowane do tego schematu). Zaznaczenie przycisku weryfikacji zgodności spowoduje, że po zaimportowaniu danych do osobnego schematu zostaną porównane ilości rekordów z wszystkich tablic pomiędzy schematami przed rozpoczęciem obcinania danych ze schematu aptecznego. Dane do osobnego schematu będą importowane za pomocą narzędzia Oracle do importu (imp.exe), którego prawidłową lokalizację można określić w tym oknie. okno w którym możliwe jest określenie nazwy archiwum do utworzenia z danymi po obcięciu bazy (odchudzony schemat apteczny). Ponadto możliwe jest zaznaczenie, aby OraPack usunął istniejący schemat po wykonaniu jego archiwum, usunął zajmowaną przestrzeń tablic a następnie odbudował przestrzeń tablic we wskazanej ścieżce, utworzył schemat na nowo importując dane z utworzonego wcześniej archiwum. Do importu wykorzystane zostanie narzędzie Oracle (imp.exe), którego prawidłową lokalizację można wskazać w tym oknie. Strona 4 z 6
Wykonanie czynności odbudowania przestrzeni tablic i schematu oraz wczytanie obciętych danych spowoduje, że rozmiar zajmowanej przestrzeni w przypadku Oracle XE zostanie zmniejszony. Po zatwierdzeniu ustawień wyświetlone zostanie okno z podsumowaniem wszystkich zleconych czynności, które będą wykonane przez narzędzie OraPack. Jest to ostatni moment w którym można zrezygnować z obcinania danych ze schematu. Po wybraniu przycisku Wykonaj narzędzie OraPack przystąpi do realizacji wszystkich określonych wcześniej zadań. Opis przebiegu wykonywanych czynności jest prezentowany w oknie narzędzia OraPack w trakcie realizacji zadań. Na końcu OraPack wyświetla w tym oknie podsumowanie zadań wykonanych, a cały raport zostaje zapisany do katalogu w którym zapisano archiwum (DMP). Na czas obcinania danych wyłączane są wyzwalacze i zależności pomiędzy tabelami (klucze obce, indeksy) co znacznie przyspiesza cały proces usuwania danych. Po obcięciu zależności i wyzwalacze są ponownie aktywowane. Uwagi dodatkowe: OraPack nie pozwala na obcięcie danych, jeśli schemat z danymi jest zintegrowany z innym schematem. OraPack nie pozwala na obcięcie danych, jeśli dane nie są z programu KS-AOW. OraPack nie pozwala na obcięcie danych, jeśli jest to baza KS-ZSA. OraPack powinien być uruchamiany tylko na serwerze (nigdy na końcówce). OraPack nie rozpocznie obcinania danych, jeśli jest nawiązane inne połączenie do schematu. Nie należy porządkować kartotek towarowych jeśli apteka przekazuje dane do KS-ZSA. Porównanie IBPack i OraPack: IBPack OraPack Obcina dane KS-AOW na bazie Firebird Obcina dane KS-AOW na bazie Oracle Kopiuje dane do czystej bazy danych przenosząc Kasuje dane stare których chcemy się pozbyć, a z tylko te które mają pozostać pozostałymi nic nie robi Wykorzystuje dodatkowy alias w BDE, który Zabezpiecza dane obecnego schematu Oracle (przez wskazuje na pustą bazę docelową archiwum i/lub przekopiowanie ich do osobnego schematu Oracle), a następnie usuwa stare dane z obecnego schematu aptecznego Funkcje porządkowania towarów w IBPack oraz OraPack działają tak samo. Strona 5 z 6
Dostęp do danych archiwalnych przez przełączanie się pomiędzy schematami Po umieszczeniu starych danych aptecznych za pomocą narzędzia OraPack do osobnego schematu, możliwe jest przygotowanie stanowiska z systemem KS-AOW do przełączania się pomiędzy schematami. Można to osiągnąć na dwa sposoby: zainstalować drugą kopię KS-AOW w osobnym katalogu oraz zmienić ustawienia w Apman.ini tak by program łączył się ze starym schematem (zawierającym stare dane); wykonać plik wsadowy, który będzie kopiował pliki Apman.ini z wcześniej przygotowaną konfiguracją (jeden z podłączeniem do obecnego schematu i drugi do starego schematu), a następnie uruchamiał program apteczny. Sposób 1: 1. Zainstalować KS-AOW do osobnego katalogu, np. C:\KS\DANE2008\APW. Będą zatem dwie instancje programu: C:\KS\APW zawierająca aktualne pliki programu, łącząca się do aktualnego schematu C:\KS\DANE2008\APW zawierająca stare pliki programu, łącząca się do starego schematu 2. Zmodyfikować plik C:\KS\DANE2008\APW\Apman.ini wpisując w sekcji [PARAMETRY] następujące dane: TYTUL=KS-APTEKA Z DANYMI DO KOŃCA 2008 ROKU (inna nazwa, aby użytkownik wiedział na których danych, z którego schematu obecnie pracuje) DB_USER=APW091105 (czyli login do schematu ze starymi danymi) DB_PASSWD=APW091105 (czyli hasło do schematu ze starymi danymi) UWAGA: Upewnij się że wpisy nie są poprzedzone znakiem ;. Znak ten unieważnia wpis powodując że program pomija cały wpis (traktuje jako komentarz). 3. Umieścić na pulpit link do aktualnego programu KS-AOW (jeśli jeszcze nie ma) i link wskazujący na program KS-AOW z danymi przed obcięciem bazy oraz odpowiednio nazwać (np. KS-AOW Z DANYMI DO KOŃCA 2008). Podsumowanie: Baza z danymi starymi na osobnym schemacie pozostanie w starej strukturze,a pliki w katalogu C:\KS\DANE2008\APW nie będą musiały być już aktualizowane. Baza z aktualnymi danymi oraz pliki w katalogu aptecznym C:\KS\APW pozostają odizolowane od starych danych. Sposób 2: 1. Utworzyć nowy katalog (np. C:\KS\APW\BAT\) a w nim katalogi, np: C:\KS\APW\BAT\APW w którym będzie Apman.ini do pracy na obecnym schemacie C:\KS\APW\BAT\APW2008 w którym będzie Apman.ini do połączenia ze schematem starym (zawierającym stare dane) 2. Przekopiować do C:\KS\APW\BAT\APW obecny plik Apman.ini; 3. Przekopiować do C:\KS\APW\BAT\APW2008 plik Apman.ini z odpowiednio określonymi parametrami DB_USER, DB_PASSWD i TYTUL (tak jak opisano w sposobie 1 punkt 2); 4. Utworzyć w osobnym katalogu (np. C:\KS\APW\BAT\) dwa pliki: 1. apw.bat - plik przełączający na obecne dane apteczne (obecnie używany schemat do pracy), zawierający wpisy, np. copy c:\ks\apw\bat\apw\apman.ini c:\ks\apw\apman.ini c:\ks\apw\apman.exe 2. apw2008.bat - plik przełączający na obecne dane apteczne (obecnie używany schemat do pracy), zawierający wpisy, np. copy c:\ks\apw\bat\apw2008\apman.ini c:\ks\apw\apman.ini c:\ks\apw\apman.exe 5. Umieścić na pulpit link do aktualnego programu KS-AOW (jeśli jeszcze nie ma) i link wskazujący na program KS-AOW z danymi przed obcięciem bazy oraz odpowiednio nazwać (np. KS-AOW Z DANYMI DO KOŃCA 2008). Podsumowanie: Do obu schematów będzie się łączyć program KS-AOW w aktualnej wersji, więc aktualizując oprogramowanie, należy zawsze zaktualizować (programem APWPlus) oba schematy apteczne. Strona 6 z 6