ks-somed - Kamsoft Warmia

advertisement
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
[email protected]
SPIS TREŚCI
Program DBMove
1. Przenoszenie danych pomiędzy bazami systemu KS-SOMED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
iii
NOTATKI
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
lub klawi„Źródło danych” [1], użyć przycisku
sza 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”.
2
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,
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,
–
– zaznacza lub odznacza tabele występujące w
pliku [Ctrl+O],
–
– umożliwia wygenerowanie pliku z listą zaznaczonych tabel [Ctrl+S],
–
–
– 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.
– 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 „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.
– 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,
Rys. 7. Okno: Przenoszenie danych – zakładka Komunikaty
[3].
– Opcja „Po błędzie wypisz zawartość wszystkich pól”
– pozwala ocenić przyczynę błędu w razie wystąpienia
problemów ze skopiowaniem danego rekordu,
Program DBMove nie aktualizuje istniejących danych
w bazie docelowej oraz nie sprawdza czy dany rekord
istnieje już w nowej bazie.
– Opcja „Pokazuj stopień zaawansowania kopiowania
pojedyńczej tabeli” – dla każdej tabeli z osobna
pokazuje stopień zaawansowania kopiowania,
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.:
– 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,
4
– 0 – dla pól numerycznych,
– . (kropka) – dla pól tekstowych,
– 1800-01-01 – dla pól daty.
Program DBMove
Program generuje jednocześnie plik: DBMove <data>
<godzina>.sql, zawierający polecenia UPDATE aktualizujące takie rekordy.
Aby przejrzeć oraz zapisać do pliku raport z przebiegu
procesu kopiowania lub porównywania tabel, należy posłużyć się przyciskiem „Podgląd”.
Przykład:
/* ARPLEK */ update ARPLEK set ILSC = #ARPLEK ILSC where id = 164382 // było: 15000 update
ARPLEK set ILSC = #ARPLEK ILSC where id =
350951 // było: INF update ARPLEK set LIC1 = #ARPLEK 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.
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
NOTATKI
6
Download