sprawozdanie - Marek Lewandowski

Transkrypt

sprawozdanie - Marek Lewandowski
Replikacja kolejkowa (Q-replication) w IBM DB2
Paweł Kędziora, Maciej Krysiuk, Marek Lewandowski
Politechnika Poznańska
[email protected], [email protected], [email protected]
SPIS TREŚCI
1
Wstęp.................................................................................................................................. 3
1.1
Replikacja kolejkowa ................................................................................................. 3
1.2
Wymagane produkty .................................................................................................. 3
2
Instalacja i przygotowanie środowiska .............................................................................. 5
2.1
Konfiguracja baz danych............................................................................................ 5
2.2
Konfiguracja WebSphere MQ.................................................................................... 6
2.2.1
Utworzenie menedżera kolejek .......................................................................... 6
2.2.2
Utworzenie kolejek źródłowych......................................................................... 7
2.2.3
Utworzenie kolejek docelowych ........................................................................ 8
2.2.4
Kanały WebSphere MQ ..................................................................................... 8
2.2.4.1 Kanały kolejek źródłowych............................................................................ 9
2.2.4.2 Kanały kolejek docelowych ........................................................................... 9
2.3
Tabele kontrolne replikacji......................................................................................... 9
2.3.1
Tabele kontrolne programu Q Capture............................................................. 10
2.3.2
Tabele kontrolne programu Q Apply ............................................................... 11
2.4
Mapy kolejek replikacji............................................................................................ 12
2.5
Subskrypcje .............................................................................................................. 13
3
Replikacja......................................................................................................................... 14
3.1
Uruchomienie kanałów i listenerów......................................................................... 14
3.2
Uruchomienie programu Q Capture i Q Apply ........................................................ 15
3.3
Rezultat replikacji. ................................................................................................... 17
4
Literatura .......................................................................................................................... 18
2
1 Wstęp
1.1 Replikacja kolejkowa
Replikacja kolejkowa jest bardzo wydajnym, szybkim, niezawodnym i minimalizującym
obciążenie sieci komputerowej mechanizmem replikacji danych. Rozwiązanie te
wykorzystuje kolejki komunikatów w celu asynchronicznego przesyłania transakcji pomiędzy
źródłową a docelową bazą danych.
1.2 Wymagane produkty
W celu wykonania replikacji należy zainstalować (zarówno na komputerze stanowiącym
źródło jak i cel danych) następujące produkty:
•
•
•
Baza danych IBM DB2 8.2
WebSphere MQ 5.3 (lub wyższe)
WebSphere Information Integrator 6 (lub wyższe)
WebSphere MQ jest warstwą umożliwiającą aplikacjom wymienianie się komunikatami i
stanowi swego rodzaju interfejs udostępniający połączenie poszczególnych kolejek.
Rys 1.1: Komponenty replikacji kolejkowej.
3
Rys. 1.2 WebSphere MQ i jego rola pośrednicząca.
4
2 Instalacja i przygotowanie środowiska
2.1 Konfiguracja baz danych
Po zainstalowaniu wszystkich wymaganych produktów należy utworzyć bazy danych:
źródłową i docelową. W przeprowadzonym eksperymencie tabela źródłowa nazwana została
SAMPLE_K, a tabela docelowa KUBA_TGT.
Rys. 2.1: Widok okna Centrum Sterowania z widocznymi bazami: źródłową i docelową.
5
Należy utworzyć kopię zapasową źródłowej bazy danych, a następnie stworzyć dla niej log.
Rys. 2.2: Konfiguracja bazy danych – tworzenie logu.
2.2 Konfiguracja WebSphere MQ
2.2.1 Utworzenie menedżera kolejek
W celu utworzenia menedżera kolejek należy w konsoli systemu operacyjnego wpisać
następujące polecenia:
crtmqm SRC_QM
crtmqm TGT_QM
strmqm SRC_QM
strmqm TGT_QM
6
Rys. 2.3: Widok konsoli systemu operacyjnego z poleceniami utworzenia menedżerów kolejek.
2.2.2 Utworzenie kolejek źródłowych
Kolejka jest strukturą danych wykorzystywaną do przechowywania wiadomości.
Właścicielem kolejek jest menedżer kolejki (patrz 2.2.1 oraz Rys. 1.2).
Dla menedżera SRC_QM należy zdefiniować cztery kolejki:
•
SENDQ – zdalna kolejka nadawcza, która jest używana do przekazywania wiadomości
zawierających replikowane dane. Wiadomości te są przekazywane do kolejki odbiorczej
w docelowej bazie danych.
•
TGT_QM – lokalna kolejka transmisyjna przechowująca wiadomości przed
umieszczeniem ich w kanale.
•
ADMINQ – lokalna kolejka administracyjna, za pomocą której program Q Capture
otrzymuje komunikaty od programu Q Apply.
•
RESTARTQ – lokalna kolejka restartu
Aby utworzyć powyższe kolejki należy w konsoli systemu operacyjnego wpisać następujące
polecenia:
7
runmqsc SRC_QM
DEFINE QLOCAL ('ADMINQ') DEFPSIST(YES)
DEFINE QLOCAL ('RESTARTQ') DEFPSIST(YES)
DEFINE QLOCAL('TGT_QM') USAGE(XMITQ) DEFPSIST(YES)
DEFINE QREMOTE('SENDQ') RNAME('RECVQ') RQMNAME('TGT_QM') XMITQ('TGT_QM')
DEFPSIST(YES)
End
2.2.3 Utworzenie kolejek docelowych
Dla menedżera TGT_QM należy zdefiniować następujące kolejki:
•
RECVQ – lokalna kolejka odbierająca wiadomości z programu Q Capture
•
ADMINQ – zdalna kolejka administracyjna
•
SPILLQ – dzięki kolejce typu SPILL możliwe jest jednoczesne wprowadzanie danych
podczas replikacji.
•
SRC_QM – lokalna kolejka transmisyjna.
Aby utworzyć powyższe kolejki należy w konsoli systemu operacyjnego wpisać następujące
polecenia:
runmqsc TGT_QM
DEFINE QLOCAL('RECVQ') DEFPSIST(YES)
DEFINE QLOCAL('SRC_QM') USAGE(XMITQ) DEFPSIST(YES)
DEFINE QREMOTE('ADMINQ') RNAME('ADMINQ') RQMNAME('SRC_QM') XMITQ('SRC_QM')
DEFPSIST(YES)
DEFINE QMODEL('IBMQREP.SPILL.MODELQ') DEFSOPT(SHARED) MSGDLVSQ(FIFO)
DEFTYPE(PERMDYN)
End
2.2.4 Kanały WebSphere MQ
Kanały WebSphere MQ używane są do przesyłania wiadomości między menedżerami
kolejek.
8
2.2.4.1 Kanały kolejek źródłowych
Aby utworzyć powyższe kolejki należy w konsoli systemu operacyjnego wpisać następujące
polecenia:
runmqsc SRC_QM
DEFINE CHL ('SRC_QM.TO.TGT_QM') CHLTYPE(SDR) TRPTYPE(TCP) CONNAME
('150.254.32.240(1450)') XMITQ('TGT_QM') DISCINT(0)
DEFINE CHL ('TGT_QM.TO.SRC_QM') CHLTYPE(RCVR) TRPTYPE(TCP)
End
gdzie atrybutem parametru CONNAME adres IP i jeden z portów komputera na którym znajduje
się WebSphere.
2.2.4.2 Kanały kolejek docelowych
Aby utworzyć powyższe kolejki należy w konsoli systemu operacyjnego wpisać następujące
polecenia:
runmqsc TGT_QM
DEFINE CHL ('TGT_QM.TO.SRC_QM') CHLTYPE(SDR) TRPTYPE(TCP)
CONNAME('150.254.32.240(1451)') XMITQ('SRC_QM') DISCINT(0)
DEFINE CHL ('SRC_QM.TO.TGT_QM') CHLTYPE(RCVR) TRPTYPE(TCP)
End
gdzie atrybutem parametru CONNAME adres IP i jeden z portów (różny od wykorzystanego w
punkcie 2.2.4.1!) komputera na którym znajduje się WebSphere.
2.3 Tabele kontrolne replikacji
Tabele kontrolne zawierają m.in. informacje na temat tabel z których i do których
dokonywana jest replikacja danych.
Wszystkie poniższe działania wykonuje się za pomocą Repliaction Center.
9
2.3.1 Tabele kontrolne programu Q Capture
Rys. 2.4: Tabele sterujące programu Q Capture.
Rys. 2.5: Wartości, którymi należy wypełnić tabele sterujące programu Q Capture.
10
2.3.2 Tabele kontrolne programu Q Apply
Rys. 2.6: Tworzenie tabeli sterującej programu Q Apply.
Rys. 2.7: Zawartość tabeli sterującej programu Q Apply
11
2.4 Mapy kolejek replikacji
Mapy kolejek replikacji służą do powiązania ze sobą kolejki nadawczej źródła danych i
kolejki odbiorczej docelowej bazy danych.
Rys. 2.8: Tworzenie mapy kolejkowej
Rys. 2.9: Parametry tworzenia mapy kolejkowej.
12
2.5 Subskrypcje
Subskrypcje służą do mapowania tabeli źródłowej na jej kopię w docelowej bazie danych.
Tworzenie subskrypcji wymaga znajomości nazwy kolejki, która będzie wykorzystywana do
transmisji danych oraz podania tabeli źródłowej i docelowej a także wskazania mapowania,
które ma zostać wykorzystane.
Rys. 2.10: Tworzenie subskrypcji
Rys. 2.11: Stworzona subskrypcja
13
3 Replikacja
3.1 Uruchomienie kanałów i listenerów
Aby uruchomić kanały, należy najpierw uaktywnić menedżerów kolejek. Można to wykonać
wprowadzając w konsoli systemu operacyjnego następujące polecenia:
strmqm SRC_QM
strmqm TGT_QM
Następnie za pomocą poniższego polecenia należy uruchomić listener odbiorcy na kolejce
źródłowej:
runmqlsr -t tcp -m SRC_QM -p 1451
Następnie należy zainicjować nową sesję (w oknie nowej konsoli) menedżera SRC_QM:
runmqsc SRC_QM
Uruchomienie kanału:
start channel (SRC_QM.TO.TGT_QM)
end
Uruchomienie listenera dla menedżera TGT_QM:
runmqlsr -t tcp -m TGT_QM -p 1450
Następnie należy zainicjować nową sesję (w oknie nowej konsoli) menedżera TGT_QM:
runmqsc TGT_QM
Uruchomienie kanału:
start channel (TGT_QM.TO.SRC_QM)
end
Poprawność działania kanałów można sprawdzić zarówno wykonując polecenia:
DISPLAY CHSTATUS (SRC_QM.TO.TGT_QM)
DISPLAY CHSTATUS (TGT_QM.TO.SRC_QM)
14
jak i korzystając z Replication Center:
Rys. 3.1: Poprawność działania kanałów
3.2 Uruchomienie programu Q Capture i Q Apply
Rys. 3.2 Uruchomienie programu Q Capture.
Program Q Capture uruchamiany jest dla źródłowej bazy danych.
Parametr KATALOG wskazuje ścieżkę na dysku lokalnym dla serwera Q Capture, gdzie
znajdują się pliki z hasłami (umożliwiającymi dostęp do docelowej i lokalnej bazy danych)
15
oraz gdzie będą składowane pliki logu z wszystkimi komunikatami generowanymi przez
program Q Capture podczas przeprowadzania procesu replikacji.
Pliki z hasłami są tworzone i szyfrowane przez dostarczony wraz z systemem program
asnpwd:
Rys. 3.3: Tworzenie pliku asnpwd.aut z hasłami dostępu.
Po wykonaniu wygenerowanego przez system skryptu program Q Capture jest uruchomiony.
Rys. 3.4: Rezultat poprawnego uruchomienia programu Q Capture.
Program Q Apply uruchamiany jest dla docelowej bazy danych.
Uruchomienie programu Q Apply następuje z użyciem menu kontekstowego docelowej bazy
danych w oknie Centrum Replikacji. System generuje skrypt, którego wykonanie powoduje
uruchomienie programu Q Apply i w konsekwencji replikację danych.
16
Rys. 3.5 Rezultat poprawnego uruchomienia programu Q Apply
3.3 Rezultat replikacji.
Wynikiem poprawnej replikacji jest uzyskanie repliki tabeli źródłowej w docelowym
schemacie bazy danych.
Rys. 3.6: Zawartość tabeli źródłowej.
Rys. 3.7: Zawartość tabeli docelowej.
17
4 Literatura
1. „WebSphere Information Integrator Q Replication: Fast Track Implementation
Scenarios” – Nagraj Allur, Rich Briddell, Donna Kelsey, Naoko Takaya – Seria
REDBOOKS.
2. Dokumentacja techniczna IBM DB2
18

Podobne dokumenty