DB2 Replikation Benutzer- und Referenzhandbuch

Kapitel 11. Capture und Apply für UNIX-Plattformen

Dieses Kapitel enthält Informationen zu Installation und Betrieb der Programme Capture und Apply auf den folgenden UNIX-Plattformen:

Lesen Sie zunächst die folgenden Abschnitte und erst danach die Abschnitte zum Betrieb der Programme Capture und Apply:


Anforderungen an die Benutzer-ID zur Ausführung der Programme Capture und Apply

Bevor Sie die Programme Capture und Apply einrichten, müssen Sie einen UNIX-Benutzereintrag (User Account) definieren, unter dem Sie die Programme ausführen können. Darüber hinaus ist sicherzustellen, dass die Benutzer-ID, unter der die Programme Capture und Apply ausgeführt werden sollen, über die erforderlichen Berechtigungen verfügt:


Einrichten der Programme Capture und Apply

Das Einrichten der Programme umfasst die Konfiguration der Quellen-, Ziel- und Steuerungs-Server. Die folgenden Abschnitte enthalten Anweisungen zum Konfigurieren aller Server sowie Informationen zum Einrichten einer Authentifizierung der Endbenutzer beim Quellen-Server.

Konfigurieren des Capture-Programms für UNIX-Plattformen

  1. Melden Sie sich unter einer Benutzer-ID an, die über die erforderlichen Berechtigungen verfügt.
  2. Stellen Sie eine Verbindung zu der Quellen-Server-Datenbank her, indem Sie Folgendes eingeben:
    db2 connect to datenbank
    

    Dabei gibt datenbank die Quellen-Server-Datenbank an.

  3. Bereiten Sie die Quellen-Server-Datenbank für die aktualisierende Wiederherstellung vor, indem Sie die Befehle update database configuration und backup database absetzen. Beispiel:
    db2 update database configuration for database_alias using logretain on
    db2 backup database datenbank-aliasname
    
    oder:
    db2 update database configuration for datenbank-aliasname using userexit on
    db2 backup database datenbank-aliasname
    
    Sie müssen möglicherweise den Wert für DBHEAP, APPLHEAPSZ, PCKCACHESZ, LOCKLIST und LOGBUFSZ entsprechend den Anforderungen Ihrer Installation erhöhen.
  4. Wahlfrei besteht folgende Möglichkeit: Das Capture-Programm wird automatisch während der Ausführung gebunden; wenn Sie aber Optionen angeben oder überprüfen möchten, ob alle Bindeprozesse erfolgreich ausgeführt werden, führen Sie folgende Schritte aus:

    1. Wechseln Sie in das Verzeichnis, in dem sich die Bindedateien des Capture-Programms befinden. Normalerweise handelt es sich dabei um das Verzeichnis $HOME/sqllib/bnd.
    2. Erstellen Sie das Capture-Paket, und binden Sie es durch Eingabe des folgenden Befehls an die Quellen-Server-Datenbank:
      db2 bind @capture.lst isolation ur blocking all
      

      Dabei gibt ur die Liste im UR-Format (UR = Uncommitted Read) an, um eine bessere Leistung zu erzielen.

    Diese Befehle erstellen eine Liste von Paketen, deren Namen in der Datei CAPTURE.LST enthalten sind.

Wahlfrei: Manuelles Konfigurieren des Apply-Programms für UNIX-Plattformen

Wichtig: Das Apply-Paket wird während der Ausführung automatisch gebunden. Die im Folgenden beschriebenen Schritte zum Binden des Apply-Pakets unter UNIX sind deshalb wahlfrei. Wenn Sie Optionen angeben oder überprüfen möchten, ob alle Bindeprozesse erfolgreich ausgeführt wurden, führen Sie folgende Schritte aus:

  1. Melden Sie sich unter einer Benutzer-ID an, die über die erforderlichen Berechtigungen verfügt.
  2. Wechseln Sie in das Verzeichnis, in dem sich die Bindedateien des Apply-Programms befinden. Normalerweise handelt es sich dabei um das Verzeichnis $HOME/sqllib/bnd.
  3. Führen Sie die folgenden Schritte für jeden Quellen-, Ziel- und Steuerungs-Server durch, zu dem das Apply-Programm eine Verbindung herstellt:

    1. Stellen Sie eine Verbindung zu der Server-Datenbank her, indem Sie Folgendes eingeben:
      db2 connect to datenbank
      
      Dabei ist datenbank der Quellen-, Ziel- oder Steuerungs-Server.
      Anmerkung:Wenn die Server-Datenbank als ferne Datenbank katalogisiert ist, müssen Sie möglicherweise eine Benutzer-ID und ein Kennwort im Befehl db2 connect to eingeben. Beispiel:
      db2 connect to datenbank user benutzerid using kennwort
      
    2. Erstellen Sie das Apply-Programmpaket, und binden Sie es an die Server-Datenbank durch Eingabe der beiden folgenden Befehle:
      db2 bind @applycs.lst isolation cs blocking all grant public
      
      db2 bind @applyur.lst isolation ur blocking all grant public
      
      Dabei gibt cs die Liste im CS-Format (CS = Cursor Stability) und ur die Liste im UR-Format an (UR = Uncommitted Read).

      Da die Steuertabellen des Apply-Programms statische SQL-Aufrufe für die Steuertabellen verwenden, sucht der Apply-Bindeprozess nach allen Steuertabellen auf jedem Server, an den das Programm gebunden ist, unabhängig davon, ob diese Steuertabellen auf den einzelnen Servern verwendet werden.

    Diese Befehle erstellen eine Liste von Paketen, deren Namen in den Dateien APPLYCS.LST und APPLYUS.LST enthalten sind.

Weitere Hinweise zur Konfiguration UNIX-gestützter Komponenten

Stellen Sie sicher, dass die Benutzer-ID, unter der die Programme Capture und Apply ausgeführt werden, die Schreibberechtigung für die Verzeichnisse hat, in denen die Programme aufgerufen werden. Die Berechtigung zum Schreiben ist erforderlich, weil die Programme Capture und Apply Dateien im Aufrufverzeichnis erstellen.

Das Capture-Programm erstellt neben der Übergabedatei die folgenden Dateien:

instnameSRCSRVR.ccp
Eine Protokolldatei für die vom Capture-Programm ausgegebenen Nachrichten. Diese Nachrichten werden auch in der Trace-Tabelle aufgezeichnet.

instnameSRCSRVR.tmp
Eine Datei, die die Prozess-ID dieses Aufrufs von Capture enthält (bewirkt, dass bei mehreren Capture-Programmen auf demselben Quellen-Server nur das angegebene Capture-Programm gestartet wird).

Das Apply-Programm erstellt die folgenden Dateien:

APPLYQUAL.app
Eine Protokolldatei für die vom Apply-Programm ausgegebenen Nachrichten. Diese Nachrichten werden auch in der Apply-Prüfprotokolltabelle aufgezeichnet.

ASNAPPLYAPPLYQUAL.pid
Eine Datei, die die Prozess-ID dieses Aufrufs des Apply-Programms enthält. Dies verhindert, dass mehrere Apply-Programme mit demselben Apply-Qualifikationsmerkmal gestartet werden.

Weitere Hinweise zur Konfiguration UNIX-gestützter Komponenten finden Sie in der Veröffentlichung IBM DB2 Universal Database für UNIX Einstieg.

Authentifizierung der Endbenutzer beim Quellen-Server

Damit die Authentifizierung der Endbenutzer beim Quellen-Server erfolgen kann, müssen Sie in bestimmten Fällen eine Kennwortdatei bereitstellen. Das Apply-Programm verwendet diese Datei, wenn eine Verbindung zum Quellen-Server hergestellt wird. Erteilen Sie nur der Benutzer-ID Lesezugriff, die das Apply-Programm ausführen soll. Es bestehen die folgenden umgebungsspezifischen Voraussetzungen:

Erstellen einer Kennwortdatei:

Die Kennwortdatei muss folgende Anforderungen erfüllen:

Wenn Sie keine Kennwortdatei erstellen,

muss das Apply-Programm für UNIX-Plattformen eine SQL-Anweisung CONNECT ohne Angabe von Benutzer-ID und Kennwort ausgeben können. Wenn das Apply-Programm eine Verbindung zu einer OS/390-Datenbank über das SNA-Protokoll herstellen muss, sind folgende Einstellungen erforderlich:

Weitere Informationen zu Authentifizierung und Sicherheit enthält die Veröffentlichung IBM DB2 Universal Database Systemverwaltung.


Betrieb von Capture für UNIX-Plattformen

Mit den im Folgenden beschriebenen Befehlen kann der Administrator das Programm Capture für UNIX-Plattformen ausführen. Geben Sie die Befehle in einer UNIX-Befehlszeile ein, oder verwenden Sie dort die entsprechende Tastenkombination.

In den folgenden Abschnitten werden die einzelnen Funktionen des Capture-Programms beschrieben:

Im Folgenden sind darüber hinaus verschiedene Einschränkungen aufgeführt, die beim Ausführen des Capture-Programms gelten.

Einschränkungen beim Ausführen des Capture-Programms

Bestimmte Aktionen bewirken einen Abbruch des aktiven Capture-Programms. Stoppen Sie das Capture-Programm, wenn Sie eine der folgenden Funktionen ausführen möchten:

Das Capture-Programm kann keine Änderungen erfassen, die von DB2-Dienstprogrammen vorgenommen wurden, da die Dienstprogramme die von ihnen vorgenommenen Änderungen nicht protokollieren.

Terminieren von Capture für UNIX-Plattformen

Verwenden Sie den Befehl at, um das Capture-Programm zu einem bestimmten Zeitpunkt zu starten. Beispiel: Mit dem folgenden Befehl wird das Capture-Programm am Freitag um 3:00 Uhr mittags gestartet:

at 3pm Friday asnccp warmns noprune

Einrichten von Umgebungsvariablen für Capture für UNIX-Plattformen

Bevor Sie das Capture-Programm starten, müssen Sie zwei Umgebungsvariablen setzen. Diese Variablen müssen auch gesetzt werden, wenn Sie eine der folgenden Funktionen verwenden:

Um die Umgebungsvariablen zu setzen, gehen Sie folgendermaßen vor:

  1. Setzen Sie die Umgebungsvariable für den DB2-Exemplarnamen (DB2INSTANCE) wie folgt:
    export DB2INSTANCE=db2-exemplarname
    
  2. Wahlfrei: Setzen Sie die Umgebungsvariable DB2DBDFT auf den Quellen-Server.

Starten von Capture für UNIX-Plattformen

Nach dem Starten des Capture-Programms wird dieses kontinuierlich ausgeführt, bis es gestoppt wird oder einen nicht behebbaren Fehler entdeckt.

Um das Capture-Programm für eine UNIX-Plattform zu starten, gehen Sie folgendermaßen vor:

  1. Melden Sie sich an, und prüfen Sie, ob die Benutzer-ID, unter der Sie das Capture-Programm ausführen, über Schreibberechtigung für das Verzeichnis verfügt.
  2. Der Name für das DB2-Exemplar muss wie gezeigt angegeben werden:
    export DB2INSTANCE=db2-exemplarname
    

    Bei der Ausführung des Capture-Programms wird eine Datei mit dem Namen datenbankexemplarnamedatenbankname.ccp in dem Verzeichnis erstellt, aus dem das Capture-Programm gestartet wird. Dies ist eine Protokolldatei für die vom Capture-Programm ausgegebenen Nachrichten. Diese Nachrichten werden auch in der Trace-Tabelle aufgezeichnet.

  3. Wahlfrei: Setzen Sie die Umgebungsvariable DB2DBDFT auf den Quellen-Server.
  4. Setzen Sie die Umgebungsvariable LIBPATH auf dasselbe Verzeichnis, aus dem das Capture-Programm gestartet wird. Beachten Sie, dass die Sprachumgebungsvariable in den folgenden Beispielen jeweils von der Sprache abhängig ist, die Sie installieren, und dass db2homedir das Ausgangsverzeichnis des DB2-Exemplars angibt.

    Beispiel für AIX:

    export LIBPATH=db2homedir/sqllib/lib:/usr/lib:/lib
    export LANG=en_US
    

    Beispiel für HP-UX:

    export SHLIB_PATH=db2homedir/sqllib/lib:/usr/lib:/lib
    export LANG=en_US
    

    Linux-Beispiel:

    export LD_LIBRARY_PATH=db2homedir/sqllib/lib:/usr/lib:/lib:/db2/linux/lib 
    export LANG=en_US                 
     
    

    NUMA-Q-Beispiel:

    export LD_LIBRARY_PATH=db2homedir/sqllib/lib:/opt/jse3.0/lib
    export LANG=en_US
     
    

    Solaris-Beispiel:

    export LD_LIBRARY_PATH=db2homedir/sqllib/lib:/usr/lib:/lib
    export LANG=en_US
    export NLSPATH=/usr/lib/locale/%L/%N:/db2homedir/sqllib/msg/en_US/%N
    
  5. Geben Sie den folgenden Befehl ein:
>>-asnccp----+----------------+---+--------+---+---------+------>
             '-quellen-server-'   +-warm---+   +-prune---+
                                  +-warmns-+   '-noprune-'
                                  '-cold---'
 
>-----+---------+---+---------+---+----------+---+----------+--->
      +-notrace-+   '-trcfile-'   '-notrctbl-'   '-autostop-'
      '-trace---'
 
>-----+----------+---+-----------+---+---------+---------------><
      '-logreuse-'   '-logstdout-'   +-allchg--+
                                     '-chgonly-'
 

In Tabelle 27 werden die Aufrufparameter definiert.

Tabelle 27. ASNCCP-Befehlsparameterdefinitionen für UNIX-Plattformen
Parameter Definition
quellen-server Name des Quellen-Servers, der - wenn er eingegeben wird - an erster Stelle stehen muss. Erfolgt keine Angabe, wird der Wert aus der Umgebungsvariablen DB2DBDFT verwendet.
warm  (Standardwert)  Das Capture-Programm nimmt die Verarbeitung an der Stelle wieder auf, an der sie bei der letzten Ausführung beendet wurde, wenn Warmstartinformationen zur Verfügung stehen. Wenn das Capture-Programm keinen Warmstart ausführen kann, erfolgt ein Kaltstart.
warmns Das Capture-Programm nimmt die Verarbeitung an der Stelle wieder auf, an der sie bei der letzten Ausführung beendet wurde, wenn Warmstartinformationen zur Verfügung stehen. Andernfalls wird eine Nachricht ausgegeben und das Programm beendet. Bei warmns schaltet das Capture-Programm nicht automatisch auf einen Kaltstart um. Das Capture-Programm lässt die Trace-, UOW-, CD- und Warmstarttabellen intakt. Wenn Fehler auftreten, wird das Capture-Programm beendet, anstatt auf einen Kaltstart umzuschalten (was bei Angabe von warm der Fall wäre).
cold Das Capture-Programm löscht bei der Initialisierung zunächst alle Zeilen in der CD-Tabelle, der UOW-Tabelle und Trace-Tabelle. Alle Subskriptionen für diese Replikationsquellen werden während des nächsten Verarbeitungszyklus des Apply-Programms vollständig aktualisiert. Eine vollständige Aktualisierung wird nicht vorgenommen, wenn die Zieltabelle eine unvollständige CCD-Tabelle ist (vgl. Abschnitt Korrektur von Abstimmungsverlusten zwischen Quellen- und Zieltabellen).
prune  (Standardwert)  Das Capture-Programm bereinigt automatisch die Zeilen in den CD- und UOW-Tabellen, die das Apply-Programm kopiert hat. Dies geschieht in dem Intervall, das in der Tabelle mit Anpassungsparametern angegeben ist. Außerdem löscht das Capture-Programm auch die CD- und UOW-Zeilen, die älter als die Aufbewahrungszeit sind, auch wenn sie nicht während des Warmstarts kopiert wurden.
noprune Das automatische Bereinigen ist inaktiviert. Das Capture-Programm bereinigt die CD- und UOW-Tabellen nur, wenn Sie den Befehl prune eingeben.
notrace  (Standardwert)  Es werden keine Trace-Informationen geschrieben.
trace Trace-Nachrichten werden in die Standardausgabe (stdout) geschrieben, es sei denn, es wurde auch trcfile angegeben.
trcfile Werden trcfile und trace zusammen angegeben, schreibt das Capture-Programm die Trace-Ausgabe in die Trace-Datei (*.trc). Geben Sie die Option nicht an, sendet das Capture-Programm die Trace-Ausgabe an die Standardausgabe (stdout).
notrctbl Die Nachrichten des Capture-Programms werden nicht in der Trace-Tabelle aufgezeichnet.
autostop Das Capture-Programm wird beendet, nachdem es alle Transaktionen erfasst hat, die vor dem Start des Capture-Programms protokolliert wurden.
logreuse Das Capture-Programm verwendet die Protokolldatei (*.ccp) immer wieder. Dazu wird die Datei beim Start des Capture-Programms jeweils gelöscht und neu erstellt. Geben Sie diese Option nicht an, hängt das Capture-Programm die Nachrichten an die Protokolldatei an. Dies gilt auch nach einem Neustart des Capture-Programms.
logstdout Das Capture-Programm sendet alle Nachrichten an die Standardausgabe (stdout) und an die Protokolldatei.
allchg  (Standardwert)  Gibt an, dass jedes Mal ein Eintrag in die CD-Tabelle geschrieben wird, wenn sich eine Quellentabellenzeile ändert.
chgonly Gibt an, dass nur dann beim Ändern einer Quellentabellenzeile ein Eintrag in die CD-Tabelle geschrieben wird, wenn sich Werte in den für die Replikation definierten Spalten (CD-Tabellenspalten) ändern.

Stoppen von Capture für UNIX-Plattformen

Mit dem Befehl stop oder der entsprechenden Tastenkombination können Sie das Capture-Programm ordnungsgemäß beenden und die bis dahin verarbeiteten Protokollsätze festschreiben. Sie müssen das Capture-Programm stoppen, bevor Sie eine bestehende Replikationsquelle entfernen oder ändern.

Prüfen Sie, ob die Umgebungsvariablen gesetzt sind (vgl. Abschnitt Einrichten von Umgebungsvariablen für Capture für UNIX-Plattformen), bevor Sie das Capture-Programm stoppen. Um das Capture-Programm zu stoppen, gehen Sie folgendermaßen vor:

Wenn Sie die Umgebungsvariable DB2DBDFT (siehe Schritt 2) gesetzt haben, geben Sie Folgendes ein:

>>-asncmd--stop------------------------------------------------><
 

Wenn Sie die Umgebungsvariable DB2DBDFT nicht gesetzt haben, geben Sie Folgendes ein:

>>-asncmd--quellen-server--stop--------------------------------><
 

Unterbrechen von Capture für UNIX-Plattformen

Mit dem Befehl suspend können Sie Ressourcen des Betriebssystems zu Zeiten hoher Systemauslastung für andere Transaktionen freigeben, ohne die Umgebung des Capture-Programms zu beeinträchtigen. Mit diesem Befehl wird das Capture-Programm unterbrochen, bis Sie den Befehl resume eingeben.

Prüfen Sie, ob die Umgebungsvariablen gesetzt sind (vgl. Abschnitt Einrichten von Umgebungsvariablen für Capture für UNIX-Plattformen), bevor Sie das Capture-Programm unterbrechen. Um das Capture-Programm zu unterbrechen, gehen Sie folgendermaßen vor:

Wenn Sie die Umgebungsvariable DB2DBDFT (siehe Schritt 2) gesetzt haben, geben Sie Folgendes ein:

>>-asncmd--suspend---------------------------------------------><
 

Wenn Sie die Umgebungsvariable DB2DBDFT nicht gesetzt haben, geben Sie Folgendes ein:

>>-asncmd--quellen-server--suspend-----------------------------><
 

Wichtig: Verwenden Sie den Befehl suspend nicht, wenn Sie eine Replikationsquelle entfernen. Stoppen Sie stattdessen das Capture-Programm.

Wieder Aufnehmen von Capture für UNIX-Plattformen

Mit dem Befehl resume können Sie das Capture-Programm erneut starten, wenn Sie es mit dem Befehl suspend unterbrochen haben.

Prüfen Sie, ob die Umgebungsvariablen gesetzt sind (vgl. Abschnitt Einrichten von Umgebungsvariablen für Capture für UNIX-Plattformen), bevor Sie das Capture-Programm wieder aufnehmen. Um das Capture-Programm wieder aufzunehmen, gehen Sie folgendermaßen vor:

Wenn Sie die Umgebungsvariable DB2DBDFT (siehe Schritt 2) gesetzt haben, geben Sie Folgendes ein:

>>-asncmd--resume----------------------------------------------><
 

Wenn Sie die Umgebungsvariable DB2DBDFT nicht gesetzt haben, geben Sie Folgendes ein:

>>-asncmd--quellen-server--resume------------------------------><
 

Reinitialisieren von Capture für UNIX-Plattformen

Mit dem Befehl reinit können Sie die Erfassung von Daten aus neuen Quellentabellen starten, wenn Sie eine neue Replikationsquelle hinzufügen oder über eine Anweisung ALTER ADD eine Spalte in eine Replikationsquelle und CD-Tabelle aufnehmen, während das Capture-Programm ausgeführt wird. Über den Befehl reinit wird das Capture-Programm angewiesen, neu hinzugefügte Replikationsquellen aus der Registriertabelle abzurufen.

Der Befehl reinit liest auch die Tabelle mit Anpassungsparametern erneut, um Änderungen an den Anpassungsparametern zu ermitteln.

Prüfen Sie, ob die Umgebungsvariablen gesetzt sind (vgl. Abschnitt Einrichten von Umgebungsvariablen für Capture für UNIX-Plattformen), bevor Sie das Capture-Programm reinitialisieren. Um das Capture-Programm zu reinitialisieren, gehen Sie folgendermaßen vor:

Wenn Sie die Umgebungsvariable DB2DBDFT (siehe Schritt 2) gesetzt haben, geben Sie Folgendes ein:

>>-asncmd--reinit----------------------------------------------><
 

Wenn Sie die Umgebungsvariable DB2DBDFT nicht gesetzt haben, geben Sie Folgendes ein:

>>-asncmd--quellen-server--reinit------------------------------><
 

Wichtig: Verwenden Sie den Befehl reinit nicht, um das Capture-Programm nach dem Entfernen einer Replikationsquelle oder dem Löschen einer Replikationsquellentabelle zu reinitialisieren, während das Capture-Programm ausgeführt wird. Stoppen Sie stattdessen das Capture-Programm, und starten Sie es erneut mit der Option warm oder warmns.

Bereinigen der CD- und UOW-Tabellen.

Mit dem Befehl prune können Sie das Bereinigen der CD- und UOW-Tabellen starten.

Dieser Befehl bereinigt die Tabellen einmal.

Prüfen Sie, ob die Umgebungsvariablen gesetzt sind (vgl. Abschnitt Einrichten von Umgebungsvariablen für Capture für UNIX-Plattformen), bevor Sie beginnen, Tabellen zu bereinigen. Um den Prozess zur Bereinigung der Tabellen zu starten, geben Sie folgenden Befehl ein:

Wenn Sie die Umgebungsvariable DB2DBDFT (siehe Schritt 2) gesetzt haben, geben Sie Folgendes ein:

>>-asncmd--prune-----------------------------------------------><
 

Wenn Sie die Umgebungsvariable DB2DBDFT nicht gesetzt haben, geben Sie Folgendes ein:

>>-asncmd--quellen-server--prune-------------------------------><
 

Das Capture-Programm gibt die Nachricht ASN0124I aus, wenn der Befehl akzeptiert wurde und zur Verarbeitung ansteht.

Wenn Sie das Capture-Programm während des Bereinigens gestoppt oder unterbrochen haben, müssen Sie den Befehl prune nochmals eingeben, um den Bereinigungsvorgang wieder aufzunehmen. Der Bereinigungsvorgang wird bei Eingabe des Befehls resume nicht wieder aufgenommen.

Anzeigen des Erfassungsstatus.

Mit dem Befehl getlseq können Sie die Zeitmarke und die aktuelle Protokollfolgenummer abrufen. Anhand dieser Information können Sie ermitteln, bis zu welchem Punkt das Capture-Programm das DB2-Protokoll gelesen hat.

Prüfen Sie, ob die Umgebungsvariablen gesetzt sind (vgl. Abschnitt Einrichten von Umgebungsvariablen für Capture für UNIX-Plattformen), bevor Sie den Erfassungsstatus anzeigen. Um den Erfassungsstatus anzuzeigen, geben Sie folgenden Befehl ein:

Wenn Sie die Umgebungsvariable DB2DBDFT (siehe Schritt 2) gesetzt haben, geben Sie Folgendes ein:

>>-asncmd--getlseq---------------------------------------------><
 

Wenn Sie die Umgebungsvariable DB2DBDFT nicht gesetzt haben, geben Sie Folgendes ein:

>>-asncmd--quellen-server--getlseq-----------------------------><
 
Tipp:Mit dem DB2-Befehl db2flsn (DB2 UDB Find Log Sequence Number) können Sie die physische Protokolldatei identifizieren, die der Protokollfolgenummer zugeordnet ist. Anhand dieser Nummer können Sie Protokolldateien löschen oder archivieren, die nicht mehr vom Capture-Programm benötigt werden. Weitere Informationen finden Sie in der Veröffentlichung IBM DB2 Universal Database Command Reference.

Betrieb von Apply für UNIX-Plattformen

Mit den in den folgenden Abschnitten beschriebenen Befehlen kann der Administrator folgende Funktionen des Apply-Programms ausführen:

Vor dem Starten des Apply-Programms

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

Starten von Apply für UNIX-Plattformen

Nach dem Starten des Apply-Programms wird es kontinuierlich ausgeführt, bis

Um das Apply-Programm auf einer UNIX-Plattform zu starten, gehen Sie folgendermaßen vor:

  1. Melden Sie sich unter der Benutzer-ID an, die das Apply-Programm ausführen soll.
  2. Der Name für das DB2-Exemplar muss wie gezeigt angegeben werden:
    export DB2INSTANCE=db2-exemplarname
    
  3. Setzen Sie die LIBPATH- und Sprachumgebungsvariablen auf das Verzeichnis, in dem das Apply-Programm gestartet wird (oder editieren Sie die Datei .profile entsprechend). Beachten Sie, dass die Sprachumgebungsvariable in den folgenden Beispielen jeweils von der Sprache abhängig ist, die Sie installieren, und dass db2homedir das Ausgangsverzeichnis des DB2-Exemplars angibt.

    Beispiel für AIX:

    export LIBPATH=db2homedir/sqllib/lib:/usr/lib:/lib
    export LANG=en_US
    

    Beispiel für HP-UX:

    export SHLIB_PATH=db2homedir/sqllib/lib:/usr/lib:/lib
    export LANG=en_US
    

    Linux-Beispiel:

    export LD_LIBRARY_PATH=db2homedir/sqllib/lib:/usr/lib:/lib:/db2/linux/lib
    export LANG=en_US
    

    NUMA-Q-Beispiel:

    export LD_LIBRARY_PATH=db2homedir/sqllib/lib
    export LANG=en_US 
    

    Solaris-Beispiel:

    export LD_LIBRARY_PATH=db2homedir/sqllib/lib:/usr/lib:/lib
    export NLS_PATH= /usr/lib/locale/%L/%N:db2homedir/sqllib/msg/en_US/%N
    export LANG=en_US
    
  4. Geben Sie den Befehl asnapply mit einer oder mehreren Optionen ein:
>>-asnapply--apply-qual----+-----------+---+-----------+-------->
                           '-strg-serv-'   +-loadxit---+
                                           '-noloadxit-'
 
>-----+----------+---+---------+---+---------+---+----------+--->
      +-inamsg---+   +-notrc---+   '-trcfile-'   +-notify---+
      '-noinamsg-'   +-trcerr--+                 '-nonotify-'
                     '-trcflow-'
 
>-----+---------+---+------------+---+----------+--------------->
      +-sleep---+   +-delay(n)---+   '-copyonce-'
      '-nosleep-'   '-errwait(n)-'
 
>-----+----------+---+-----------+---+----------+--------------><
      '-logreuse-'   '-logstdout-'   '-trlreuse-'
 

In Tabelle 28 werden die Aufrufparameter definiert.

Tabelle 28. ASNAPPLY-Befehlsparameterdefinitionen für UNIX-Plattformen
Parameter Definition
apply-qual Gibt das Apply-Qualifikationsmerkmal an, das von dem Apply-Exemplar verwendet wird, um die zu bearbeitenden Subskriptionsgruppen zu identifizieren. Bei Angabe des Apply-Qualifikationsmerkmals muss die Groß-/Kleinschreibung beachtet werden. Die Eingabe muss mit dem APPLY_QUAL-Wert in der Subskriptionsgruppentabelle übereinstimmen. Dieser Parameter muss als Erstes angegeben werden.
strg-serv Gibt den Namen des Servers an, auf dem sich die Replikationssteuertabellen befinden werden. Wenn Sie diesen Parameter nicht angeben, wird standardmäßig die Standarddatenbank oder der Wert von DB2DBDFT verwendet.
loadxit Gibt an, dass ASNLOAD vom Apply-Programm aufgerufen werden soll. Die von IBM gelieferte Exit-Routine ASNLOAD verwendet die Dienstprogramme zum Exportieren und Laden, um die Zieltabellen zu aktualisieren.
noloadxit  (Standardwert)  Gibt an, dass das Programm ASNLOAD nicht vom Apply-Programm aufgerufen werden soll.
inamsg  (Standardwert)  Gibt an, dass das Apply-Programm eine Nachricht ausgeben soll, wenn das Apply-Programm inaktiv ist.
noinamsg Gibt an, dass das Apply-Programm diese Nachricht nicht ausgeben soll.
notrc  (Standardwert)  Gibt an, dass das Apply-Programm keinen Trace generiert.
trcerr Gibt an, dass das Apply-Programm einen Trace generiert, der nur Fehlerinformationen enthält.
trcflow Gibt an, dass das Apply-Programm einen Trace generiert, der Informationen zu Fehlern und zum Ausführungsablauf enthält.
trcfile Wird trcfile zusammen mit trcerr oder trcflow angegeben, schreibt das Apply-Programm die Trace-Ausgabe in die Trace-Datei (*.trc). Geben Sie die Option nicht an, sendet das Apply-Programm die Trace-Ausgabe an die Standardausgabe (stdout).
notify Gibt an, dass das Apply-Programm die Routine ASNDONE aufrufen soll. Diese Exit-Routine gibt die Steuerung an den Benutzer zurück, sobald das Apply-Programm eine Subskriptionsgruppe vollständig kopiert hat.
nonotify  (Standardwert)  Gibt an, dass das Apply-Programm das Programm ASNDONE nicht aufrufen soll.
sleep  (Standardwert)  Gibt an, dass das Apply-Programm inaktiviert werden soll, wenn keine neuen Subskriptionsgruppen für die Verarbeitung ausgewählt werden können.
nosleep Gibt an, dass das Apply-Programm gestoppt werden soll, wenn keine neuen Subskriptionen für die Verarbeitung ausgewählt werden können.
delay(n) Gibt die Verzögerungszeit (in Sekunden) am Ende jedes Zyklus des Apply-Programms an, wenn die fortlaufende Replikation verwendet wird. Dabei ist n=0, 1, 2, 3, 4, 5 oder 6. Die Standardverzögerungszeit beträgt 6 Sekunden.
errwait(n) Gibt die Wartezeit (in Sekunden) an, bevor das Apply-Programm einen neuen Verarbeitungsversuch startet, nachdem es eine Fehlerbedingung festgestellt hat. Dabei gibt n die Anzahl Sekunden an. Wählen Sie den Wert nicht zu klein, weil das Apply-Programm nahezu ohne Unterbrechung ausgeführt wird und eine große Zahl von Zeilen in der Apply-Prüfprotokolltabelle generiert. Die Standardwartezeit beträgt 300 Sekunden (5 Minuten).
copyonce Das Apply-Programm führt einen Kopierzyklus für jede Subskriptionsgruppe aus, die beim Aufruf des Apply-Programms auswählbar ist, und wird anschließend beendet. Auswählbare Subskriptionsgruppen sind wie folgt charakterisiert:

  • ACTIVATE > 0
  • REFRESH_TIMING = R oder B oder REFRESH_TIMING = E und das angegebene Ereignis ist eingetreten.
MAX_SYNCH_MINUTES und END_OF_PERIOD werden berücksichtigt (falls angegeben).
logreuse Das Apply-Programm verwendet die Protokolldatei (*.app) immer wieder. Dazu wird die Datei beim Start des Apply-Programms jeweils gelöscht und neu erstellt. Geben Sie diese Option nicht an, hängt das Apply-Programm die Nachrichten an die Protokolldatei an. Dies gilt auch nach einem Neustart des Apply-Programms.
logstdout Das Apply-Programm sendet alle Nachrichten an die Standardausgabe (stdout) und an die Protokolldatei.
trlreuse Wenn das Apply-Programm gestartet wird, löscht es den Inhalt der Apply-Prüfprotokolltabelle.

Terminieren von Apply für UNIX-Plattformen

Verwenden Sie den Befehl at, um das Apply-Programm zu einem bestimmten Zeitpunkt zu starten. Beispiel: Mit dem folgenden Befehl wird das Apply-Programm am Freitag um 3:00 Uhr mittags gestartet:

at 3pm Friday asnapply myqual

Stoppen von Apply für UNIX-Plattformen

Mit dem Befehl asnastop oder der entsprechenden Tastenkombination können Sie das Apply-Programm ordnungsgemäß beenden.

Zum Stoppen des Befehls gehen Sie folgendermaßen vor (die Eingaben müssen in einem Fenster erfolgen, in dem das Apply-Programm nicht ausgeführt wird):

  1. Setzen Sie die Umgebungsvariable DB2INSTANCE auf den Wert, der beim Start des Apply-Programms eingestellt war.
  2. Setzen Sie die Umgebungsvariable DB2DBDFT auf den Quellen-Server, der beim Start des Apply-Programms angegeben wurde (oder auf den Wert DB2DBDFT, der beim Start des Apply-Programms verwendet wurde).
  3. Geben Sie den Befehl ein.
>>-asnastop--apply-qual----------------------------------------><
 

Fußnoten:

32
Normalerweise wird das Apply-Paket automatisch für Sie erstellt; wenn Sie das Apply-Programm aber manuell konfigurieren, müssen Sie das Apply-Paket explizit binden.


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