Dieses Kapitel enthält Informationen zum Einrichten und zum Betrieb der Programme Capture und Apply für DB2 DataPropagator für AS/400 Version 7.
Lesen Sie zunächst die im Folgenden aufgeführten Abschnitte und erst danach die Abschnitte zum Betrieb der Programme Capture und Apply für AS/400:
Version 1 und Version 7 von DB2 DataPropagator für AS/400 können nicht gleichzeitig ausgeführt werden. Wenn Sie derzeit Version 1 verwenden oder wenn Sie Replikationskomponenten von Version 1 in einer DB2 DataPropagator für AS/400-Umgebung der Version 5 verwenden, müssen Sie sich für eine der folgenden Vorgehensweisen entscheiden:
Verwenden Sie DJRA für alle Tasks der Replikationsverwaltung. Sowohl DJRA als auch die DB2-Steuerzentrale bieten Basisfunktionen zur Replikationsverwaltung, über die Replikationsquellen und Subskriptionsgruppen definiert werden können. Nur DJRA unterstützt ferne Journale und die Verwendung einer relativen Satznummer (Relative Record Number = RRN) als Primärschlüssel.
Um die Programme Capture und Apply einzurichten, ist zunächst das Produkt DB2 DataPropagator für AS/400 zu installieren. Anschließend muss das Capture-Programm zur Optimierung seiner Leistung angepasst werden. Dieser Abschnitt enthält Informationen zum Einrichten der Programme Capture und Apply.
Das Produkt DB2 DataPropagator für AS/400 wird auf die gleiche Art und Weise wie jedes andere Lizenzprogramm installiert. Führen Sie bei der regulären Installation die folgenden Schritte aus:
Wenn das Fenster nicht die Produkt-ID-Nummer (5769DP3) auf der Installationsanzeige enthält, verlassen Sie LICPGM, und geben Sie RSTLICPGM in der AS/400-Befehlszeile ein. Anschließend ist 5769DP3 für die Produkt-ID anzugeben.
Wenn das Fenster die ID-Nummer enthält, geben Sie neben der Nummer die Ziffer 1 ein, und drücken Sie die Eingabetaste.
Bevor Sie von einem DB2 für Windows NT- oder Windows 95-Client eine Verbindung zu einem AS/400-Server herstellen, prüfen Sie, ob Ihre Workstation richtig konfiguriert ist:
Führen Sie beispielsweise die folgenden Schritte aus, um eine Verbindung von einer DB2 für Windows NT-Workstation zu einem AS/400-Server herzustellen:
MYDBOS2 9.112.14.67 RCHASDPD RCHASDPD DB2400E *LOCAL RCHASLJN RCHASLJN
db2 catalog tcpip node server-name remote server-name server 446 system server-name ostype OS400 db2 catalog dcs database datenbankname AS datenbankname db2 catalog database datenbankname AS datenbankname at node server-name authentication dcs
Dabei ist server-name der TCP/IP-Host-Name des AS/400-Systems, und datenbankname ist der Name der relationalen AS/400-Datenbank, die in Schritt 1 ermittelt wurde.
db2 terminate
CHGUSRPRF USRPRF (benutzer) CCSID(37)
db2 connect to datenbankname user benutzername using kennwort
STRTCPSVR SERVER(*DDM)
Die Installation von DB2 DataPropagator für AS/400 sollte erfolgen, bevor die Tools zur Replikationsverwaltung verwendet werden, da während des Installationsprozesses der Befehl CRTDPRTBL ausgeführt wird. Dieser Befehl bewirkt die automatische Erstellung der Replikationssteuertabellen. Diese Tabellen werden in der DataPropagator Relational-Datensammlung (mit dem Namen ASN) erstellt, wenn sie nicht bereits vorhanden waren.
Das Installationsprogramm erstellt darüber hinaus ein SQL-Journal, einen
SQL-Journalempfänger für diese Bibliothek sowie
Arbeitsverwaltungsobjekte. Tabelle 8 zeigt die erstellten
Arbeitsverwaltungsobjekte.
Tabelle 8. Arbeitsverwaltungsobjekte
Beschreibung | Objektart | Name |
---|---|---|
Subsystembeschreibung | *SBSD | QDPR/QZSNDPR |
Jobwarteschlange | *JOBQ | QDPR/QZSNDPR |
Jobbeschreibung | *JOBD | QDPR/QZSNDPR |
Anmerkung zur Arbeitsverwaltung: Sie können die Standarddefinitionen ändern oder eigene Definitionen bereitstellen. Weitere Informationen zum Ändern dieser Definitionen enthält die Veröffentlichung OS/400 Work Management V4R3, IBM Form SC41-5306.
Werden die Replikationssteuertabellen unbeabsichtigt gelöscht oder beschädigt, können sie manuell unter Verwendung des Befehls CRTDPRTBL (Create DPR Tables) wieder erstellt werden. Zur Ausführung dieses Befehls ist die Berechtigung *ALLOBJ erforderlich.
Wichtig: AS/400-Steuertabellen sollten ausschließlich mit dem Befehl CRTDPRTBL erstellt werden. Verwenden Sie nicht das Verwaltungs-Tool DJRA zum Erstellen der Steuertabellen.
>>-CRTDPRTBL----+----------------------+----------------------->< | .-7--. | '-DPRVSN(--+-5--+---)--'
Tabelle 9. Parameterdefinitionen für den Befehl CRTDPRTBL bei AS/400
Parameter | Definition und Bedienerführung |
---|---|
DPRVSN | Gibt die Version der zu erstellenden Steuertabellen an.
|
Um die Leistung des Capture-Programms zu steuern, können Sie vier Anpassungsparameter auf dem Server einstellen, indem Sie die Werte der Spalten in der Tabelle mit Anpassungsparametern ändern.
Um die Anpassungsparameter anzugeben, führen Sie eine der folgenden Funktionen aus:
Mit dem Befehl CHGDPRCAPA (Change DPR Capture Attributes) können die globalen Betriebsparameter in der Tabelle mit Anpassungsparametern für das Capture-Programm geändert werden.
Sie können die aktuellen Werte der Attribute des Capture-Programms anzeigen, indem Sie den Befehl CHGDPRCAPA absetzen und die Taste F4 drücken, um die Bedienerführung zu dem Befehl aufzurufen.
>>-CHGDPRCAPA----+---------------------------+------------------> '-RETAIN(--+-*SAME---+---)--' '-minuten-' >-----+------------------------+--------------------------------> '-LAG(--+-*SAME---+---)--' '-minuten-' >-----+----------------------------+----------------------------> '-FRCFRQ(--+-*SAME----+---)--' '-sekunden-' >-----+---------------------------+---------------------------->< '-CLNUPITV(--+-*SAME-+---)--' '-1-100-'
Tabelle 10. Parameterdefinitionen für den Befehl CHGDPRCAPA bei AS/400
Parameter | Definition und Bedienerführung |
---|---|
RETAIN | Gibt den neuen Aufbewahrungszeitraum an; dies ist die Dauer (in
Minuten), für die Daten in den CD-Tabellen und in der UOW-Tabelle verbleiben
sollen, bevor sie gelöscht werden.
Der Wert dieses Parameters wird zusammen mit dem Parameter CLNUPITV verwendet. Bei Erreichen des CLNUPITV-Werts werden die Daten in den CD- und UOW-Tabellen gelöscht, wenn die Zeile in der UOW-Tabelle zeigt, dass die Transaktion älter ist als der Wert dieses Parameters. Stellen Sie sicher, dass das Apply-Intervall so eingestellt ist, dass die geänderten Informationen vor dem Erreichen des Werts im RETAIN-Parameter kopiert werden. Damit wird verhindert, dass die Tabellen inkonsistent werden. Werden die Tabellen inkonsistent, führt das Apply-Programm vollständige Aktualisierungen durch.
|
LAG | Gibt die neue maximale Verzögerung an, d. h. die Dauer
(in Minuten), für die das Capture-Programm verzögert sein kann, bevor der
Inhalt der CD-Tabellen gelöscht und das Erfassen von Änderungen neu gestartet
wird. Bei Erreichen des Grenzwerts für die Verzögerung
(d. h., wenn die Zeitmarke des Journaleintrags älter ist als
die aktuelle Zeit abzüglich des Verzögerungsgrenzwerts) geht das
Capture-Programm davon aus, dass es den entstandenen Rückstand nicht mehr
aufarbeiten kann. Daraufhin wird ein Kaltstart für die Tabellen
ausgeführt, die für dieses Journal verarbeitet werden. Das
Apply-Programm führt dann eine vollständige Aktualisierung durch, um dem
Capture-Programm einen neuen Ausgangspunkt zur Verfügung zu stellen.
Normalerweise wird hier ein hoher Wert gewählt, der keine Auswirkungen
hat.
|
FRCFRQ | Gibt an, wie oft (ungefähre Angabe) das Capture-Programm Änderungen in
die CD-Tabellen und in die UOW-Tabelle schreibt.
Das Capture-Programm stellt die Änderungen dem Apply-Programm dann zur Verfügung, wenn die Puffer voll sind oder wenn die Zeit abgelaufen ist - je nachdem, welcher Fall zuerst eintritt. Dieser Parameter ist zu verwenden, um dem Apply-Programm Quellentabellenänderungen auf Servern mit wenigen Quellentabellenänderungen schneller zur Verfügung zu stellen. Es handelt sich hier um einen globalen Wert, der für alle definierten Quellentabellen gilt. Wenn ein geringerer Wert eingestellt wird, kann sich dies auf die Prozessorleistung auswirken.
|
CLNUPITV | Gibt die maximale Wartezeit an, bevor das Capture-Programm alte Sätze in
den CD-Tabellen und in der UOW-Tabelle (falls vorhanden) löscht. Dieser
Parameter wird zusammen mit dem Parameter RETAIN verwendet.
Der Wert dieses Parameters wird von Stunden in Sekunden umgesetzt und in der Spalte PRUNE_INTERVAL der Tabelle mit Anpassungsparametern gespeichert. Wenn die Spalte PRUNE_INTERVAL manuell geändert wird (d. h. nicht unter Verwendung des Befehls CHGDPRCAPA), stellen Sie möglicherweise Abweichungen (durch Aufrunden) fest, wenn Sie mit der Taste F4 die Bedienerführung aufrufen.
|
In den beiden folgenden Abschnitten (Erteilen von Berechtigungen und Entziehen von Berechtigungen) werden die Befehle beschrieben, mit denen die Berechtigung für die Replikationssteuertabellen erteilt und entzogen werden.
Mit dem Befehl GRTDPRAUT (Grant DPR Authority) wird eine Liste von Benutzern für die Replikationssteuertabellen berechtigt. Die berechtigten Benutzer können dann die Programme Capture und Apply ausführen. Dabei gelten für Benutzer, die die Programme Capture und Apply ausführen, möglicherweise andere Berechtigungsanforderungen als für Benutzer, die Replikationsquellen und -ziele definieren.
Zum Erteilen von Berechtigungen ist die Berechtigung *ALLOBJ erforderlich.
>>-GRTDPRAUT---USER(--+---benutzername---+---)------------------> '-*PUBLIC----------' .-7--. >----AUT(--+-*REGISTRAR--+---)---DPRVSN(--+-5--+---)------------> +-*SUBSCRIBER-+ +-*CAPTURE----+ '-*APPLY------' .-*ALL-------. >----APYQUAL(--+-*USER------+---)------------------------------>< '-apply-qual-'
Tabelle 11. Parameterdefinitionen für den Befehl GRTDPRAUT bei AS/400
Parameter | Definition und Bedienerführung |
---|---|
USER | Gibt die Benutzer an, die berechtigt sind.
|
AUT | Gibt die Art der DB2 DataPropagator für AS/400-Berechtigung an, die
erteilt werden soll.
|
DPRVSN | Gibt die Version von DB2 DataPropagator für AS/400 an.
|
APYQUAL | Gibt das Apply-Qualifikationsmerkmal an, das von dem mit dem Parameter
USER angegebenen Benutzer verwendet werden soll. Dieser Parameter wird
nur bei Angabe von AUT(*APPLY) oder AUT(*SUBSCRIBER) verwendet.
|
Sie können den Befehl GRTDPRAUT nicht verwenden, während das Capture- oder Apply-Programm ausgeführt wird oder wenn Anwendungen, die auf die Quellentabellen zugreifen, aktiv sind, da ein Ändern der Berechtigungen für Dateien, die gerade verwendet werden, nicht möglich ist.
Wenn USER1 berechtigt werden soll, Replikationsquellen zu definieren und zu ändern, geben Sie folgenden Befehl ein:
GRTDPRAUT USER(USER1) AUT(*REGISTRAR) DPRVSN(7)
Wenn USER1 berechtigt werden soll, Subskriptionen zu definieren und zu ändern, geben Sie folgenden Befehl ein:
GRTDPRAUT USER(USER1) AUT(*SUBSCRIBER) DPRVSN(7)
Wenn USER1 berechtigt werden soll, bestehende Subskriptionen zu definieren und zu ändern, die dem Apply-Qualifikationsmerkmal A1 zugeordnet sind, geben Sie folgenden Befehl ein:
GRTDPRAUT USER(USER1) AUT(*SUBSCRIBER) DPRVSN(7) APYQUAL(A1)
Wenn ein Benutzer berechtigt werden soll, das Apply-Programm auf dem Steuerungs-Server-System für alle Subskriptionen auszuführen, die dem Apply-Qualifikationsmerkmal A1 zugeordnet sind, und der Ziel- und Steuerungs-Server sind identisch, gehen Sie folgendermaßen vor:
GRTDPRAUT USER(USER1) AUT(*APPLY) DPRVSN(7) APYQUAL(A1)
GRTDPRAUT USER(USER1) AUT(*APPLY) DPRVSN(7) APYQUAL(A1)
Wenn der Anwendungs-Server-Job auf dem vom Apply-Programm verwendeten Quellen-Server unter einem anderen Benutzerprofil ausgeführt wird (z. B. QUSER), ist folgender Befehl zu verwenden:
GRTDPRAUT USER(QUSER) AUT(*APPLY) DPRVSN(7) APYQUAL(A1)
In den folgenden Tabellen sind die Berechtigungen aufgeführt, die über die Parameter
im Befehl GRTDPRAUT erteilt werden.
Die folgende Tabelle zeigt die Berechtigungen, die bei Angabe des
Parameters AUT(*REGISTRAR) im Befehl GRTDPRAUT erteilt
werden:
Tabelle 12. Berechtigungen, die über GRTDPRAUT AUT(*REGISTRAR) erteilt werden
Bibliothek | Objekt | Typ | Version | Berechtigungen |
---|---|---|---|---|
QSYS | ASN | *LIB | 5 7 | *USE, *ADD |
ASN | QSQJRN | *JRN | 5 7 | *OBJOPR, *OBJMGT |
ASN | IBMSNAP_REGISTER | *FILE | 7 | *OBJOPR, *READ, *ADD, *UPD, *DLT |
ASN | IBMSNAP_REGISTERX | *FILE | 7 | *OBJOPR, *READ, *ADD, *UPD, *DLT |
ASN | IBMSNAP_REG_EXT | *FILE | 5 7 | *OBJOPR, *OBJMGT, *READ, *ADD, *UPD, *DLT |
ASN | IBMSNAP_REG_EXTX | *FILE | 5 7 | *OBJOPR, *OBJMGT, *READ, *ADD, *UPD, *DLT |
ASN | IBMSNAP_UOW | *FILE | 5 7 | *OBJOPR, *OBJMGT, *READ, *ADD *DLT |
ASN | IBMSNAP_UOW_IDX | *FILE | 5 7 | *OBJOPR, *OBJMGT, *READ, *ADD, *DLT |
ASN | IBMSNAP_PRUNCNTL | *FILE | 7 | *OBJOPR, *READ |
ASN | IBMSNAP_CCPPARMS | *FILE | 5 7 | *OBJOPR, *READ, *UPD |
ASN | QZSNCTLBLK | *USRSPC | 5 7 | *CHANGE |
ASN | ASN4B* | *SQLPKG | 7 | *USE |
ASN | ASN4C* | *SQLPKG | 7 | *USE |
QSYS | Quellenbibliothek | *LIB | 5 7 | *USE |
Quellenbibliothek | Quellentabelle | *FILE | 5 7 | *OBJOPR, *READ |
QSYS | Steuerbibliothek | *LIB | 5 7 | *USE, *ADD |
Steuerbibliothek | CDtimestamp - CD-Tabelle | *FILE | 7 | *USE, *OBJMGT, *OBJEXIST |
Die folgende Tabelle zeigt die Berechtigungen, die bei Angabe des
Parameters AUT(*SUBSCRIBER) im Befehl GRTDPRAUT erteilt
werden:
Tabelle 13. Berechtigungen, die über GRTDPRAUT AUT(*SUBSCRIBER) erteilt werden
Bibliothek | Objekt | Typ | Version | Berechtigungen |
---|---|---|---|---|
QSYS | ASN | *LIB | 7 | *USE, *ADD |
QSYS | IBMSNAP_SUBS_SET | *FILE | 7 | *CHANGE |
ASN | IBMSNAP_APPLYTRAIL | *FILE | 7 | *CHANGE |
ASN | IBMSNAP_SUBS_COL | *FILE | 7 | *CHANGE |
ASN | IBMSNAP_SUBS_EVENT | *FILE | 7 | *CHANGE |
ASN | IBMSNAP_SUBS_STMTS | *FILE | 7 | *CHANGE |
ASN | IBMSNAP_SUBS_MEMBR | *FILE | 7 | *CHANGE |
ASN | IBMSNAP_REGISTER | *FILE | 7 | *USE, *UPD |
ASN | IBMSNAP_REG_EXT | *FILE | 5 7 | *USE, *UPD |
ASN | IBMSNAP_PRUNCNTL | *FILE | 7 | *USE, *ADD, *DLT |
ASN | ASN4U* | *SQLPKG | 7 | *USE |
ASN | ASN4A* | *SQLPKG | 7 | *USE |
QSYS | Quellenbibliothek | *LIB | 5 7 | *USE |
Quellenbibliothek | Quellentabelle | *FILE | 5 7 | *OBJOPR, *READ |
QSYS | Steuerbibliothek | *LIB | 7 | *USE |
Steuerbibliothek | ASNtimestampPC - Löschsteuertabelle | *LIB | 7 | *USE |
Steuerbibliothek | CD-Tabelle | *FILE | 5 7 | *OBJOPR, *READ |
Steuerbibliothek | Interne CCD-Tabelle | *FILE | 5 7 | *OBJOPR, *READ |
QSYS | Zielbibliothek | *LIB | 7 | *USE, *ADD |
Zielbibliothek | Zieltabelle | *FILE | 7 | *USE, *OBJMGT, *OBJEXIST |
Die folgende Tabelle zeigt die Berechtigungen, die bei Angabe des
Parameters AUT(*CAPTURE) im Befehl GRTDPRAUT erteilt werden:
Tabelle 14. Berechtigungen, die über GRTDPRAUT AUT(*CAPTURE) erteilt werden
Bibliothek | Objekt | Typ | Version | Berechtigungen |
---|---|---|---|---|
QSYS | ASN | *LIB | 5 7 | *USE, *OBJMGT |
ASN | IBMSNAP_REGISTER | *FILE | 5 7 | *USE, *UPD |
ASN | IBMSNAP_REG_EXT | *FILE | 5 7 | *USE, *UPD |
QSYS | Steuerbibliothek | *LIB | 5 7 | *USE |
Steuerbibliothek | CD-Tabelle | *FILE | 5 7 | *OBJOPR, *OBJMGT, *READ, *UPD, *DLT, *ADD |
Steuerbibliothek | CD-Tabelle | *FILE | 5 7 | *OBJOPR, *OBJMGT, *READ, *UPD, *DLT, *ADD |
ASN | IBMSNAP_PRUNCNTL | *FILE | 7 | *USE, *UPD |
ASN | IBMSNAP_CRITSEC | *FILE | 7 | *USE |
ASN | IBMSNAP_CCPPARMS | *FILE | 5 7 | *USE |
ASN | IBMSNAP_UOW | *FILE | 5 7 | *CHANGE |
ASN | IBMSNAP_TRACE | *FILE | 7 | *CHANGE |
ASN | IBMSNAP_WARM_START | *FILE | 7 | *CHANGE |
ASN | IBMSNAP_AUTHTKN | *FILE | 7 | *CHANGE |
ASN | QZSBCTKBLK | *USRSPC | 5 7 | *CHANGE |
ASN | ASNB* | SQLPKG | 7 | *USE |
ASN | ASNC* | SQLPKG | 7 | *USE |
Die folgende Tabelle zeigt die Berechtigungen, die bei Angabe des
Parameters AUT(*APPLY) im Befehl GRTDPRAUT erteilt werden:
Tabelle 15. Berechtigungen, die über GRTDPRAUT AUT(*APPLY) erteilt werden
Bibliothek | Objekt | Typ | Version | Berechtigungen |
---|---|---|---|---|
QSYS | ASN | *LIB | 5 7 | *USE |
ASN | IBMSNAP_SUBS_SET | *FILE | 7 | *CHANGE |
ASN | IBMSNAP_APPLYTRAIL | *FILE | 7 | *CHANGE |
ASN | IBMSNAP_SUBS_COLS | *FILE | 7 | *USE |
ASN | IBMSNAP_SUBS_EVENT | *FILE | 7 | *USE |
ASN | IBMSNAP_SUBS_STMTS | *FILE | 7 | *USE |
ASN | IBMSNAP_SUBS_MEMBR | *FILE | 7 | *USE |
ASN | ASNA* | *SQLPKG | 7 | *USE |
ASN | ASNU* | *SQLPKG | 7 | *USE |
ASN | IBMSNAP_REGISTER | *FILE | 7 | *USE, *UPD |
ASN | IBMSNAP_REG_EXT | *FILE | 5 7 | *USE, *UPD |
ASN | IBMSNAP_UOW | *FILE | 5 7 | *USE, *UPD |
ASN | IBMSNAP_PRUNCNTL | *FILE | 7 | *USE, *UPD, *ADD |
ASN | IBMSNAP_CRITSEC | *FILE | 7 | *USE, *ADD |
ASN | IBMSNAP_AUTHTKN | *FILE | 7 | *USE, *ADD |
QSYS | Steuerbibliothek | *LIB | 5 7 | *USE |
Steuerbibliothek | CD-Tabelle | *FILE | 5 7 | *USE |
QSYS | Zielbibliothek | *LIB | 7 | *USE |
Zielbibliothek | Zieltabelle | *FILE | 7 | *CHANGE, *OBJMGT |
Mit dem Befehl RVKDPRAUT (Revoke DPR Authority) wird die Berechtigung für die Replikationssteuertabellen entzogen, d. h., die betreffenden Benutzer sind nicht mehr in der Lage, Replikationsquellen und Subskriptionen zu definieren oder zu ändern.
.-------------------. V | .-7--. >>-RVKDPRAUT--USER(--+------benutzername----+-+---)---DPRVSN(--+-5--+---)--> '-*PUBLIC----------------' >--------------------------------------------------------------><
Der Befehl gibt in allen der folgenden Fälle eine Fehlernachricht zurück:
Tabelle 16. Parameterdefinitionen für den Befehl RVKDPRAUT bei AS/400
Parameter | Definition und Bedienerführung |
---|---|
USER | Gibt die Benutzer an, deren Berechtigung entzogen werden soll.
|
DPRVSN | Gibt die Version von DB2 DataPropagator für AS/400 an.
|
Um die Berechtigungen für die Steuertabellen zu entziehen, geben Sie folgenden Befehl ein:
RVKDPRAUT USER(benutzername) DPRVSN(7)
Wenn Sie eine der folgenden Aktivitäten ausführen, während ein Capture-Journaljob aktiv ist, wird die Ausführung abgebrochen und die Nachricht ASN2301 oder ASN2201 in das Jobprotokoll geschrieben:
Um die erfolgreiche Ausführung des Capture-Programms zu gewährleisten, sind folgende Richtlinien zu beachten:
Wenn die Datenerfassung für eine bestimmte Quellentabelle nicht möglich ist, ändert das Capture-Programm den Status der Quellentabelle. Anstatt Änderungen zu erfassen, wird eine vollständige Aktualisierung angefordert. (Tabelle 20 zeigt, unter welchen Umständen die Datenerfassung für eine Quellentabelle nicht möglich ist.) Ähnliche Situationen sind:
Wenn Sie eine Anweisung ALTER TABLE für die Quellentabelle ausführen müssen, ist zunächst die Subskription zu entfernen und die Quellentabelle neu zu definieren. Alternativ können Sie die DJRA-Funktion List or Change replication sources verwenden, um die CD-Tabelle zu korrigieren. Wenn Sie Zieltabellen definiert haben, können Sie die Zieltabellen auch mit der DJRA-Funktion List members or add a column to target table ändern.
DB2 DataPropagator für AS/400 verwendet die Informationen über Datenänderungen, die von den Journalen empfangen werden, um die CD- und UOW-Tabellen für die Replikation zu füllen.
DB2 DataPropagator für AS/400 wird bei den meisten Operationen mit COMMIT-Steuerung ausgeführt und erfordert deshalb das Aufzeichnen der Steuertabellen. (Das Journal QSQJRN wird erstellt, wenn mit dem Befehl CRTDPRTBL eine Datensammlung erstellt wird.)
Der Administrator muss das Journal QSQJRN manuell in der Bibliothek erstellen, die die Steuertabellen für die Replikationsquelle enthält, und außerdem in der Bibliothek, in der die Zieltabellen enthalten sind. Ferner muss der Administrator sicherstellen, dass alle Quellentabellen ordnungsgemäß aufgezeichnet werden.
In den früheren Versionen von DB2 DataPropagator für AS/400 befanden sich die Definitionen der Replikationsquellen (einschließlich die einer Quelle zugeordneten Steuertabellen) und das Capture-Programm stets auf demselben System. Bei Einsatz der Funktion zur fernen Journalführung können nun die Definitionen der Replikationsquellen sowie das Capture-Programm und seine Steuertabellen vom System mit den Quellentabellen auf ein anderes verlegt werden, um auf dem System mit den Quellentabellen Ressourcen freizugeben. Durch die ferne Journalführung können die Prozessorauslastung reduziert, DASD-Ressourcen eingespart und die Leistung insgesamt erheblich verbessert werden.
Wichtig: Die hier beschriebene Konfiguration verfolgt den Zweck, dass sich die Definitionen der Replikationsquellen auf demselben System IBM AS/400 wie das Replikationsziel befinden.
Für eine Replikationsquellendefinition, die sich auf eine ferne Quellentabelle bezieht, ist eine Subskription von anderen Plattformen wie z. B. vom Apply-Programm für OS/390 oder vom Apply-Programm für UNIX-Plattformen nicht möglich.
Um eine Replikationsquelle mit fernen Journalen zu definieren, wählen Sie zunächst Define One Table as a Replication Source im DJRA-Hauptfenster aus. Wählen Sie anschließend eine AS/400-Quellentabelle und dann die Indexzunge AS/400 Policies aus. Auf der geöffneten Notizbuchseite aktivieren Sie das Markierungsfeld für das ferne Journal, und geben Sie die Bibliothek und den Namen des fernen Journals sowie den Capture-Server an.
Weitere Informationen zur fernen Journalfunktion enthält die Veröffentlichung AS/400 Remote Journal Function for High Availability and Data Replication, IBM Form SG24-5189.
Um die Journale für die Quellentabellen einzurichten, benötigen Sie die Berechtigung zum Erstellen der Journale und Journalempfänger für die zu definierenden Quellentabellen.
Wichtig: Die Quellentabellen sollten nicht in einem der Journale aufgezeichnet werden, die von DB2 DataPropagator für AS/400 in der ASN-Bibliothek, der Quellenbibliothek, der Steuerbibliothek oder der Zielbibliothek erstellt werden (QSQJRN-Journale).
Zum Erstellen eines Journals für Quellentabellen gehen Sie folgendermaßen vor:
CRTJRNRCV JRNRCV(JRNLIB/RCV0001) THRESHOLD(50000) TEXT('DataPropagator-Journalempfänger')
Beachten Sie dabei Folgendes:
CRTJRN JRN(JRNLIB/DJRN1) JRNRCV(JRNLIB/RCV0001) MNGRCV(*SYSTEM) DLTRCV(*YES) TEXT('DataPropagator-Journal')
Beachten Sie dabei Folgendes:
Im Parameter RCVSIZOPT des Befehls CRTJRN können Sie zwei Werte (*RMVINTENT und *MINFIXLEN) zum Optimieren der Speicherverfügbarkeit und Systemleistung angeben. Weitere Informationen hierzu finden Sie in der Veröffentlichung AS/400 Programming: Performance Tools Guide.
STRJRNPF FILE(bibliothek/datei) JRN(JRNLIB/DJRN1) OMTJRNE(*OPNCLO) IMAGES(*BOTH)Geben Sie den Namen des Journals an, das Sie im zweiten Schritt erstellt haben. Das Capture-Programm benötigt den Wert *BOTH für den Parameter IMAGES.
Das Capture-Programm verwendet den Befehl RCVJRNE (Receive Journal Entry) für Ihre Journale.
Es wird empfohlen, das Ändern der Journalempfänger vom AS/400-System vornehmen zu lassen. Dies wird als systemverwaltete Journaländerung bezeichnet. Geben Sie MNGRCV(*SYSTEM) beim Erstellen des Journals an, oder ändern Sie das Journal auf diesen Wert. Wird die Unterstützung für die systemverwaltete Journaländerung verwendet, muss ein Journalempfänger erstellt werden, der die Schwelle angibt, bei der das System Journalempfänger ändern soll. Der Schwellenwert muss bei mindestens 5000 KB liegen und ist in Abhängigkeit von der Anzahl der Transaktionen auf dem System festzulegen. Das System hängt den Empfänger automatisch ab, wenn der Schwellenwert (Empfängergröße) erreicht wird; falls möglich, erstellt es einen neuen Journalempfänger und hängt ihn an.
Wenn Sie MNGRCV(*USER) beim Erstellen des Journals angeben (d. h., das Ändern der Journalempfänger soll vom Benutzer verwaltet werden), wird eine Nachricht an die Nachrichtenwarteschlange des Journals gesendet, wenn der Journalempfänger einen bestimmten Speicherschwellenwert erreicht (falls ein solcher Wert für den Empfänger definiert wurde).
Über den Befehl CHGJRN können Sie den bisherigen Journalempfänger abhängen und einen neuen anhängen. Dies verhindert Fehlerbedingungen des Typs Eintrag nicht aufgezeichnet und begrenzt den Speicherbereich, den das Journal verwendet. Damit die Leistung nicht beeinträchtigt wird, sollte der Journalempfänger nicht zu Zeiten hoher Systemauslastung geändert werden.
Wenn Sie die Journalempfänger wieder vom System verwalten lassen wollen, geben Sie CHGJRN MNGRCV(*SYSTEM) ein.
Der aktuelle Journalempfänger sollte regelmäßig abgehängt und ein neuer Journalempfänger zugeordnet werden; dies hat folgende Gründe:
Die Standardnachrichtenwarteschlange für ein Journal ist QSYSOPR. Wenn Ihre Nachrichtenwarteschlange QSYSOPR bereits viele Nachrichten enthält, können Sie dem Journal eine andere Nachrichtenwarteschlange (z. B. DPRUSRMSG) zuordnen. Sie können ein Nachrichtenbehandlungsprogramm zur Überwachung der Nachrichtenwarteschlange DPRUSRMSG einsetzen. Weitere Informationen zu den Nachrichten, die an die Journalnachrichtenwarteschlange gesendet werden können, finden Sie in der Veröffentlichung OS/400 Sicherung und Wiederherstellung.
Wenn Sie DB2 DataPropagator für AS/400 auf einem System ab Version V4R2 installieren, wird automatisch eine Exit-Routine DLTJRNRCV (Delete Journal Receiver) registriert. Diese Exit-Routine wird immer dann aufgerufen, wenn ein Journalempfänger gelöscht werden soll, und zwar unabhängig davon, ob er für das Aufzeichnen der Quellentabellen verwendet wird oder nicht. Die Exit-Routine ermittelt, ob ein Journalempfänger gelöscht werden kann oder nicht. (Das heißt, Sie brauchen dies nicht mehr manuell zu überprüfen. Außerdem ist es nicht mehr erforderlich, alte Empfänger mit dem Befehl ANZDPRJRN zu löschen.)
Um die Exit-Routine DLTJRNRCV zu nutzen und die Journalverwaltung vom System ausführen zu lassen, geben Sie DLTRCV(*YES) und MNGRCV(*SYSTEM) im Befehl CHGJRN oder CRTJRN ein.
Wenn das Journal, zu dem der Empfänger gehört, keiner der Quellentabellen zugeordnet ist, billigt die Exit-Routine das Löschen des Empfängers.
Wenn der Journalempfänger aber von einer oder mehreren Quellentabellen verwendet wird, überprüft die Exit-Routine den Empfänger auf Einträge, die noch nicht vom Capture-Programm verarbeitet wurden. Die Exit-Routine untersagt das Löschen des Empfängers, wenn das Capture-Programm noch Einträge in diesem Empfänger verarbeiten muss.
Wenn Sie einen Journalempfänger löschen müssen, die Exit-Routine das Löschen aber nicht zulässt, geben Sie DLTJRNRCV DLTOPT(*IGNEXITPGM) ein, um die Exit-Routine außer Kraft zu setzen.
Wenn Sie das Löschen der Journalempfänger manuell vornehmen wollen, können Sie die Exit-Routine DLTJRNRCV (Delete Journal Receiver) durch Eingabe des folgenden Befehls entfernen:
RMVEXITPGM EXITPNT (QIBM_QJO_DLT_JRNRCV) FORMAT(DRVC0100) PGMNBR(wert)
Um den PGMNBR-Wert für den Befehl RMVEXITPGM zu ermitteln, gehen Sie folgendermaßen vor:
Wenn DB2 DataPropagator für AS/400 Version 5769DP3 ursprünglich auf einem V4R1-System installiert wurde und das Betriebssystem dann auf V4R2 oder V4R3 erweitert wurde (ohne eine erneute Installation des Produkts), müssen Sie die Exit-Routine durch Eingabe des folgenden Befehls registrieren:
ADDEXITPGM EXITPNT(QIBM_QJO_DLT_JRNRCV) FORMAT(DRCV0100) PGMNBR(wert *LOW) CRTEXITPNT(*NO) PGM(QDPR/QZSNDREP)
Bevor Sie bei DB2 DataPropagator für AS/400 Quellentabellen als Replikationsquellen definieren können, müssen Sie für die Steuertabellen berechtigt sein.
Für das Definieren von Replikationsquellen und Subskriptionsgruppen gibt es bei DB2 DataPropagator für AS/400 keine Befehle. Stattdessen ist das Verwaltungs-Tool DJRA (DB2 DataJoiner Replication Administration) zum Definieren der Replikationsquellen und Subskriptionsgruppen zu verwenden. Bevor Sie eine Tabelle als Replikationsquelle definieren können, müssen ein Vorabbild und ein Nachabbild der Quellentabelle im Journal aufgezeichnet werden. Außerdem muss die Bibliothek, in der die CD-Tabelle erstellt wird, über ein QSQJRN-Journal verfügen.
Bei DB2 DataPropagator für AS/400 können die von Ihnen als Replikationsquellen definierten Tabellen etwa 2000 Spalten enthalten; die exakte Spaltenanzahl hängt von der Länge der Namen der einzelnen Spalten ab. Diese Begrenzung besteht, da die vom Apply-Programm für AS/400 bereitgestellten Zeichenfolgen 32 K nicht überschreiten können.
Werden Tabellen als Replikationsquellen definiert, müssen die CCSID-Attribute der CHAR-, VARCHAR-, GRAPHIC- und VARGRAPHIC-Spalten in der CD-Tabelle mit den CCSID-Spaltenattributen der Quellentabelle identisch sein.
Bei DB2 DataPropagator für AS/400 enthalten viele Quellentabellen keine Spalte, die als Primärschlüsselspalte identifiziert werden kann. Bei DB2 DataPropagator sind aber Primärschlüsselspalten erforderlich, damit das Apply-Programm verfolgen kann, welche Aktualisierungen bereits auf welche Zieltabellenzeilen angewendet wurden. Um dies zu ermöglichen, unterstützt DB2 DataPropagator für AS/400 die Verwendung relativer Satznummern (Relative Record Numbers = RRNs) von Quellentabellenzeilen als Primärschlüsselspalten. Sowohl die CD-Tabelle als auch die Zieltabelle enthalten eine zusätzliche Spalte IBMQSQ_RRN mit dem Datentyp INTEGER. Diese Spalte enthält die relative Satznummer der Zeile in der Quellentabelle.
Weil sich die relative Satznummer einer Quellentabellenzeile nicht ändert (es sei denn, die Quellentabelle wird reorganisiert), kann der Wert der relativen Satznummer als Primärschlüssel für die Quellentabellenzeile verwendet werden (vorausgesetzt, es erfolgt keine Reorganisation). Jedes Mal, wenn eine Quellentabelle reorganisiert wird (beispielsweise zum Komprimieren gelöschter Zeilen), führt DB2 DataPropagator für AS/400 eine vollständige Aktualisierung aller Zieltabellen aus.
Wichtig: Nur das Apply-Programm für AS/400 kann zur Verwaltung von Kopien verwendet werden, die Spalten mit relativen Satznummern enthalten - unabhängig davon, ob sich diese Kopien auf einer AS/400- oder einer anderen DB2-Zielplattform befinden.
Um eine Replikationsquelle mit einer RRN-Spalte zu definieren, wählen Sie zunächst Define One Table as a Replication Source im DJRA-Hauptfenster aus. Wählen Sie anschließend eine AS/400-Quellentabelle und dann die Indexzunge AS/400 Policies aus. Auf der geöffneten Notizbuchseite ist anschließend das RRN-Markierungsfeld zu aktivieren.
Mit den in diesem Abschnitt beschriebenen Befehlen können die Benutzer-ID des Replikationsadministrators und Benutzer mit der Berechtigung *CAPTURE folgende Funktionen von Capture für AS/400 ausführen:
In diesem Abschnitt wird außerdem beschrieben, wie das Capture-Programm Warm- und Kaltstarts ausführt (unter Warm- und Kaltstarts).
Mit dem Befehl STRDPRCAP (Start DPR Capture) kann das Erfassen von Änderungen in AS/400-Datenbanktabellen gestartet werden. Da dieser Befehl alle Replikationsquellen in der Registriertabelle verarbeitet, muss der Benutzer, der diesen Befehl ausführt, über die erforderliche Berechtigung verfügen.
Nach dem Starten des Capture-Programms wird dieses kontinuierlich ausgeführt, bis es gestoppt wird oder einen nicht behebbaren Fehler entdeckt.
>>-STRDPRCAP----+--------------------------+--------------------> | .-*YES--. | '-RESTART(--+-*NO---+---)--' >-----+--------------------------------------------+------------> | .-*LIBL/QZSNDPR--------------. | '-JOBD(--+-bibliothek/jobbeschreibung-+---)--' >-----+----------------------+---+----------------------+-------> | .-7--. | | .-120--. | '-DPRVSN(--+-5--+---)--' '-WAIT(--+-wert-+---)--' >-----+---------------------------------------------------------+> | .-*DPRVSN--------------. .-*IMMED---. | '-CLNUPITV(--+-*GLOBAL--------------+---+-*DELAYED-+---)--' '-wartezeit-in-stunden-' '-*NO------' >-----+------------------------------------------+--------------> | .-*ALL----------------------. | | | .----------------------. | | | | V | | | '-JRN(--+----bibliothek/journal---+-+---)--' >-----+--------------------------------+----------------------->< | .-*ALLCHG----. | '-GENCDROW(--+-*REGCOLCHG-+---)--'
Tabelle 17. Parameterdefinitionen für den Befehl STRDPRCAP bei AS/400
Der Befehl STRDPRCAP kann manuell oder automatisch beim einleitenden Programmladen (IPL-Startprogramm) ausgeführt werden. Weitere Informationen zum Ausführen des Befehls STRDPRCAP über ein Startprogramm enthält die Veröffentlichung OS/400 Work Management V4R3, IBM Form SC41-5306.
Wenn die über den Parameter JOBD angegebene Jobbeschreibung die Jobwarteschlange QDPR/QZSNDPR verwendet und das DB2 DataPropagator für AS/400-Subsystem nicht aktiv ist, wird das Subsystem durch den Befehl STRDPRCAP gestartet. Wenn die Jobbeschreibung die Verwendung einer anderen Jobwarteschlange und eines anderen Subsystems vorsieht, müssen Sie dieses Subsystem manuell über den Befehl STRSBS (Start Subsystem) entweder vor oder nach Ausführung des Befehls STRDPRCAP starten:
STRSBS QDPR/QZSNDPR
Sie können das System so einrichten, dass das Subsystem automatisch gestartet wird. Nehmen Sie dazu den Befehl STRSBS in das Programm auf, auf das im QSTRUPPGM-Systemwert auf Ihrem System Bezug genommen wird.
Um den Verarbeitungsfortschritt des Capture-Programms zu ermitteln, müssen Sie entweder die Verarbeitungsdifferenz zwischen dem letzten Capture- und dem letzten Apply-Vorgang feststellen oder das DJRA-Programm Replication Monitor verwenden.
Nach dem Verarbeitungsende des Capture-Programms können Sie den Verarbeitungsstatus der Warmstarttabelle entnehmen. Für jedes Journal, das von den Quellentabellen verwendet wird, ist eine Zeile vorhanden. Die Spalte LOGMARKER enthält die Zeitmarke des zuletzt erfolgreich verarbeiteten Journaleintrags. In der Spalte SEQNBR finden Sie die Folgenummer für diesen Journaleintrag.
Wenn das Capture-Programm noch aktiv ist, können Sie den Verarbeitungsstatus ermitteln, indem Sie die folgenden Schritte ausführen:
DSPJRN FILE(JRNLIB/DJRN1) RCVRNG(*CURCHAIN) FROMTIME(zeitmarke) TOTIME(*LAST) JRNCDE(J F R C) OUTPUT(*OUTFILE) ENTDTALEN(1) OUTFILE(bibliothek/ausgabedatei)
In dem Beispiel steht zeitmarke für die in Schritt 4 ermittelte Zeitmarke.
Die Anzahl der Sätze in der Ausgabedatei gibt annähernd die Anzahl der Journaleinträge an, die noch vom Capture-Programm verarbeitet werden müssen.
Verwenden Sie den Befehl SBMJOB, um das Capture-Programm auf Ihrem System IBM AS/400 zu einem bestimmten Zeitpunkt zu starten:
SBMJOB CMD('STRDPRCAP...') SCDDATE(...) SCDTIME(...)
Verwenden Sie den Befehl ENDDPRCAP (End DPR Capture), um das Capture-Programm zu beenden.
Der Befehl dient zum Beenden des Capture-Programms, bevor das System heruntergefahren wird. Er kann aber auch eingesetzt werden, um das Programm zu Zeiten hoher Systemauslastung zu beenden und damit die Verarbeitungsleistung anderer aktiver Programme zu verbessern.
>>-ENDDPRCAP----+----------------------------+------------------> | .-*CNTRLD--. | '-OPTION(--+-*IMMED---+---)--' >-----+----------------------+--------------------------------->< | .-7--. | '-DPRVSN(--+-5--+---)--'
Tabelle 18. Parameterdefinitionen für den Befehl ENDDPRCAP bei AS/400
Parameter | Definition und Bedienerführung |
---|---|
OPTION | Gibt an, wie das Capture-Programm beendet werden soll.
|
DPRVSN | Gibt die Version des zu beendenden Capture-Programms an.
|
Bei Verwendung des Befehls ENDJOB bleiben möglicherweise temporäre Objekte in der QDPR-Bibliothek erhalten. Diese Objekte haben den Typ *DTAQ und *USRSPC und tragen die Bezeichnung QDPRnnnnnn. Dabei ist nnnnnn die Jobnummer des Jobs, der die Objekte verwendet hat. Sie können diese Objekte löschen, wenn der Job, der sie verwendet hat (erkennbar an der Jobnummer im Objektnamen), nicht aktiv ist.
Wenn der Job QDPRCTL5 nach Ausführung dieses Befehls auch nach einer längeren Wartezeit nicht beendet wird, geben Sie den Befehl ENDJOB mit der Option *IMMED ein. Dadurch wird der betreffende Job zusammen mit allen Journaljobs beendet, die im DB2 DataPropagator für AS/400-Subsystem ausgeführt werden. Apply-Jobs, die im selben Subsystem ausgeführt werden, dürfen nicht beendet werden, wenn nur das Capture-Programm gestoppt werden soll.
Es ist in seltenen Fällen möglich, dass die über QDPRCTL5 erstellten Journaljobs aktiv bleiben, wenn der Job QDPRCTL5 abnormal beendet wurde. Diese Jobs können nur über den Befehl ENDJOB mit der Option *IMMED oder *CNTRLD beendet werden.
Der Befehl INZDPRCAP (Initialize DPR Capture) initialisiert das Capture-Programm. Dabei wird der Capture-Prozess angewiesen, mit einer aktualisierten Liste von Quellentabellen zu arbeiten.
Die Quellentabellen unter der Steuerung des Programms können sich während der Ausführung des Capture-Programms ändern. Verwenden Sie deshalb den Befehl INZDPRCAP, um sicherzustellen, dass das Capture-Programm einen möglichst aktuellen Stand der Replikationsquellen verarbeitet.
Wenn Sie die Werte der Anpassungsparameter ändern, während das Capture-Programm aktiv ist, geben Sie den Befehl INZDPRCAP ein, um das Programm mit den neuen Werten zu reinitialisieren.
Das Capture-Programm muss bereits aktiv sein, wenn Sie diesen Befehl ausführen.
>>-INZDPRCAP----+----------------------+------------------------> | .-7--. | '-DPRVSN(--+-5--+---)--' >-----+------------------------------------------+------------->< | .-*ALL----------------------. | | | .----------------------. | | | | V | | | '-JRN(--+----bibliothek/journal---+-+---)--'
Tabelle 19. Parameterdefinitionen für den Befehl INZDPRCAP bei AS/400
Parameter | Definition und Bedienerführung |
---|---|
DPRVSN | Gibt die Version des zu initialisierenden Capture-Programms an.
|
JRN | Gibt eine Untermenge von bis zu 50 Journalen an, mit denen das
Capture-Programm arbeiten soll. Das Capture-Programm beginnt mit der
Verarbeitung aller Quellentabellen, die derzeit in diesem Journal
aufgezeichnet werden.
|
Der Parameter CLNUPITV im Befehl STRDPRCAP gibt die maximale Wartezeit (in Stunden) an, bevor das Capture-Programm alte Sätze aus den CD-Tabellen und der UOW-Tabelle löscht. Weitere Informationen zum Parameter CLNUPITV finden Sie im Abschnitt Starten von Capture für AS/400.
Das Bereinigen dient nicht zur DASD-Wiederherstellung. Zur DASD-Wiederherstellung müssen Sie regelmäßig den Befehl RGZPFM (Reorganize Physical File Member) auf die CD- und UOW-Tabellen anwenden. Mit dem Befehl RGZPFM werden gelöschte Bereiche wiederhergestellt, indem aktive Zeilen nach vorne verschoben werden. Dazu ist eine EXCLRD-Sperre der Datei und des Members erforderlich, und dies muss erfolgen, wenn die Programme Capture und Apply nicht ausgeführt werden.
Wichtig: Geben Sie RGZPFM-Befehle einmal pro Woche ein.
Der Wert des Parameters RESTART im Befehl STRDPRCAP steuert, wie das Capture-Programm Warm- und Kaltstarts ausführt.
Die Warmstartinformationen werden in den meisten Fällen gesichert. Nur in Ausnahmefällen erfolgt keine Sicherung. In diesem Fall verwendet das Capture-Programm die CD-Tabellen, die UOW-Tabelle oder die Löschsteuertabelle, um den Zustand zum Zeitpunkt des Programmabschlusses wiederherzustellen.
In bestimmten Fällen schaltet das Capture-Programm zu einem Kaltstart um, auch wenn Sie einen Warmstart angefordert haben. Auf Systemen AS/400 werden Kaltstarts für jedes Journal unabhängig ausgeführt. Wenn also beispielsweise ein Journal das Limit für die maximale Verzögerung überschreitet, erfolgt für alle Replikationsquellen, die dieses Journal verwenden, ein Kaltstart. Für Replikationsquellen, die andere Journale verwenden, wird dagegen kein Kaltstart ausgeführt.
Weitere Informationen darüber, wie das Capture-Programm verschiedene Journaleintragstypen verarbeitet, finden Sie in Tabelle 20.
In der folgenden Tabelle wird beschrieben, wie das Capture-Programm
unterschiedliche Journaleintragstypen verarbeitet.
Tabelle 20. Verarbeitung von Journaleinträgen durch das Capture-Programm
Journalcode3 | Eintragstyp | Beschreibung | Verarbeitung |
---|---|---|---|
C | CM | Gruppe der Satzänderungen festgeschrieben | Einfügen eines Satzes in die UOW-Tabelle |
C | RB | Rückgängigmachen (Rollback) | Keine UOW-Zeile eingefügt |
F | AY | Aufgezeichnete Änderungen auf physische Teildatei angewendet | Ausgabe von Nachricht ASN2004 und vollständige Aktualisierung der Datei |
F | CE | Ändern des Datenendes für physische Datei | Ausgabe von Nachricht ASN2004 und vollständige Aktualisierung der Datei |
F | CR | Inhalt der physischen Teildatei gelöscht | Ausgabe von Nachricht ASN2004 und vollständige Aktualisierung der Datei |
F | EJ | Aufzeichnung für physische Teildatei beendet | Ausgabe von Nachricht ASN2004 und vollständige Aktualisierung der Datei |
F | IZ | Physische Teildatei initialisiert | Ausgabe von Nachricht ASN2004 und vollständige Aktualisierung der Datei |
F | MD | Teildatei aus physischer Datei (DLTLIB, DLTF oder RMVM) entfernt | Ausgabe von Nachricht ASN2004 und Versuch einer vollständigen Aktualisierung |
F | MF | Speicher für physische Teildatei freigegeben | Ausgabe von Nachricht ASN2004 und vollständige Aktualisierung der Datei |
F | MM | Physische Datei, die die verschobene Teildatei enthält (RNMOBJ (Rename Object) der Bibliothek, MOVOBJ (Move Object) der Datei) | Ausgabe von Nachricht ASN2004A und Versuch einer vollständigen Aktualisierung |
F | MN | Physische Datei, die die umbenannte Teildatei enthält (RNMOBJ der Datei, RNMM (Rename Member)) | Ausgabe von Nachricht ASN2004A und Versuch einer vollständigen Aktualisierung |
F | MR | Physische Teildatei wiederhergestellt | Ausgabe von Nachricht ASN2004 und vollständige Aktualisierung der Datei |
F | RC | Aufgezeichnete Änderungen aus physischer Teildatei entfernt | Ausgabe von Nachricht ASN2004 und vollständige Aktualisierung der Datei |
F | RG | Physische Teildatei reorganisiert | Wenn die RRN-Spalte der Quellentabelle als Replikationsschlüssel verwendet wird, wird eine Nachricht ASN2004 ausgegeben, und es erfolgt eine vollständige Aktualisierung der Datei. |
J | NR | ID für die nächsten Journalempfänger | Zurücksetzen des Capture-Programms |
J | PR | ID für die vorherigen Journalempfänger | Erhöhen des Zählers für eindeutige Folgenummer |
R | DL | Satz aus physischer Teildatei gelöscht | Einfügen eines DLT-Satzes in die CD-Tabelle |
R | DR | Satz zum Rückgängigmachen (Rollback) gelöscht | Einfügen eines DLT-Satzes in die CD-Tabelle |
R | PT | Satz zu physischer Teildatei hinzugefügt | Einfügen eines ADD-Satzes in die CD-Tabelle |
R | PX | Satz direkt zu physischer Teildatei hinzugefügt | Einfügen eines ADD-Satzes in die CD-Tabelle |
R | UB | Vorabbild des Satzes in physischer Teildatei aktualisiert | Siehe Anmerkung 1 |
R | UP | Nachabbild des Satzes in physischer Teildatei aktualisiert | Siehe Anmerkung 1 |
R | BR | Vorabbild des Satzes zum Rückgängigmachen (Rollback) aktualisiert | Siehe Anmerkung 2 |
R | UR | Nachabbild des Satzes zum Rückgängigmachen (Rollback) aktualisiert | Siehe Anmerkung 2 |
Anmerkungen:
|
Alle anderen Journaleintragstypen werden vom Capture-Programm ignoriert.
Mit den in diesem Abschnitt beschriebenen Befehlen können die Benutzer-ID des Replikationsadministrators und Benutzer mit der Berechtigung *APPLY folgende Funktionen von Apply für AS/400 ausführen:
Dieser Abschnitt beschreibt darüber hinaus zwei weitere Operationen des Apply-Programms:
Sie können SQL- und DPR-Pakete erstellen, die beim Arbeiten mit fernen Systemen eingesetzt werden können. Zum Erstellen dieser Pakete geben Sie die folgenden Befehle ein:
>>-CRTDPRPKG----+---------------------+-------------------------> | .-7--. | '-DPRVSN--+-5--+---)--' >-----+-----------------------+---+------------------------+--->< | .-*ALL---. | | .-*ALL-----. | '-TYPE--+-*APPLY-+---)--' '-RDB--+-rdb-name-+---)--' '-*ADMIN-'
Tabelle 21. Parameterdefinitionen für den Befehl CRTDPRPKG bei AS/400
Die Pakete werden mit dem ASN-Qualifikationsmerkmal in der ASN-Bibliothek für DB2 UDB für AS/400-Plattformen erstellt. Bei anderen Plattformen wird die Berechtigungs-ID ASN verwendet.
Nach dem Erstellen der DB2 DataPropagator für AS/400-Pakete wird mit diesem Befehl die Berechtigung *PUBLIC für die Pakete erstellt, so dass sie von den DB2 DataPropagator für AS/400-Benutzern verwendet werden können.
Das System erstellt auch eine SPOOL-Datei, die die SQL-Nachrichten zu den einzelnen Versuchen, ein Paket zu erstellen, enthält.
Bevor Sie das Apply-Programm starten, prüfen Sie, ob
Wichtig: Der Primärschlüsselindex wird automatisch erstellt, wenn Sie eine Subskriptionsgruppe definieren. Achten Sie darauf, dass Sie diesen Index nicht unbeabsichtigt löschen.
Mit dem Befehl STRDPRAPY (Start DPR Apply) wird ein Exemplar des Apply-Programms auf dem lokalen System gestartet. Das Apply-Programm wird so lange ausgeführt, bis Sie es stoppen oder ein nicht behebbarer Fehler auftritt.
>>-STRDPRAPY----+------------------------------+----------------> | .-*CURRENT-----. | '-USER(--+-*JOBD--------+---)--' '-benutzername-' >-----+--------------------------------------------+------------> | .-*LIBL/QZSNDPR--------------. | '-JOBD(--+-bibliothek/jobbeschreibung-+---)--' '-*LIBL/jobbeschreibung------' >-----+----------------------+----------------------------------> | .-7--. | '-DPRVSN(--+-5--+---)--' >-----+-------------------------------+-------------------------> | .-*USER------. | '-APYQUAL(--+-apply-qual-+---)--' >-----+----------------------------+----------------------------> | .-*LOCAL---. | '-CTLSVR(--+-rdb-name-+---)--' >-----+-------------------------+-------------------------------> | .-*NONE--. | '-TRACE(--+-*ERROR-+---)--' +-*ALL---+ '-*PRF---' >-----+-------------------------------------------+-------------> | .-*NONE---------------. | '-FULLREFPGM(--+-bibliothek/programm-+---)--' >-----+------------------------------------------+--------------> | .-*NONE---------------. | '-SUBNFYPGM(--+-bibliothek/programm-+---)--' >-----+---------------------------+-----------------------------> | .-*YES--. | '-INACTMSG(--+-*NO---+---)--' >-----+---------------------------+-----------------------------> | .-*YES--. | '-ALWINACT(--+-*NO---+---)--' >-----+-----------------------------------+---------------------> | .-6----------------. | '-DELAY(--+-verzögerungszeit-+---)--' >-----+-----------------------------------------------+-------->< | .-300------------------------. | '-RTYWAIT(--+-wartezeit-vor-wiederholung-+---)--'
Tabelle 22. Parameterdefinitionen für den Befehl STRDPRAPY bei AS/400
Parameter | Definition und Bedienerführung |
---|---|
USER | Gibt den Namen der Benutzer-ID an, für die das Apply-Programm gestartet
wird. Wenn Sie diesen Befehl ausführen, müssen Sie für das angegebene
Benutzerprofil berechtigt sein (d. h. über die *USE-Rechte
verfügen).
Das Apply-Programm wird unter dem angegebenen Benutzerprofil ausgeführt. Die Steuertabellen (in ASN) befinden sich in der über den Parameter CTLSVR angegebenen relationalen Datenbank. Unabhängig von dem über den Parameter USER angegebenen Wert werden dieselben Steuertabellen verwendet.
|
JOBD | Gibt den Namen der Jobbeschreibung an, die bei Übergabe des
Apply-Programms verwendet werden soll.
|
DPRVSN | Gibt die Version des zu startenden Apply-Programms an.
|
APYQUAL | Gibt an, dass ein Apply-Qualifikationsmerkmal von einem Exemplar des
Apply-Programms verwendet werden soll. Alle Subskriptionen, die anhand
dieses Apply-Qualifikationsmerkmals in einer Gruppe zusammengefasst sind,
werden über dieses Exemplar des Apply-Programms ausgeführt.
|
CTLSVR | Gibt den Steuerungs-Server an, auf dem sich die Steuertabellen
befinden.
|
TRACE | Gibt an, ob das Apply-Programm einen Trace erstellen soll. Wenn
das Apply-Programm einen Trace erstellt, erfolgt die Ausgabe in eine
SPOOL-Datei mit dem Namen QPZSNATRC.
|
FULLREFPGM | Gibt an, ob das Apply-Programm eine Exit-Routine zum Initialisieren einer
Zieltabelle aufrufen soll. Wenn das Apply-Programm eine vollständige
Aktualisierung einer bestimmten Zieltabelle für erforderlich hält, ruft es die
angegebene Exit-Routine auf, anstatt die vollständige Aktualisierung selbst
auszuführen.
Wenn eine Exit-Routine zur Ausführung einer vollständigen Aktualisierung vom Apply-Programm verwendet wird, enthält die Spalte ASNLOAD in der Apply-Prüfprotokolltabelle den Wert Y. Beispiele und weitere Informationen finden Sie im Abschnitt Aktualisieren von Zieltabellen mit der Exit-Routine ASNLOAD bei AS/400.
|
SUBNFYPGM | Gibt an, ob das Apply-Programm eine Exit-Routine aufrufen soll, wenn es
die Verarbeitung einer Subskriptionsgruppe beendet. Die Eingabe an die
Exit-Routine umfasst den Namen der Subskriptionsgruppe, das
Apply-Qualifikationsmerkmal, den Fertigstellungsstatus und statistische
Informationen wie z. B. die Anzahl von
Zurückweisungen.
Mit dem Hinweisprogramm (Notify Program) können Sie die UOW-Tabelle auf zurückgewiesene Transaktionen überprüfen und dann geeignete Aktionen veranlassen (z. B. die Ausgabe einer Nachricht oder das Auslösen eines Ereignisses). Weitere Informationen finden Sie im Abschnitt Verwendung der Exit-Routine ASNDONE bei AS/400.
|
INACTMSG | Gibt an, ob das Apply-Programm eine Nachricht ausgeben soll, wenn es die
Verarbeitung beendet und eine Zeitlang inaktiv bleibt.
|
ALWINACT | Gibt an, ob das Apply-Programm in einem inaktiven Status (Sleep-Modus)
ausgeführt werden kann.
|
DELAY | Der Wert gibt die Verzögerungszeit (in Sekunden) am Ende jedes Zyklus des
Apply-Programms an, wenn die fortlaufende Replikation verwendet wird.
|
RTYWAIT | Gibt den Zeitraum (in Sekunden) an, für den das Apply-Programm nach einem
Fehler warten soll, bevor es versucht, die fehlgeschlagene Operation zu
wiederholen.
|
Sie können das System so einrichten, dass das Subsystem automatisch gestartet wird. Dazu müssen Sie den Befehl hinzufügen, auf den im QSTRUPPGM-Wert auf Ihrem System Bezug genommen wird. Bei Verwendung des QDPR/QZSNDPR-Subsystems wird es im Zuge der Verarbeitung des Befehls STRDPRAPY gestartet.
Wenn es sich bei der im Parameter CTLSVR angegebenen relationalen Datenbank um eine DB2 UDB für AS/400-Datenbank handelt, sind die Tabellen auf dem Server in der ASN-Bibliothek enthalten. Bei anderen Datenbanken können Sie mit ASN als Qualifikationsmerkmal auf die Tabellen zugreifen.
Der Befehl STRDPRAPY gibt in allen folgenden Fälle eine Fehlernachricht aus:
Für jedes eindeutige Apply-Qualifikationsmerkmal in jeder Tabelle für Subskriptionsgruppen muss ein Exemplar des Apply-Programms gestartet werden. Sie können mehrere Apply-Prozesse starten, indem Sie den Befehl STRDPRAPY mit verschiedenen Apply-Qualifikationsmerkmalen absetzen. Die gestarteten Apply-Prozesse werden unter demselben Benutzerprofil ausgeführt.
Jeder Apply-Prozess wird eindeutig durch das Apply-Qualifikationsmerkmal und den Steuerungs-Server-Namen gekennzeichnet. Bei der Ausführung hat der für den Apply-Prozess gestartete Job nicht genug externe Attribute, um eindeutig zu bestimmen, welcher Apply-Prozess einer bestimmten Kombination von Apply-Qualifikationsmerkmal und Steuerungs-Server zugeordnet ist. Deshalb wird der Job wie folgt gekennzeichnet:
Im Allgemeinen können Sie den richtigen Apply-Programm-Job in der Liste der Jobs ermitteln, die im QZSNDPR-Subsystem ausgeführt werden. Die beiden folgenden Bedingungen müssen hierfür erfüllt sein:
Verwenden Sie den Befehl ADDJOBSCDE, um das Apply-Programm zu einem bestimmten Zeitpunkt zu starten.
Mit dem Befehl ENDDPRAPY (End DPR Apply) wird ein Exemplar des Apply-Programms auf dem lokalen System beendet.
Vor jedem geplanten Systemabschluss ist das Apply-Programm zu beenden. Das Programm kann aber auch zu Zeiten hoher Systemauslastung beendet werden.
>>-ENDDPRAPY----+------------------------------+----------------> | .-*CURRENT-----. | '-USER(--+-benutzername-+---)--' >-----+----------------------------+---+----------------------+-> | .-*CNTRLD--. | | .-7--. | '-OPTION(--+-*IMMED---+---)--' '-DPRVSN(--+-5--+---)--' >-----+-------------------------------+-------------------------> | .-*USER------. | '-APYQUAL(--+-apply-qual-+---)--' >-----+----------------------------+--------------------------->< | .-*LOCAL---. | '-CTLSVR(--+-rdb-name-+---)--'
Tabelle 23. Parameterdefinitionen für den Befehl ENDDPRAPY bei AS/400
Der Befehl ENDDPRAPY verwendet den Wert der Parameter APYQUAL und CTLSVR, um die Apply-Jobtabelle nach dem Jobnamen, der Jobnummer und dem Jobbenutzer für das Apply-Programm, auf das Bezug genommen wird, zu durchsuchen. Anschließend wird der Job beendet.
Der Befehl ENDDPRAPY gibt in den folgenden Fällen eine Fehlernachricht aus:
Dieser Abschnitt enthält Informationen zur Ausführung von zwei weiteren Funktionen des Apply-Programms. Es werden die Verwendung der Exit-Routine ASNDONE und das Aktualisieren von Zieltabellen mit der Exit-Routine ASNLOAD beschrieben.
Die Exit-Routine ASNDONE ist ein Programm, das vom Apply-Programm nach Beenden der Verarbeitung der Subskription wahlfrei aufgerufen werden kann, unabhängig davon, ob die Ausführung erfolgreich war oder nicht. Für jedes Apply-Qualifikationsmerkmal kann ein separates Subskriptionshinweisprogramm (Subscription Notify Program) bereitgestellt werden. Allgemeine Informationen zur Exit-Routine ASNDONE finden Sie im Abschnitt Verwendung der Exit-Routine ASNDONE.
In diesem Abschnitt finden Sie Informationen zum Anpassen der ASNDONE-Routine für eine AS/400-Umgebung.
Beim Erstellen eines eigenen Subskriptionshinweisprogramms beachten Sie Folgendes bezüglich der Aktivierungsgruppe:
Wenn das Programm zur Ausführung mit einer neuen Aktivierungsgruppe erstellt wird, benutzen das Apply-Programm und das Subskriptionshinweisprogramm die SQL-Ressourcen (wie z. B. RDB-Verbindungen und offene Cursor) nicht gemeinsam. Der Code der Aktivierungssteuerung beim AS/400-Betriebssystem gibt alle Ressourcen frei, die vom Subskriptionshinweisprogramm zugeordnet werden, bevor die Steuerung an das Apply-Programm zurückgegeben wird. Zusätzliche Ressourcen werden jedes Mal verwendet, wenn das Apply-Programm das Subskriptionshinweisprogramm aufruft.
Wenn das Programm zur Ausführung in der Aktivierungsgruppe des aufrufenden Programms erstellt wird, benutzt es die SQL-Ressourcen gemeinsam mit dem Apply-Programm. Achten Sie bei der Erstellung des Programms darauf, dass es die Leistung des Apply-Programms möglichst wenig beeinträchtigt. Beispielsweise kann das Programm unerwartete Auswirkungen auf die Verarbeitung des Apply-Programms haben, wenn es die aktuelle RDB-Verbindung ändert.
Wenn das Programm zur Ausführung in einer benannten Aktivierungsgruppe erstellt wird, benutzt es die Ressourcen nicht gemeinsam mit dem Apply-Programm. Durch die Verwendung einer benannten Aktivierungsgruppe wird verhindert, dass bei jedem Aufruf des Subskriptionshinweisprogramms derselbe Verarbeitungsaufwand entsteht. Die Laufzeitdatenstrukturen und SQL-Ressourcen können von den Aufrufen gemeinsam verwendet werden. Eine Anwendungsbereinigung erfolgt nicht, bevor das Apply-Programm beendet wurde. Das heißt, bei der Entwicklung des Subskriptionshinweisprogramms ist darauf zu achten, dass es keine Zugriffskonflikte mit dem Apply-Programm verursacht. Das kann geschehen, wenn Quellen-, Ziel- oder Steuertabellen gesperrt bleiben, wenn die Steuerung an das Apply-Programm zurückgegeben wird.
Wenn Sie das Apply-Programm starten, geben Sie den Namen des Subskriptionshinweisprogramms über den Parameter SUBNFYPGM im Befehl STRDPRAPY an. Beispiel: Wenn das Programm den Namen ASNDONE_1 trägt und in der Bibliothek APPLIB enthalten ist, verwenden Sie folgenden Befehl:
SUBNFYPGM(APPLIB/ASNDONE_1).
Die Exit-Routine ASNLOAD zur vollständigen Aktualisierung wird in den folgenden Fällen vom Apply-Programm aufgerufen:
Wenn die vollständige Aktualisierung einer Subskriptionsgruppe erforderlich ist, ruft das Apply-Programm die Exit-Routine auf. Das Programm führt dann eine vollständige Aktualisierung der Zieltabelle (falls erforderlich) bzw. jeder in der Subskriptionsgruppe aufgeführten Zieltabelle aus.
Durch den Einsatz einer Exit-Routine anstelle des Apply-Programms kann eine vollständige Aktualisierung effizienter ausgeführt werden. Wenn Sie beispielsweise jede Zeile und jede Spalte einer Quellentabelle in eine Zieltabelle kopieren wollen, können Sie hierzu eine Exit-Routine zur vollständigen Aktualisierung erstellen, die die DDM-Datei (DDM = Distributed Data Management) und den CL-Befehl CPYF (Copy File) verwendet, um die gesamte Datei von der Quellentabelle in die Zieltabelle zu kopieren.
Wenn die Exit-Routine einen Rückkehrcode ungleich Null zurückgibt, schlägt die Verarbeitung der aktuellen, vom Apply-Programm verarbeiteten Subskriptionsgruppe fehl. Der noch verbleibende Teil der Subskriptionsgruppe wird erst beim nächsten Durchgang verarbeitet.
Das Produkt DB2 DataPropagator für AS/400 wird mit Quellencode für eine
Reihe von Beispiel-Exit-Routinen geliefert. In der folgenden Tabelle
sind die Beispiele für die Sprachen C, COBOL und RPG aufgeführt:
Compiler-Sprache | Bibliothek | Quellendatei | Teildatei |
---|---|---|---|
C | QDPR | QCSRC | ASNLOAD |
COBOL | QDPR | QCBLLESRC | ASNLOAD |
RPG | QDPR | QRPGLESRC | ASNLOAD |
Sie können das Apply-Programm nur anweisen, ein anderes Programm zu verwenden, wenn Sie das Apply-Programm beenden und mit einem Befehl STRDPRAPY erneut starten.
Wenn Sie die Exit-Routine ASNLOAD verwenden möchten, sollten Sie folgende Punkte beachten:
Die Exit-Routine muss Änderungen entweder explizit festschreiben, oder sie ist so zu kompilieren, dass die Änderungen beim Beenden der Routine implizit festgeschrieben werden. Alle Änderungen, die bis zum Beenden der Exit-Routine noch nicht festgeschrieben wurden, werden nicht festgeschrieben, es sei denn,
Offset-Wert (hexadezimal oder dezimal) | Typ | Feld |
---|---|---|
0 | BINARY(4) |
Länge der SQL-Anweisung |
4 | Char(*) |
SQL-Anweisung SELECT |
Wenn das Apply-Programm einen Trace erstellt, wird die Ausgabe in eine SPOOL-Datei geschrieben. Wenn die Exit-Routine in einer separaten Aktivierungsgruppe ausgeführt wird, werden die Ergebnisse auch in eine separate SPOOL-Datei geschrieben. Wenn die Exit-Routine in der Aktivierungsgruppe des aufrufenden Programms ausgeführt wird, werden die Ergebnisse in dieselbe SPOOL-Datei wie der Apply-Trace geschrieben.
Die möglichen Werte für den Trace-Indikator sind: