W przypadku każdego serwera przechwytywania utworzonego i skonfigurowanego przez komponent usług przenoszenia danych istnieją dwa parametry mogące mieć wpływ na zachowanie komponentów programu przechwytującego. Są to parametry lag_limit i startmode.
Parametry lag_limit i startmode mają domyślne wartości: "7 dni" i "WARMSI". Więcej informacji na temat tych parametrów można znaleźć w podręczniku DB2 SQL Replication Guide and Reference (Replikacja SQL bazy danych DB2 - podręcznik i informacje dodatkowe).
Ustawień tych nie można modyfikować do momentu wdrożenia artefaktów. Można jednak zmienić te ustawienia przed uruchomieniem któregokolwiek z serwerów komponentu programu przechwytującego, a także w przypadku aktualnie uruchomionych serwerów przechwytywania.
Uwaga: Aby zastosować dokonane zmiany w przypadku aktualnie uruchomionych serwerów przechwytywania, należy zatrzymać i zrestartować te serwery.
Jeśli domyślne ustawienia parametrów lag_limit i startmode są używane w czasie wdrażania artefaktów replikacji, a serwer przechwytywania został zatrzymany na dłużej niż 7 dni i następnie zrestartowany, to komponent programu przechwytującego zwróci błąd. Komunikat o błędzie informuje, że serwer przechwytywania nie może zostać uruchomiony z powodu przedawnienia danych.
Wartości domyślne można zastąpić na kilka sposobów. Poniżej opisano trzy metody:
- Zmodyfikuj domyślne parametry zgodnie z opisem w tabeli <CAPTURESERVERSCHEMA>.IBMSNAP_CAPPARMS. Po wdrożeniu artefaktów replikacji można określić liczbę serwerów przechwytywania utworzonych przez komponent usług przenoszenia danych w wyniku uruchomienia następującego zapytania w wykonawczej bazie danych.
CONNECT
TO RUNTIME DATABASE
SELECT DISTINCT OM_NAME, SERVICE_NAME, SRC_RM_CAP_SVR_NAME
FROM WBIRMADM.RMMETADATA
ORDER BY 1,2,3
Zostanie wyświetlona tabela podobna do poniższej:
Tabela 1. Przykładowa tabela RMMETADATAOM_NAME |
SERVICE_NAME |
SRC_RM_CAP_SVR_NAME |
SubDoctor3 |
Z wykonawczej bazy danych do bazy danych historycznych |
CAPTURE_18 |
SubDoctor3 |
Z bazy danych stanu do wykonawczej bazy danych |
CAPTURE_1 |
SubDoctor3 |
Z bazy danych stanu do wykonawczej bazy danych |
CAPTURE_115 |
SubDoctor3 |
Z bazy danych stanu do wykonawczej bazy danych |
CAPTURE_156 |
SubDoctor3 |
Z bazy danych stanu do wykonawczej bazy danych |
CAPTURE_194 |
SubDoctor3 |
Z bazy danych stanu do wykonawczej bazy danych |
CAPTURE_212 |
SubDoctor3 |
Z bazy danych stanu do wykonawczej bazy danych |
CAPTURE_250 |
SubDoctor3 |
Z bazy danych stanu do wykonawczej bazy danych |
CAPTURE_41 |
SubDoctor3 |
Z bazy danych stanu do wykonawczej bazy danych |
CAPTURE_59 |
SubDoctor3 |
Z bazy danych stanu do wykonawczej bazy danych |
CAPTURE_97 |
Nazwa
OM_NAME to nazwa projektu programu
WebSphere
Business Modeler.
Nazwa SERVICE_NAME wskazuje na usługę przenoszenia danych, a nazwa SRC_RM_CAP_SVR_NAME to identyfikator (CAPTURE SCHEMA) serwera przechwytywania używanego jako część usługi przenoszenia danych. W powyższej tabeli istnieje jeden serwer przechwytywania dla usługi przenoszenia danych z wykonawczej bazy danych do bazy danych historycznych i dziewięć dla usługi przenoszenia danych z bazy danych stanu do wykonawczej bazy danych.
Uwaga: Liczba i nazwy serwerów mogą się różnić w zależności od użytego modelu i parametrów strategii określonych w czasie generowania artefaktów.
Komponent usług bazy danych obsługuje wszystkie opcje parametrów lag_limit i startmode, ale trzeba mieć świadomość, że istnieją poważne problemy z wydajnością przy zwiększeniu liczby zimnych startów (uruchomienia serwerów przechwytywania po wystąpieniu awarii).
W przypadku wystąpienia częstych zimnych startów komponent ETL usługi przenoszenia danych zamiast zwykłego zapisywania zmian przetwarza wszystkie istniejące rekordy.
Po zidentyfikowaniu wszystkich wymagających modyfikacji serwerów przechwytywania można zmienić domyślne parametry w bazie danych. Po zmodyfikowaniu domyślnych parametrów dla każdego serwera przechwytywania można uruchomić serwery przechwytywania.
- Można też zmodyfikować wiersz komend uruchamiający serwer przechwytywania. W czasie tworzenia artefaktu usług baz danych generowane są skrypty, za pomocą których można łatwo uruchomić i zatrzymać serwery przechwytywania i wprowadzające. Skrypty uruchamiające program przechwytujący (StartCapture_#.bat lub StartCapture_#.sh) znajdują się w katalogu <nazwa_usługi_przenoszenia_danych>\source. Każdy z tych skryptów zawiera komendę asncap służącą do uruchomienia programu przechwytującego. Więcej informacji o tych parametrach można znaleźć w dokumentacji produktu IBM DB2.
Wystarczy odpowiednio zmodyfikować skrypt uruchamiający, zapisać go, a następnie uruchomić, aby uruchomić serwer przechwytywania z nowymi ustawieniami.
- Można również zmodyfikować serwer przechwytywania w trakcie wykonywania. Instrukcje dotyczące tymczasowej zmiany ustawień uruchomionego serwera przechwytywania znajdują się w dokumentacji produktu IBM DB2.