KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010
Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax: (0-32) 209-07-15 Internet: http://www.kamsoft.pl 4250@kamsoft.pl
S P I S T R E Ś C I Program DBMove 1. Przenoszenie danych pomiędzy bazami systemu KS-SOMED........................................................... 2 iii
N O T A T K I iv
KS-SOMED Program DBMove
Program DBMove 1. Przenoszenie danych pomiędzy bazami systemu KS-SOMED Do przenoszenia danych pomiędzy bazami Firebird lub bazą Firebird a Oracle, z którymi współpracuje system KS-SOMED służy program DBMove. Program znajduje się w katalogu Tools, dostępnym w katalogu głównym systemu KS-SOMED. Do przenoszenia danych przy użyciu programu DBMove zaleca się, aby ilość wolnego miejsca na dysku C była nie mniejsza niż 10 GB. Po uruchomieniu programu zostanie wyświetlone okno Przenoszenie danych, w którym należy wykonać następujące czynności: 1. Krok I Wybór źródła danych. Rys. 2. Okno: Alias. Wybór aliasu do bazy źródłowej należy zatwierdzić przyciskiem OK. Następnie zostanie wyświetlone okno do zalogowania się, w którym w polu Użytkownik należy wpisać Gabinet oraz w polu Hasło domyślne hasło GM. Rys. 3. Okno: Logowanie. Rys. 1. Okno: Przenoszenie danych zakładka Źródło danych [1]. W celu wybrania bazy źródłowej należy na zakładce Źródło danych [1], użyć przycisku lub klawisza funkcyjnego F2. Wówczas zostanie wyświetlone okno Alias, w którym należy wybrać alias do bazy źródłowej w jednej z widocznych zakładek: Zakładka Aliasy BDE, Zakładka Lokalna kartoteka, Zakładka Firebird, Zakładka Oracle, Zakładka Historia. Po wybraniu bazy źródłowej w dolnym obszarze okna Przenoszenie danych, zostanie wyświetlona lista tabel do skopiowania. Uaktywnione również zostaną następujące ikony: zaznacza wszystkie tabele [Ctrl+A], odznacza wszystkie tabele [Ctrl+U], odwraca zaznaczenie tabel [Ctrl+R], odznacza tabele archiwizacyjne [Ctrl+X], wyświetla okno, w którym można zaznaczyć lub odznaczyć wybrane grupy tabel do skopiowania, 2
Program DBMove Rys. 5. Okno: Filtr kopiowania. Rys. 4. Okno: Zaznacz/ odznacz grupy. wyświetla takie samo okno jak ikona opisana powyżej, w którym można zarówno zaznaczyć jak i odznaczyć grupy tabel, Opcja Nawiąż połączenie po każdej tabeli opcję należy włączyć przy kopiowaniu zawartości uszkodzonych baz, powoduje, że po skopiowaniu każdej tabeli zostanie nawiązane połączenie z bazą źródłową. 2. Krok II Wybór miejsca docelowego kopiowanych danych. zaznacza lub odznacza tabele występujące w pliku [Ctrl+O], umożliwia wygenerowanie pliku z listą zaznaczonych tabel [Ctrl+S], powiększa obszar listy tabel [Ctrl+Z], umożliwia ponowne nawiązanie połączenia z bazą danych [Alt+F2]. Na zakładce Źródło danych można zaznaczyć następujące opcje: Opcja Sortuj przed kopiowaniem zaznaczenie opcji powoduje, że dane z bazy źródłowej są kopiowane w sposób uporządkowany. Umożliwia to w przypadku przerwania kopiowania danych, ponowną kontynuację od przerwanego momentu. Opcja ta powinna być włączona. Opcja Filtr kopiowania przed rozpoczęciem kopiowania danych zostanie wyświetlone okno Filtr kopiowania, w którym użytkownik może podać dowolny filtr kopiowania fragment SQL a (fraza WHERE jest już w samym zapytaniu obecna, więc pomija się ją) np. ID >= 10000. Rys. 6. Okno: Przenoszenie danych zakładka Cel [2]. W celu wybrania miejsca docelowego kopiowanych danych, należy na zakładce Cel [2] użyć przycisku lub klawisza funkcyjnego F3. Wyświetlone wówczas zostanie znane już okno Alias, w którym należy wybrać alias do bazy docelowej i zatwierdzić przyciskiem OK. Następnie wyświetlone zostanie okno do zalogowania się. Sposób logowania się do bazy docelowej uzależniony jest od typu bazy. Dlatego też jeżeli jest to baza Firebird, wówczas w polu Użytkownik należy wpisać SYSDBA z uwagi na brak uprawnień do struktury bazy dla GABINET-u oraz w polu Hasło podać hasło. Jeżeli bazą docelową jest Oracle, w polu Użytkownik wystarczy wpisać Gabinet oraz w polu Hasło domyślne hasło GM. Na zakładce Cel można również zaznaczyć następujące opcje: Opcja Ignoruj błędy i kopiuj dalej zaznaczenie opcji powoduje, że w razie wystąpienia błędu 3
1. Przenoszenie danych pomiędzy bazami systemu KS-SOMED zostanie on zapisany do logu i kopiowanie będzie kontynuowane. Gdy opcja nie zostanie zaznaczona, po każdym błędzie pojawi się komunikat, Opcja Po błędzie wznów kopiowanie tej samej tabeli zaznaczenie opcji powoduje, że w razie wystąpienia błędu program będzie próbował kontynuować dalsze kopiowanie tej samej tabeli z pominięciem rekordu z błędem. Gdy opcja nie zostanie zaznaczona, program pominie tabelę z błędem i przejdzie do następnej, Opcja Po błędzie połącz ponownie zaznaczenie opcji powoduje, że w razie wystąpienia błędów i zerwaniu połączenia z bazą, połączenie zostanie ponownie wznowione, Opcja Czyść tabelę - zaznaczenie opcji powoduje, że tabela przed dokopiowaniem nowych danych będzie czyszczona. Opcję należy włączyć, gdy kopiujemy tabelę pierwszy raz. Gdy kopiujemy tabelę partiami, opcję należy włączyć tylko podczas kopiowania pierwszej paczki, przy kolejnych należy ją wyłączyć, w przeciwnym razie dane wcześniej skopiowane zostaną utracone, Opcja Commit co zaznaczenie opcji umożliwia określenie jak często mają być zatwierdzane dane. Zbyt wielka wartość nie jest wskazana, gdyż niekorzystnie wpływa na rozmiar segmentu wycofań (Oracle), zbyt mała może obniżyć wydajność, Opcja Wypełniaj puste pola, na których jest unikalny indeks część serwerów wymaga, by indeks unikalny nie zawierał żadnych wartości NULL, inne pozwalają na to, ale kombinacja taka musi być unikalna. Zaleca się włączenie tej opcji nie ma w systemie takich indeksów, przy których zakłada się istnienie wartości NULL (z uwagi na konieczność obsługi różnych serwerów), Opcja Wyłącz wyzwalacze podczas kopiowania (dla FB wymaga zalogowania się jako SYSDBA) część wyzwalaczy typu BEFORE INSERT modyfikuje dane, część dopisuje rekordy do innych tabel. Dlatego opcja ta powinna być załączona. Wymaga to zalogowania się do bazy docelowej na użytkownika posiadającego prawo do modyfikacji struktury. Dla bazy Firebird w polu Użytkownik należy wpisać SYSDBA. Opcja Wypisz różnice w strukturze tabel (brakujące pola) umożliwia skontrolować czy wszystkie dane z bazy źródłowej zostaną skopiowane do bazy docelowej, Opcja Po błędzie wypisz zawartość wszystkich pól pozwala ocenić przyczynę błędu w razie wystąpienia problemów ze skopiowaniem danego rekordu, Opcja Pokazuj stopień zaawansowania kopiowania pojedyńczej tabeli dla każdej tabeli z osobna pokazuje stopień zaawansowania kopiowania, Opcja Automatycznie porównaj ilości rekordów po zakończeniu kopiowania po zakończeniu kopiowania zostanie automatycznie uruchomiona funkcja porównywania tabel pod kątem ilości rekordów, Opcja Przy porównaniu pokazuj tylko niezgodne podczas porównywania pod kątem ilości rekorów, w raporcie pojawią się tylko te, których ilość jest różna w źródle i tabeli docelowej, Opcja Po porównaniu odznacz zgodne tabele i niekopiowalne (brak pól ID, brak tabeli docelowej) w trakcie porównywania każda tabela, dla której ilość rekordów w źródle i tabeli docelowej będzie identyczna, ale także taka, której nie można skopiować, bo brak odpowiednika w bazie docelowej, lub nie spełnia ona kryterium kopiowania będzie odznaczona z listy źródłowej (zakładka 1 Źródło danych ). W przypadku baz zawierających rozliczenia z OW NFZ należy, już po poprawnym uruchomieniu programu, wykonać zadanie USTAW SEKWENCJE REJ SWIA. Zadanie to jest dostępne w menu głównym Serwis w module Serwis, po użyciu funkcji Zarządzanie zadaniami. 3. Krok III. Kopiowanie danych. Aby rozpocząć kopiowanie danych, należy użyć przycisku Kopiowanie. Spowoduje on przejście na zakładkę Komunikaty [3], w której zostanie pokazany proces kopiowania każdej zaznaczonej tabeli. Kopiowana tabela musi mieć kolumnę ID. Nie są przenoszone rekordy z ID=0. Z tego powodu po zakończeniu kopiowania, należy bezwględnie uruchomić funkcję Testera Baz z modułu Serwis, w przeciwnym razie część danych może być niewidoczna. Rys. 7. Okno: Przenoszenie danych zakładka Komunikaty [3]. Program DBMove nie aktualizuje istniejących danych w bazie docelowej oraz nie sprawdza czy dany rekord istnieje już w nowej bazie. Większość błędów kopiowania danych jest wykrywana. W niektórych przypadkach, jak np. przy przekroczeniu zakresu kopiowanego pola (Firebird nie ma ścisłej kontroli danych, można więc wprowadzić wartość większą niż dopuszczalna dla danego pola), lub przy kopiowaniu danych z bazy Firebird do Oracle program wstawia wartości domyślne tzn.: 0 dla pól numerycznych,. (kropka) dla pól tekstowych, 1800-01-01 dla pól daty. 4
Program DBMove Program generuje jednocześnie plik: DBMove <data> <godzina>.sql, zawierający polecenia UPDATE aktualizujące takie rekordy. Przykład: /* ARPLEK */ update ARPLEK set ILSC = #AR- PLEK ILSC where id = 164382 // było: 15000 update ARPLEK set ILSC = #ARPLEK ILSC where id = 350951 // było: INF update ARPLEK set LIC1 = #AR- PLEK LIC1 where id = 350951 // było: 427860055 (gdzie INF to nieskończoność). Tu już musimy sami zadecydować, czy należy skorygować te wartości, czy pozostawiamy jak jest. Często jest tak, że błędy pojawiające się podczas kopiowania dotyczą danych archiwalnych i w programie zostały już dawno poprawione: /* ZLEC */ update ZLEC set SDATA = #ZLEC SDATA where id = 58429 // było: 5005-02-02 update ZLEC set ILSC = #ZLEC ILSC where id = 595457 // było: 20070702 (data skierowania: 5005-02-02, czy data wykonania wpisana w pole "Ilość"). Cały proces kopiowania danych rejestrowany jest w pliku logu o nazwie "DBMove <data><godzina>.txt", znajdującym się w katalogu [KS-SOMED]\ Raporty\ Log\ [użytkownik systemu Windows] to na wypadek, gdyby pracownicy serwisu KAMSOFT poprosili o przysłanie takich raportów w celu analizy. W każdym momencie można przerwać proces kopiowania, w tym celu należy użyć przycisku Przerwij. Użycie przycisku Porównaj spełnia podobną rolę jak opisana wyżej opcja Automatycznie porównaj ilości rekordów po zakończeniu kopiowania, czyli umożliwia porównywanie tabeli źródłowej i docelowej pod kątem ilości rekordów. Porównywanie tabel uwzględnia tylko rekordy ID>0. Aby przejrzeć oraz zapisać do pliku raport z przebiegu procesu kopiowania lub porównywania tabel, należy posłużyć się przyciskiem Podgląd. Rys. 9. Okno: Raport. W oknie Przenoszenie tabel znajdują się ponadto elementy: Sekcja Czas trwania rejestruje czas kopiowania pojedyńczej tabeli oraz czas trwania całego procesu kopiowania. Opcja Query Trace opcja zaznaczona automatycznie, umożliwia generować pliki Query Trace z pojawiającymi się błędami podczas procesu kopiowania, Opcja Zapam. aliasy - zapamiętuje ustawienia baz danych, użytkownika i hasła. Umożliwia automatyczne nawiązanie połączenia. Rys. 8. Okno: Przenoszenie danych proces porównywania tabel. 5
N O T A T K I 6