DB2 Replikation Benutzer- und Referenzhandbuch

Kapitel 9. Capture und Apply für AS/400

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:


Hinweise zur Koexistenz

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.


Einrichten der Programme Capture und Apply

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.

Installieren von DB2 DataPropagator für AS/400

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:

  1. Geben Sie GO LICPGM in der AS/400-Befehlszeile ein.
  2. Treffen Sie Auswahl 11 (Lizenzprogramme installieren).
  3. Blättern Sie nach unten bis zu DataPropagator Relational für AS/400 (5769DP3).

    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.

Herstellen einer Verbindung zu einem AS/400-Server

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:

  1. Melden Sie sich bei dem AS/400-Server an, und ermitteln Sie die relationale Datenbank:

    1. Melden Sie sich bei dem AS/400-Server an, zu dem Sie eine Verbindung herstellen wollen.
    2. Übergeben Sie einen Befehl dsprdbdire, und geben Sie local für *LOCAL an.
    3. Ermitteln Sie in der Ausgabe den Namen der relationalen Datenbank. In der folgenden Ausgabe lautet der Datenbankname beispielsweise DB2400E:
               MYDBOS2             9.112.14.67    
               RCHASDPD            RCHASDPD       
               DB2400E             *LOCAL         
               RCHASLJN            RCHASLJN       
       
      
  2. Katalogisieren Sie die AS/400-Datenbank in DB2 für Windows NT:

    1. Klicken Sie auf Ihrer Windows NT-Workstation Start->Programme->DB2 für Windows NT->Befehlsfenster an. Daraufhin wird das DB2 CLP-Befehlsfenster geöffnet.
    2. Geben Sie in diesem Befehlsfenster die drei folgenden Befehle genau in der angegebenen Reihenfolge ein:
      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.

  3. Geben Sie in dem Befehlsfenster den folgenden Befehl ein:
    db2 terminate
     
    
  4. Stellen Sie sicher, dass das AS/400-Benutzerprofil, mit dem Sie sich beim AS/400-System anmelden, CCSID37 verwendet:

    1. Melden Sie sich bei dem AS/400-System an.
    2. Geben Sie den folgenden Befehl ein, in dem benutzer durch das Benutzerprofil zu ersetzen ist:
      CHGUSRPRF USRPRF (benutzer) CCSID(37)
      
    3. Um zu überprüfen, ob eine Verbindung zwischen DB2 für Windows NT und DB2 für AS/400 hergestellt wurde, geben Sie den folgenden Befehl ein:
      db2 connect to datenbankname user benutzername using kennwort
      
  5. Prüfen Sie ferner, ob der DDM-Server auf dem AS/400 gestartet ist. Geben Sie dazu Folgendes ein:
    STRTCPSVR SERVER(*DDM)
    
  6. Verwenden Sie auf der Windows NT-Workstation entweder die DB2-Steuerzentrale oder DJRA, um die AS/400-Datenbank zu verwalten.

Prüfen und Anpassen der Installation von DB2 DataPropagator für AS/400

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.

Erstellen der Replikationssteuertabellen

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.

7  (Standardwert) 
Gibt Steuertabellen der Version 7 an. Das System erstellt alle Steuertabellen für Replikationsquellen und -ziele zusammen mit dem Standard-SQL-Journal.

5
Gibt Steuertabellen der Version 5 an.

Angabe von Anpassungsparametern für Capture für AS/400

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:

Ändern der Attribute des Capture-Programms

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.

*SAME  (Standardwert) 
Gibt an, dass der Wert unverändert bleibt.

minuten
Gibt die Anzahl Minuten an, für die die CD-Tabelle aufbewahrt wird. Der Höchstwert beträgt 35 000 000. Der Standardwert beträgt 10 080 Minuten (das entspricht 7 Tagen).
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.

*SAME  (Standardwert) 
Gibt an, dass der Wert unverändert bleibt.

minuten
Gibt die Anzahl Minuten an, um die die Verarbeitung der CD-Einträge verzögert sein darf. Der Höchstwert beträgt 35 000 000. Der Standardwert beträgt 10 080 Minuten (das entspricht 7 Tagen).
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.

*SAME  (Standardwert) 
Gibt an, dass der Wert unverändert bleibt.

sekunden
Gibt die Anzahl Sekunden an, für die das Capture-Programm Änderungen in den CD-Tabellen und an der UOW-Tabelle im Pufferspeicher aufbewahrt, bevor sie dem Apply-Programm zur Verfügung gestellt werden. Gültige Werte liegen im Bereich von 30 bis 600 Sekunden. Der Standardwert beträgt 180 Sekunden.
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.

*SAME  (Standardwert) 
Gibt an, dass der Wert unverändert bleibt.

1 - 100
Gibt die maximale Wartezeit (in Stunden) an, bis das Capture-Programm die Bereinigung vornimmt. Gültige Werte sind 1 - 100.


Erforderliche Berechtigungen zum Ausführen von Capture und Apply

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.

Erteilen von Berechtigungen

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.

benutzername
Gibt die Namen von bis zu 50 berechtigten Benutzern an.

*PUBLIC
Gibt an, dass die Berechtigung *PUBLIC für die Datei erteilt wurde; ist diese Berechtigung jedoch für die Aufgabe nicht ausreichend, wird sie nur für die Benutzer verwendet, die keine spezifische Berechtigung haben, sich nicht in der Berechtigungsliste befinden, die der Datei zugeordnet ist, und deren Gruppenprofil keine Berechtigung hat.
AUT Gibt die Art der DB2 DataPropagator für AS/400-Berechtigung an, die erteilt werden soll.

*REGISTRAR  (Standardwert) 
Gibt an, dass die Benutzer die Berechtigungen zum Definieren, Ändern und Entfernen von Subskriptionsgruppen erhalten.

Eine vollständige Liste der mit AUT(*REGISTRAR) erteilten Berechtigungen finden Sie in Tabelle 12.

*SUBSCRIBER
Gibt an, dass die Benutzer die Berechtigung zum Definieren, Ändern und Entfernen von Subskriptionsgruppen erhalten.

Eine vollständige Liste der mit AUT(*SUBSCRIBER) erteilten Berechtigungen finden Sie in Tabelle 13.

*CAPTURE
Gibt an, dass die Benutzer die Berechtigung zum Ausführen des Capture-Programms erhalten.

Eine vollständige Liste der mit AUT(*CAPTURE) erteilten Berechtigungen finden Sie in Tabelle 14.

*APPLY
Gibt an, dass die Benutzer die Berechtigung zum Ausführen des Apply-Programms erhalten.

Über den Befehl werden keine Berechtigungen für Objekte auf anderen Datenbanken erteilt, auf die das Apply-Programm zugreift.

Wenn ein Apply-Prozess aufgerufen wird, muss der Benutzer, der dem DRDA-Anwendungs-Server-Job zugeordnet ist, auch über die *APPLY-Berechtigung verfügen. Wenn die Quelle ein AS/400-Server ist, sollte der Befehl GRTDPRAUT auf dem Quellen-Server-System ausgeführt werden. Dabei ist der Benutzer des Anwendungs-Server-Jobs im Parameter USER und das Apply-Qualifikationsmerkmal im Parameter APYQUAL anzugeben.

Für die Zieltabellen werden keine Berechtigungen erteilt, es sei denn, Ziel-Server und Steuerungs-Server sind identisch und sind Teil des Systems, auf dem der Befehl ausgeführt wird.

Eine vollständige Liste der mit AUT(*APPLY) erteilten Berechtigungen finden Sie in Tabelle 15.

DPRVSN Gibt die Version von DB2 DataPropagator für AS/400 an.

7  (Standardwert) 
Gibt DB2 DataPropagator für AS/400 Version 7 an.

5
Gibt Version 5 von DPROPR/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.

*ALL  (Standardwert) 
Gibt an, dass der Benutzer die Berechtigung zum Ausführen des Apply-Programms oder zum Definieren und Entfernen von Subskriptionen für alle Apply-Qualifikationsmerkmale erhält.

*USER
Gibt an, dass die Benutzer, die über den Parameter USER angegeben werden, die Berechtigung für die Subskriptionen erhalten, bei denen das Apply-Qualifikationsmerkmal mit dem Benutzernamen identisch ist.

apply-qual
Gibt an, dass der Benutzer die Berechtigung zum Ausführen des Apply-Programms oder zum Definieren und Entfernen von Subskriptionen für die Apply-Qualifikationsmerkmale erhält, die diesem Apply-Qualifikationsmerkmal zugeordnet sind.

  • Der Benutzer erhält die Berechtigung für alle Replikationsquellen, CD-Tabellen und CCD-Tabellen, die Sätzen in der Löschsteuertabelle zugeordnet sind, die in der Spalte APPLY_QUAL den Wert enthalten, der über den Parameter APYQUAL eingegeben wurde.
  • Der Benutzer erhält die Berechtigung für die Subskriptionen in der Tabelle für Subskriptionszuordnung auf diesem System.

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.

Beispiele

Beispiel 1

Wenn USER1 berechtigt werden soll, Replikationsquellen zu definieren und zu ändern, geben Sie folgenden Befehl ein:

GRTDPRAUT USER(USER1) AUT(*REGISTRAR) DPRVSN(7)

Beispiel 2

Wenn USER1 berechtigt werden soll, Subskriptionen zu definieren und zu ändern, geben Sie folgenden Befehl ein:

GRTDPRAUT USER(USER1) AUT(*SUBSCRIBER) DPRVSN(7)

Beispiel 3

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)

Beispiel 4

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:

  1. Führen Sie den folgenden Befehl auf dem System aus, auf dem das Apply-Programm ausgeführt werden soll:
    GRTDPRAUT USER(USER1) AUT(*APPLY) DPRVSN(7) APYQUAL(A1)
    
  2. Wenn der Anwendungs-Server-Job auf dem vom Apply-Programm verwendeten Quellen-Server unter Benutzerprofil USER1 ausgeführt wird, geben Sie den folgenden Befehl zur Ausführung auf den Quellen-Server-Systemen ein:
    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)
    

Berechtigungsebenen

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

Entziehen von Berechtigungen

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.

benutzername
Gibt die Namen von bis zu 50 Benutzern an, deren Berechtigung entzogen werden soll.

*PUBLIC
Gibt an, dass die Berechtigung für alle Benutzer entzogen werden soll, die keine bestimmte Berechtigung haben, die nicht in der Berechtigungsliste enthalten sind und deren Gruppenprofil über keine Berechtigung verfügt.
DPRVSN Gibt die Version von DB2 DataPropagator für AS/400 an.

7  (Standardwert) 
Entziehen der Berechtigungen für DB2 DataPropagator für AS/400 Version 7.

5
Entziehen der Berechtigungen für DB2 DataPropagator für AS/400 Version 5.

Beispiel

Um die Berechtigungen für die Steuertabellen zu entziehen, geben Sie folgenden Befehl ein:

RVKDPRAUT USER(benutzername) DPRVSN(7)

Einschränkungen beim Ausführen des Capture-Programms

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:


Das Journal

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.

Ferne Journalfunktion

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.

Erstellen von Journalen für die Quellentabellen

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:

  1. Erstellen Sie einen Journalempfänger in der gewünschten Bibliothek, indem Sie den Befehl CRTJRNRCV (Create Journal Receiver) verwenden. Im folgenden Beispiel wird eine Bibliothek mit dem Namen JRNLIB für Journalempfänger verwendet:
    CRTJRNRCV  JRNRCV(JRNLIB/RCV0001)
               THRESHOLD(50000)
               TEXT('DataPropagator-Journalempfänger')
     
    

    Beachten Sie dabei Folgendes:

  2. Zum Erstellen des Journals verwenden Sie den Befehl CRTJRN (Create Journal):
    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.

  3. Starten Sie das Aufzeichnen der Quellentabelle mit dem Befehl STRJRNPF (Start Journal Physical File) wie in folgendem Beispiel:

    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.

Verwalten der Journale und Journalempfänger

Das Capture-Programm verwendet den Befehl RCVJRNE (Receive Journal Entry) für Ihre Journale.

Ändern der Journalempfänger durch das System

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.

Ändern der Journalempfänger durch den Benutzer

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.

Verwenden der Exit-Routine DLTJRNRCV (Delete Journal Receiver)

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.

Entfernen der Exit-Routine DLTJRNRCV (Delete Journal Receiver)

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:

  1. Setzen Sie den Befehl WRKREGINF ab.
  2. Suchen Sie im Fenster "Mit Registrierungsinformationen arbeiten" den Eintrag für den Exit-Punkt QIBM_QJO_DLT_JRNRCV. Geben Sie 8 im Feld Auswahl ein.
  3. Suchen Sie im Fenster "Mit Benutzerausgangsprogrammen arbeiten" den Eintrag für das Exit-Programm QZSNDREP in der Bibliothek QDPR. Die Nummer, die Sie benötigen, finden Sie unter der Überschrift "Nummer des Benutzerausgangsprogramms".

Registrieren der Exit-Routine DLTJRNRCV (Delete Journal Receiver) auf erweiterten Systemen

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)
 

Definieren von Replikationsquellen und Subskriptionsgruppen

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.


Verwendung einer relativen Satznummer als Primärschlüssel

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.


Betrieb von Capture für AS/400

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).

Starten von Capture für AS/400

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
Parameter Definition und Bedienerführung
RESTART Gibt an, wie das Capture-Programm Warm- und Kaltstarts ausführt.

*YES  (Standardwert) 
Das Capture-Programm nimmt die Verarbeitung der Änderungen an der Stelle wieder auf, an der sie bei der letzten Ausführung beendet wurde. Dies ist der normale Verarbeitungsmodus und wird als Warmstart bezeichnet.

*NO
Das Capture-Programm entfernt alle Informationen aus den CD-Tabellen. Das Programm löscht außerdem alle Informationen aus der UOW-Tabelle, wenn Sie JRN(*ALL) angeben.

Für alle Subskriptionen für die betroffenen Quellentabellen wird eine vollständige Aktualisierung ausgeführt, bevor die Erfassung der Änderungen wieder aufgenommen wird. Dieser Prozess wird auch als Kaltstart bezeichnet.

In bestimmten Fällen kann es erforderlich sein, einen Kaltstart für eine Untermenge von Quellentabellen auszuführen. Sie haben deshalb die Möglichkeit, durch Angabe von RESTART(*NO) und JRN(bibliothek/journal) für ausgewählte Journale einen Kaltstart des Capture-Programms auszuführen.

Wenn Sie einen Kaltstart für eine Untermenge von Quellen ausführen, werden die Informationen in der UOW-Tabelle nicht gelöscht. Bei Verwendung des Befehls STRDPRCAP zum Ausführen eines Kaltstarts für ausgewählte Quellentabellen können Sie das Capture-Programm nach etwa 15 Minuten beenden und dann einen Warmstart ausführen (dabei werden alle Replikationsquellen gestartet).

JOBD Gibt den Namen der Jobbeschreibung an, die bei Übergabe des Capture-Programms verwendet werden soll.

*LIBL/QZSNDPR  (Standardwert) 
Gibt die Standardjobbeschreibung an, die mit DB2 DataPropagator für AS/400 geliefert wird.

bibliothek/jobbeschreibung
Gibt den Namen der Jobbeschreibung an, die für das Capture-Programm verwendet werden soll.
DPRVSN Gibt die Version des zu startenden Capture-Programms an.

7  (Standardwert) 
Startet Version 7 des Capture-Programms.

5
Startet Version 5 des Capture-Programms.
WAIT Gibt die maximale Wartezeit (in Sekunden) an, bis das Capture-Programm seinen Status überprüft. Mit Hilfe dieses Werts können Sie die Leistung des Capture-Programms optimieren. Ein niedriger Wert verkürzt die Zeit, die vergeht, bevor das Capture-Programm beendet oder initialisiert wird, kann sich aber nachteilig auf die Systemleistung auswirken. Ein hoher Wert verlängert die Zeit, die vergeht, bevor das Capture-Programm beendet oder initialisiert wird, kann sich aber positiv auf die Systemleistung auswirken. Wird der Wert zu hoch eingestellt, kann dies die Leistung des Capture-Programms bei der periodischen Verarbeitung beeinträchtigen. Wie sehr sich die Leistung verschlechtert, hängt vom Umfang der Änderungsaktivitäten an den Quellentabellen und von der übrigen Systemauslastung ab.

120  (Standardwert) 
Die Wartezeit des Capture-Programms beträgt 120 Sekunden.

wert
Die maximale Wartezeit des Capture-Programms (in Sekunden). Sie können einen Wert von 60 bis 6 000 Sekunden angeben.
CLNUPITV Gibt die maximale Wartezeit an, bevor das Capture-Programm alte Sätze in den CD-Tabellen und der UOW-Tabelle (falls vorhanden) löscht. Dieser Parameter wird zusammen mit dem Parameter RETAIN des Befehls CHGDPRCAPA verwendet.

*DPRVSN  (Standardwert) 
Gibt das Intervall an. Der Wert ist *GLOBAL.

*GLOBAL
Gibt das Intervall mit demselben Wert wie in der Spalte PRUNE_INTERVAL der Tabelle mit Anpassungsparametern an. Dieser Wert kann über den Parameter CLNUPITV des Befehls CHGDPRCAPA geändert werden.

wartezeit-in-stunden
Gibt das Intervall als eine bestimmte Anzahl Stunden an.

*IMMED  (Standardwert) 
Gibt an, dass alte Sätze zu Beginn des angegebenen Intervalls (oder sofort) - und bei jedem folgenden Intervall - gelöscht werden sollen.

*DELAYED
Gibt an, dass das Capture-Programm alte Sätze am Ende des angegebenen Intervalls - und bei jedem folgenden Intervall - löschen soll.

*NO
Gibt an, dass das Capture-Programm keine Sätze löscht.
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.

*ALL
Gibt an, dass das Capture-Programm mit allen Journalen arbeiten soll, die zur Aufzeichnung von Quellentabellen verwendet werden.

bibliothek/journal
Gibt den qualifizierten Namen des Journals an, mit dem das Capture-Programm arbeiten soll.
GENCDROW Gibt an, welche Änderungen, die aus den Journalen hervorgehen, in die CD-Tabelle kopiert werden sollen.

*ALLCHG
Alle INSERT-, UPDATE- und DELETE-Sätze aus dem Journal werden in die CD-Tabelle kopiert.

*REGCOLCHG
Die INSERT-, UPDATE- und DELETE-Änderungen, die an den registrierten Spalten vorgenommen wurden, werden im Journal festgehalten und anschließend in die CD-Tabelle kopiert. Änderungen an Spalten, die nicht für die Replikation definiert wurden, werden nicht in den CD-Tabellen erfasst.

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.

Ermitteln des Verarbeitungsfortschritts des Capture-Programms

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:

  1. Suchen Sie für jede zu erfassende Quellentabelle die CD-Tabelle.
  2. In der letzten Zeile der CD-Tabelle finden Sie einen Hexadezimalwert in der Spalte IBMSNAP_UOWID.
  3. Suchen Sie anschließend in der UOW-Tabelle nach einer Zeile, die denselben IBMSNAP_UOWID-Wert enthält. Wenn die UOW-Tabelle keinen übereinstimmenden IBMSNAP_UOWID-Wert enthält, wiederholen Sie die ausgeführten Schritte für die vorletzte Zeile in der CD-Tabelle. Setzen Sie die Suche auf diese Weise solange fort, bis Sie eine Übereinstimmung finden.
  4. Wenn Sie einen übereinstimmenden IBMSNAP_UOWID-Wert gefunden haben, beachten Sie den Wert der UOW-Zeile in Spalte IBMSNAP_LOGMARKER. Dies ist die Zeitmarke des verarbeiteten Journaleintrags. Alle Änderungen an der Quellentabelle bis zu diesem Zeitpunkt stehen zur Verarbeitung durch das Apply-Programm bereit.
  5. Verwenden Sie den Befehl DSPJRN (Display Journal), um zu ermitteln, wie viele Journaleinträge noch vom Capture-Programm verarbeitet werden müssen. Leiten Sie die Ausgabe in eine Datei (oder an einen Drucker) um, wie aus dem folgenden Beispiel hervorgeht:
    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.

Terminieren von Capture für AS/400

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(...)
 

Stoppen von Capture für AS/400

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.

*CNTRLD  (Standardwert) 
Gibt an, dass das Capture-Programm alle Tasks beenden und dann einen regulären Programmabschluss ausführen soll.

Die Ausführung des Befehls ENDDPRCAP dauert möglicherweise länger, wenn Sie die Auswahl *CNTRLD angeben, weil das Capture-Programm zunächst alle untergeordneten Prozesse abschließt, bevor es beendet wird.

*IMMED
Gibt an, dass das Capture-Programm mit dem Befehl ENDJOB OPTION(*IMMED) alle Tasks beenden und dann einen regulären Programmabschluss ausführen soll.
DPRVSN Gibt die Version des zu beendenden Capture-Programms an.

7  (Standardwert) 
Gibt Version 7 des Capture-Programms an.

5
Gibt Version 5 des 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.

Reinitialisieren von Capture für AS/400

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.

7  (Standardwert) 
Gibt Version 7 des Capture-Programms an.

5
Gibt Version 5 des 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.

*ALL  (Standardwert) 
Gibt an, dass das Capture-Programm mit allen Journalen arbeiten soll.

bibliothek/journal
Gibt den qualifizierten Namen des Journals an, mit dem das Capture-Programm arbeiten soll.

Bereinigen der CD- und UOW-Tabellen und Minimieren der DASD-Nutzung durch den Quellen-Server

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.

Warm- und Kaltstarts

Der Wert des Parameters RESTART im Befehl STRDPRCAP steuert, wie das Capture-Programm Warm- und Kaltstarts ausführt.

Warmstartprozess

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.

Automatische Kaltstarts

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.


Verarbeitung verschiedener Journaleintragstypen durch das Capture-Programm

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:

  1. Das R-UP-Abbild und das R-UB-Abbild bilden einen einzigen UPD-Satz in der CD-Tabelle, wenn die Spalte PARTITION_KEYS_CHG in der Registriertabelle den Wert N enthält. Andernfalls fügt das R-UB-Abbild einen DLT-Satz und das R-UP-Abbild einen ADD-Satz in die CD-Tabelle ein.

  2. Das R-UR-Abbild und das R-BR-Abbild bilden einen einzigen UPD-Satz in der CD-Tabelle, wenn die Spalte PARTITION_KEYS_CHG in der Registriertabelle den Wert N enthält. Andernfalls fügt das R-BR-Abbild einen DLT-Satz und das R-UR-Abbild einen ADD-Satz in die CD-Tabelle ein.

  3. Die folgenden Werte werden für die Journalcodes verwendet:

    C
    Operation unter COMMIT-Steuerung

    F
    Datenbankdateioperation

    J
    Journal- oder Journalempfängeroperation

    R
    Operation für einen bestimmten Satz

Alle anderen Journaleintragstypen werden vom Capture-Programm ignoriert.


Betrieb von Apply für AS/400

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:

Erstellen von Paketen zum Einsatz bei fernen Systemen

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:

CRTSQLPKG
Mit dem Befehl CRTSQLPKG (Create SQL Package) werden die Pakete erstellt, mit denen Sie das Programm Apply für AS/400 beim Arbeiten mit fernen Systemen auf Nicht-AS/400-Plattformen ausführen können. Weitere Informationen zu diesem Befehl enthält die Veröffentlichung DB2 for AS/400 SQL Programming V4R3 (oder höher).

CRTDPRPKG
Mit dem Befehl CRTDPRPKG (Create DPR Packages) können Sie die Pakete erstellen, die zur Verwendung von DB2 DataPropagator für AS/400 bei fernen Systemen erforderlich sind. Im Folgenden finden Sie weitere Informationen zur Verwendung dieses Befehls.
>>-CRTDPRPKG----+---------------------+------------------------->
                |         .-7--.      |
                '-DPRVSN--+-5--+---)--'
 
>-----+-----------------------+---+------------------------+---><
      |       .-*ALL---.      |   |      .-*ALL-----.      |
      '-TYPE--+-*APPLY-+---)--'   '-RDB--+-rdb-name-+---)--'
              '-*ADMIN-'
 

Tabelle 21. Parameterdefinitionen für den Befehl CRTDPRPKG bei AS/400
Parameter Definition und Bedienerführung
DPRVSN Gibt die Version des zu verwendenden DB2 DataPropagator für AS/400-Pakets an.

7  (Standardwert) 
Gibt Pakete für DB2 DataPropagator für AS/400 Version 7 an.

5
Gibt Pakete für DB2 DataPropagator für AS/400 Version 5 an.
TYPE Gibt an, welche DB2 DataPropagator für AS/400-Pakete erstellt werden.

*ALL  (Standardwert) 
Gibt an, dass Pakete für alle DB2 DataPropagator für AS/400-Programme erstellt werden sollen, die Remote SQL ausführen.

*APPLY
Gibt an, dass die Pakete für die Programme, die vom Apply-Programm verwendet werden, erstellt werden sollen.

*ADMIN
Gibt an, dass die Pakete für die Programme, die von den CL-Befehlen verwendet werden, erstellt werden sollen.
RDB Gibt die relationale Datenbank an, in der die Pakete erstellt werden. In folgenden Fällen werden die Pakete nicht erstellt:

  • Wenn sich die relationale Datenbank auf einem System IBM AS/400 befindet, die ASN-Bibliothek aber nicht auf dem fernen System existiert.
  • Wenn sich die relationale Datenbank nicht auf einem System IBM AS/400 befindet und ASN nicht als Berechtigungs-ID für die relationale Datenbank definiert ist.

*ALL  (Standardwert) 
Gibt an, dass ein SQL-Paket in jeder relationalen Datenbank erstellt werden soll, die von DB2 DataPropagator für AS/400 als Quellen-Server oder Ziel-Server verwendet wird.

rdb-name
Gibt den Namen der relationalen Datenbank an. Um diesen Namen zu ermitteln, können Sie den Befehl WRKRDBDIRE (Work with RDB Directory Entries) eingeben.

Wenn Sie mit Taste F4 die Bedienerführung für den Befehl CRTDPRPKG aufrufen, können Sie den gewünschten Namen aus der Liste der Datenbanken im RDB-Verzeichnis auswählen.

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.

Vor dem Starten des Apply-Programms

Bevor Sie das Apply-Programm starten, prüfen Sie, ob

Starten von Apply für AS/400

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.

*CURRENT  (Standardwert) 
Gibt an, dass die dem aktuellen Job zugeordnete Benutzer-ID identisch mit der Benutzer-ID ist, die diesem Exemplar des Apply-Programms zugeordnet ist.

*JOBD
Gibt die Benutzer-ID an, die in der Jobbeschreibung angegeben ist, die diesem Exemplar des Apply-Programms zugeordnet ist. In der Jobbeschreibung ist die Angabe USER(*RQD) nicht möglich.

benutzername  (Standardwert) 
Gibt die Benutzer-ID an, die diesem Exemplar des Apply-Programms zugeordnet ist. Die folgenden, von IBM gelieferten Objekte sind nicht in diesem Parameter gültig: QDBSHR, QDFTOWN, QDOC, QLPAUTO, QLPINSTALL, QRJE, QSECOFR, QSPL, QSYS oder QTSTRQS.

Wenn Sie mit Taste F4 die Bedienerführung für den Befehl STRDPRAPY aufrufen, können Sie die Benutzer anzeigen, die Subskriptionen definiert haben.

JOBD Gibt den Namen der Jobbeschreibung an, die bei Übergabe des Apply-Programms verwendet werden soll.

*LIBL/QZSNDPR  (Standardwert) 
Gibt die Standardjobbeschreibung an, die mit DB2 DataPropagator für AS/400 geliefert wird.

bibliothek/jobbeschreibung
Gibt den Namen der Jobbeschreibung an, die für das Apply-Programm verwendet werden soll.
DPRVSN Gibt die Version des zu startenden Apply-Programms an.

7  (Standardwert) 
Startet Version 7 des Apply-Programms

5
Startet Version 5 des Apply-Programms
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.

*USER  (Standardwert) 
Gibt den Benutzernamen im Parameter USER als Apply-Qualifikationsmerkmal an.

apply-qual
Gibt den Namen an, unter dem die Subskriptionen in einer Gruppe zusammengefasst sind, die über dieses Exemplar des Apply-Programms ausgeführt werden sollen. Der Name des Apply-Qualifikationsmerkmals kann maximal 18 Zeichen lang sein. Der Name muss den Namenskonventionen für relationale Datenbanken entsprechen. Die auszuführenden Subskriptionen werden anhand der Sätze in der Tabelle für Subskriptionsgruppen gekennzeichnet, die den Wert apply-qual in der Spalte APPLY_QUAL enthalten.

Wenn Sie mit Taste F4 die Bedienerführung für den Befehl STRDPRAPY aufrufen, können Sie eine Liste mit Namen von Apply-Qualifikationsmerkmalen anzeigen, die über zuvor definierte Subskriptionen verfügen.

CTLSVR Gibt den Steuerungs-Server an, auf dem sich die Steuertabellen befinden.

*LOCAL  (Standardwert) 
Gibt an, dass die Subskriptionssteuertabellen in der lokalen relationalen Datenbank enthalten sind.

rdb-name
Gibt den Namen der relationalen Datenbank an, in der die Steuertabellen enthalten sind. Um diesen Namen zu ermitteln, können Sie den Befehl WRKRDBDIRE (Work with RDB Directory Entries) eingeben.

Wenn Sie mit Taste F4 die Bedienerführung für den Befehl STRDPRAPY aufrufen, können Sie eine Liste mit den Namen der verfügbaren relationalen Datenbanken anzeigen.

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.

*NONE  (Standardwert) 
Gibt an, dass kein Trace erstellt werden soll.

*ERROR
Gibt an, dass der Trace nur Fehlerinformationen enthalten soll.

*ALL
Gibt an, dass der Trace Informationen über aufgetretene Fehler und über den Ausführungsablauf sowie die vom Apply-Programm ausgegebenen SQL-Anweisungen enthalten soll.

*PRF
Gibt an, dass der Trace Informationen enthalten soll, die zur Analyse der Leistung des Apply-Programms in verschiedenen Verarbeitungsphasen verwendet werden sollen.
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.

*NONE  (Standardwert) 
Gibt an, dass für die vollständige Aktualisierung keine Exit-Routine verwendet wird.

bibliothek/programm
Gibt den qualifizierten Namen des Programms an, das aufgerufen wird, wenn das Apply-Programm eine vollständige Aktualisierung einer Zieltabelle für erforderlich hält. Beispiel: Um das Programm ASNLOAD in der Bibliothek DATAPROP aufzurufen, ist der qualifizierte Name DATAPROP/ASNLOAD zu verwenden.
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.

*NONE  (Standardwert) 
Gibt an, dass keine Exit-Routine verwendet wird.

bibliothek/programm
Gibt den qualifizierten Namen des Programms an, das aufgerufen werden soll, wenn das Apply-Programm die Verarbeitung einer Subskriptionsgruppe beendet. Beispiel: Um das Programm APPLYDONE in der Bibliothek DATAPROP aufzurufen, ist der qualifizierte Name DATAPROP/APPLYDONE zu verwenden.
INACTMSG Gibt an, ob das Apply-Programm eine Nachricht ausgeben soll, wenn es die Verarbeitung beendet und eine Zeitlang inaktiv bleibt.

*NO  (Standardwert) 
Gibt an, dass keine Nachricht ausgegeben werden soll.

*YES
Gibt an, dass das Apply-Programm die Nachricht ASN1044 ausgeben soll, bevor es eine Zeitlang inaktiv bleibt. Die Nachricht ASN1044 gibt an, wie lange das Apply-Programm inaktiv bleibt.
ALWINACT Gibt an, ob das Apply-Programm in einem inaktiven Status (Sleep-Modus) ausgeführt werden kann.

*YES  (Standardwert) 
Gibt an, dass das Apply-Programm im inaktiven Status (Sleep-Modus) ausgeführt werden soll, wenn nichts zur Verarbeitung ansteht.

*NO
Gibt an, dass der für das Apply-Programm gestartete Job beendet werden soll, wenn nichts zur Verarbeitung ansteht.
DELAY Der Wert gibt die Verzögerungszeit (in Sekunden) am Ende jedes Zyklus des Apply-Programms an, wenn die fortlaufende Replikation verwendet wird.

6
Gibt eine Verzögerungszeit von 6 Sekunden an.

verzögerungszeit
Gibt die Verzögerungszeit mit einem Wert zwischen 0 und 6 Sekunden (jeweils einschließlich) an.
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.

300
Gibt eine Wartezeit von 300 Sekunden vor der Wiederholung an.

wartezeit-vor-wiederholung
Gibt eine Wartezeit vor der Wiederholung zwischen 0 und 35000000 Sekunden (jeweils einschließlich) an.

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.

Fehlerbedingungen beim Starten des Apply-Programms

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.

Kennzeichnen von Apply-Programmjobs

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:

Terminieren von Apply für AS/400

Verwenden Sie den Befehl ADDJOBSCDE, um das Apply-Programm zu einem bestimmten Zeitpunkt zu starten.

Stoppen von Apply für AS/400

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
Parameter Definition und Bedienerführung
USER Dieser Parameter wird ignoriert, es sei denn, der Parameter APYQUAL hat den Wert *USER. In diesem Fall handelt es sich um das Apply-Qualifikationsmerkmal, das dem Exemplar des Apply-Programms zugeordnet ist.

*CURRENT  (Standardwert) 
Gibt den Apply-Prozess des Benutzers an, der dem aktuellen Job zugeordnet ist.

benutzername
Gibt den Apply-Prozess des angegebenen Benutzers an.

Wenn Sie mit Taste F4 die Bedienerführung für den Befehl ENDDPRAPY aufrufen, können Sie eine Liste mit den Benutzern anzeigen, die Subskriptionen definiert haben.

OPTION Gibt an, wie das Apply-Programm beendet werden soll.

*CNTRLD  (Standardwert) 
Gibt an, dass der Apply-Prozess alle Tasks abschließen soll, bevor er beendet wird. Dies kann längere Zeit dauern, wenn das Apply-Programm eine Subskription verarbeitet.

*IMMED
Gibt an, dass das Apply-Programm alle Tasks mit dem Befehl ENDJOB OPTION(*IMMED) beenden soll. Die Tasks werden sofort beendet, und es erfolgt keine Bereinigung. Verwenden Sie diese Option nur, wenn Sie zuvor vergeblich versucht haben, das Programm kontrolliert zu beenden, da der Abbruch unerwünschte Folgen haben kann. (Wenn sich das Apply-Programm nicht im inaktiven Status befand, als Sie den Befehl ENDDPRAPY absetzten, sollten Sie den Inhalt der Zieltabelle überprüfen.)

Wenn das Apply-Programm eine vollständige Aktualisierung der Zieltabelle ausgeführt hat, ergibt sich möglicherweise eine leere Zieltabelle, wenn das Apply-Programm beendet wurde, bevor die Tabelle mit dem Inhalt der Quellentabelle aktualisiert wurde. Wenn die Zieltabelle leer ist, müssen Sie eine vollständige Aktualisierung dieses Replikationsziels erzwingen.

Möglicherweise stellen Sie fest, dass eine Subskription gerade verarbeitet wird (die Spalte STATUS in der Tabelle für Subskriptionsgruppen enthält dann den Wert 1). Ist dies der Fall, setzen Sie den Wert auf 0 oder -1 zurück. Dadurch kann die Subskription wieder vom Apply-Programm verarbeitet werden.

DPRVSN Gibt die Version des zu beendenden Apply-Programms an.

7  (Standardwert) 
Gibt Version 7 des Apply-Programms an.

5
Gibt Version 5 des Apply-Programms an.
APYQUAL Gibt das Apply-Qualifikationsmerkmal an, das von einem Exemplar des Apply-Programms verwendet wird. Alle Subskriptionen, die anhand dieses Apply-Qualifikationsmerkmals in einer Gruppe zusammengefasst sind, werden über dieses Exemplar ausgeführt.

*USER  (Standardwert) 
Gibt an, dass der im Parameter USER angegebene Benutzername als Apply-Qualifikationsmerkmal verwendet wird.

apply-qual
Gibt den Namen an, unter dem die Subskriptionen in einer Gruppe zusammengefasst sind, die über dieses Exemplar des Apply-Programms ausgeführt werden. Der Name des Apply-Qualifikationsmerkmals kann maximal 18 Zeichen lang sein. Der Name muss den Namenskonventionen für relationale Datenbanken entsprechen. Die auszuführenden Subskriptionen werden anhand der Sätze in der Tabelle für Subskriptionsgruppen gekennzeichnet, die den Wert apply-qual in der Spalte APPLY_QUAL enthalten.

Wenn Sie mit Taste F4 die Bedienerführung für den Befehl ENDDPRAPY aufrufen, können Sie eine Liste mit Namen von Apply-Qualifikationsmerkmalen anzeigen, die über zuvor definierte Subskriptionen verfügen.

CTLSVR Gibt den Namen der relationalen Datenbank an, in der die V7-Steuertabellen enthalten sind.

*LOCAL  (Standardwert) 
Gibt an, dass die Steuertabellen in der lokalen relationalen Datenbank enthalten sind.

rdb-name
Gibt an, dass die Subskriptionssteuertabellen in dieser relationalen Datenbank enthalten sind. Um diesen Namen zu ermitteln, können Sie den Befehl WRKRDBDIRE (Work with RDB Directory Entries) eingeben.

Wenn Sie mit Taste F4 die Bedienerführung für den Befehl ENDDPRAPY aufrufen, können Sie den gewünschten Namen aus der Liste der Datenbanken im RDB-Verzeichnis auswählen.

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:


Weitere Operationen des Apply-Programms

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.

Verwendung der Exit-Routine ASNDONE bei AS/400

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).

Aktualisieren von Zieltabellen mit der Exit-Routine ASNLOAD bei AS/400

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.

Richtlinien für die Verwendung der Exit-Routine ASNLOAD

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:

Erforderliche Parameter für ASNLOAD

Rückkehrcode
Gibt an, ob die Exit-Routine erfolgreich ausgeführt wurde oder nicht. Bei erfolgreicher Ausführung wird der Rückkehrcode 0 zurückgegeben. Andernfalls gibt das Apply-Programm eine Fehlernachricht aus. Ist die Trace-Funktion aktiviert, erstellt das Apply-Programm eine Trace-Ausgabe.

Ursachencode
Gibt einen Wert aus, der zur näheren Beschreibung des bei der Exit-Routine aufgetretenen Fehlers verwendet werden kann. Bei einem Rückkehrcode ungleich 0 und bei aktivierter Trace-Funktion schreibt das Apply-Programm den Ursachencode in die Trace-Ausgabe. Der Ursachencode sollte spezifische Werte für Ihre Benutzeranwendung ausgeben.

RDB-Name des Steuerungs-Servers
Gibt den Namen der relationalen Datenbank an, in der die Tabellen für Subskriptionsgruppen enthalten sind. Der Name wird mit Leerzeichen aufgefüllt.

RDB-Name des Ziel-Servers
Gibt den Namen der Datenbank an, in der die Zieltabelle enthalten ist. Der Name wird mit Leerzeichen aufgefüllt.

Zieltabellenbibliothek
Gibt den Namen der Bibliothek an, in der die Zieltabelle enthalten ist. Wenn der RDB-Name des Ziel-Servers keine AS/400-Datenbank bezeichnet, gibt dieser Parameter die Berechtigungs-ID der Zieltabelle an, die aus der Spalte TARGET_OWNER der Zeile der Tabelle für Subskriptionszuordnung stammt, die gerade vom Apply-Programm verarbeitet wird. Der Name wird mit Leerzeichen aufgefüllt.

Name der Zieltabelle
Gibt den Namen der Zieltabelle an, die aus der Spalte TARGET_TABLE der Zeile der Tabelle für Subskriptionszuordnung stammt, die gerade vom Apply-Programm verarbeitet wird. Wenn der Ziel-Server eine AS/400-Datenbank ist, kann der Name entweder ein SQL-Tabellenname oder ein AS/400-Systemdateiname sein. Der Name wird mit Leerzeichen aufgefüllt.

Apply-Qualifikationsmerkmal
Gibt das Qualifikationsmerkmal an, das zum Starten dieses Exemplars des Apply-Programms verwendet wird. Dieser Wert stammt aus der Spalte APPLY_QUAL der Zeile in der Tabelle für Subskriptionsgruppen, die gerade vom Apply-Programm verarbeitet wird. Der Name wird mit Leerzeichen aufgefüllt.

Name der Subskriptionsgruppe
Gibt den Namen der Subskriptionsgruppe an, die das Apply-Programm gerade verarbeitet hat. Dieser Wert stammt aus der Spalte SET_NAME der Zeile in der Tabelle für Subskriptionsgruppen, die gerade vom Apply-Programm verarbeitet wird. Der Name wird mit Leerzeichen aufgefüllt.

RDB-Name des Quellen-Servers
Gibt den RDB-Namen der Datenbank an, in der die Quellentabelle enthalten ist. Der Name wird mit Leerzeichen aufgefüllt.

SQL-Anweisung SELECT
Gibt eine SQL-Anweisung variabler Länge an, mit der Sie die Zeilen und Spalten in der Quellentabelle auswählen können, die in die Zieltabelle kopiert werden sollen. In der folgenden Tabelle wird die Struktur der SQL-Anweisung SELECT gezeigt.
Offset-Wert (hexadezimal oder dezimal) Typ Feld
0 BINARY(4)
Länge der SQL-Anweisung

4 Char(*)
SQL-Anweisung SELECT

Trace-Anzeiger
Gibt an, ob das Apply-Programm Trace-Daten erstellt. Die Exit-Routine kann den Trace-Anzeiger verwenden, um den internen Trace mit demjenigen des Apply-Programms zu koordinieren.

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:

YES
Es werden Trace-Daten erstellt.

NO
Es werden keine Trace-Daten erstellt.

Anderer Wert
Es werden keine Trace-Daten erstellt.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]