DB2 Replikation Benutzer- und Referenzhandbuch

Kapitel 3. Beispielszenario für die Datenreplikation

Mit Hilfe des Szenarios in diesem Kapitel können Sie sich mit der DB2-Steuerzentrale und den Programmen Capture und Apply vertraut machen. Führen Sie die Schritte in diesem einfachen Szenario durch, um Änderungen von einer DB2-Replikationsquelle in eine Zieltabelle in einer Datenbank unter DB2 für Windows NT Enterprise Edition (EE) oder Workgroup Edition (WE) zu kopieren.

Das Szenario besteht aus den folgenden Teilen:

  1. Vorbereitung
  2. Planung des Szenarios
  3. Einrichten der Replikationsumgebung für dieses Szenario
  4. Betrieb in einer Replikationsumgebung

Vorbereitung

Wenn Sie das hier beschriebene Szenario auf Ihrem Computer durcharbeiten möchten, richten Sie Ihr System anhand der folgenden Schritte ein:

  1. Stellen Sie sicher, dass DB2 für Windows NT auf Ihrem Computer installiert ist.
  2. Stellen Sie sicher, dass Ihre DB2-Steuerzentrale die Standardeinstellungen verwendet. Wenn Sie die Standardeinstellungen explizit geändert haben, stimmt Ihre Anzeige bei manchen Schritten nicht mit der hier beschriebenen überein.
  3. Erstellen Sie das Verzeichnis C:\scripts. In diesem Verzeichnis werden die SQL-Dateien für die Replikation gespeichert.
  4. Verwenden Sie die DB2-Steuerzentrale, um eine neue Datenbank mit dem Namen COPYDB zu erstellen. Diese Datenbank wird als Ziel- und Steuerungs-Server verwendet. Klicken Sie den Ordner Datenbank mit der rechten Maustaste an, und befolgen Sie die Anweisungen, um unter Verwendung des Wizard eine neue Datenbank mit Standardoptionen zu erstellen.
  5. Verwenden Sie das Symbol Erste Schritte in DB2 Universal Database (oder wählen Sie Start -> Programme -> DB2 für Windows NT -> Erste Schritte aus), um die Datenbank SAMPLE zu erstellen. Schließen Sie das Fenster "Erste Schritte", nachdem Sie die Datenbank erstellt haben. Wenn Sie bei der Installation von DB2 für Windows NT "Erste Schritte" nicht mit installiert haben, rufen Sie ein DB2-Befehlsfenster auf, und geben sie den Befehl db2sampl ein, um die Datenbank SAMPLE zu erstellen.

Für die Schritte in diesem Kapitel werden die Daten in der Tabelle DEPARTMENT in der Datenbank SAMPLE verwendet. Der vollständig qualifizierte Name ist benutzerid.Department. Dabei gibt benutzerid die Benutzer-ID an, von der die Tabelle erstellt wurde. Tabelle 1 zeigt die Tabelle DEPARTMENT.

Tabelle 1. Tabelle DEPARTMENT
DEPTNO DEPTNAME MGRNO ADMRDEPT LOCATION
A00 SPIFFY COMPUTER SERVICE 000010 A00 -
B01 PLANNING 000020 A00 -
C01 INFORMATION CENTER 000030 A00 -
D01 DEVELOPMENT CENTER - A00 -
D11 MANUFACTURING SYSTEMS 000060 D01 -
D21 ADMINISTRATION SYSTEMS 000070 D01 -
E01 SUPPORT SERVICES 000050 A00 -
E11 OPERATIONS 000090 E01 -
E21 SOFTWARE SUPPORT 000100 E01 -

Verwenden Sie für die übrigen Schritte dieser Übung die Benutzer-ID, mit der Sie die Datenbanken SAMPLE und COPYDB erstellt haben. Da Sie die Datenbanken erstellt haben, verfügen Sie auch über die Berechtigung zum Ausführen von Replikationsfunktionen (DBADM oder SYSADM).


Planung des Szenarios

Angenommen, eine Anwendung greift zum Generieren von Berichten auf Informationen zurück, die in der Tabelle DEPARTMENT in der Datenbank SAMPLE gespeichert sind. Anstatt die Daten direkt aus der Quellentabelle zu verwenden, möchten Sie die Änderungen in eine Zieltabelle kopieren, die nur von dieser Anwendung gelesen werden kann. Um den Verwaltungsaufwand möglichst gering zu halten, möchten Sie die Zieltabelle auf der Maschine erstellen, die auch als Quellen-Server dient.

Sie benötigen eine einfache Konfiguration zur Datenverteilung, die eine einzelne Replikationsquelle enthält, deren Änderungen in eine Tabelle mit Lesezugriff repliziert werden. In diesem Abschnitt werden verschiedene Aspekte des Entwurfs und der Planung beschrieben, die vor der Ausführung der Replikationsaufgaben zu beachten sind.

Replikationsquelle

Wie bereits erwähnt, soll die Tabelle benutzerid.DEPARTMENT in der Datenbank SAMPLE als Replikationsquelle verwendet werden. Bevor Sie Ihre Umgebung einrichten, müssen Sie nun entscheiden, welche Informationen aus dieser Tabelle repliziert werden sollen. In diesem Szenario legen Sie fest, dass alle Spalten für die Replikation zur Verfügung stehen und dass Vorabbildwerte für jede Spalte gesichert werden sollen, damit Sie die Änderungen sehen können.
Tipp:Es empfiehlt sich, beim Definieren von Replikationsquellen immer Vorabbildwerte mit einzuschließen. Denn falls Sie später eine Konfiguration für beliebige Replikation ändern, brauchen Sie Ihre Replikationsquelle nicht neu zu definieren.

Replikationsziel

Entscheiden Sie nun, dass das Replikationsziel die Datenbank COPYDB sein soll, die Sie bereits unter DB2 für Windows NT erstellt haben. Zurzeit gibt es noch keine Zieltabelle in dieser Datenbank. Sie möchten nun, dass die Steuerzentrale die Tabelle gemäß Ihren Angaben erstellt.

Verwendung von bestehenden Zieltabellen: Wenn Sie die Steuerzentrale verwenden, wird die Zieltabelle erstellt, wenn sie noch nicht vorhanden ist. Diese Methode wird zum Generieren von Zieltabellen empfohlen, weil damit die korrekte Zuordnung zur Replikationsquelle sichergestellt ist. Sie können aber auch bestehende Zieltabellen verwenden, wenn sie mit einem DB2-Produkt erstellt wurden.

Angenommen, die Zieltabelle in COPYDB soll die folgenden Spalten enthalten:

DEPTNO
Informationen aus der Spalte DEPTNO in der Replikationsquelle (diese Spalte ist der Primärschlüssel der Zieltabelle)

DEPTNAME
Informationen aus der Spalte DEPTNAME in der Replikationsquelle

MGRNO
Informationen aus der Spalte MGRNO in der Replikationsquelle

ADMRDEPT
Informationen aus der Spalte ADMRDEPT in der Replikationsquelle

LOCATION
Informationen aus der Spalte LOCATION in der Replikationsquelle

Da im vorliegenden Fall die Spalten in der Zieltabelle mit den Daten in der Quellentabelle identisch sind, und es so für jeden Datensatz in der Zieltabelle auch genau einen Datensatz in der Quellentabelle gibt, können Sie die Zieltabellenart Benutzerkopie verwenden.

Replikationsoptionen

Im Rahmen dieser Übung speichern Sie die Zieltabelle und die Replikationssteuertabellen im Standardtabellenbereich USERSPACE1.
Logischer Server Tabellenbereich Inhalt
Quellen-Server: SAMPLE USERSPACE1 Quellen-Replikationssteuertabellen (einschließlich CD-Tabelle)
Steuerungs-Server und Ziel-Server: COPYDB USERSPACE1 Replikationssteuertabellen und die Zieltabelle

In der Regel werden die UOW-Tabelle und die CD-Tabellen (und gegebenenfalls die CCD-Tabellen, falls sie verwendet werden) in jeweils eigene Tabellenbereiche gestellt, und die Tabellen bzw. Tabellenbereiche werden gesperrt. Alle übrigen Replikationssteuertabellen können zusammen in einen Tabellenbereich gestellt und auf Zeilenebene gesperrt werden.

Im vorliegenden Szenario soll das Intervall für die Prüfung der Quellentabelle auf Änderungen und die Replikation dieser Änderungen in der Zieltabelle eine Minute betragen. Dieses kurze Intervall ist zwar für eine Anwendung zum Generieren von Berichten nicht erforderlich, jedoch soll die eingerichtete Replikationsumgebung getestet werden.

Außerdem sollen nach jedem Replikationszyklus alle Datensätze aus dem Apply-Prüfprotokoll gelöscht werden, die älter als eine Woche (7 Tage) sind. Durch diesen Bereinigungsvorgang wird verhindert, dass die Tabelle zu groß wird.

Sie brauchen keine Integritätsbedingungen zu definieren, da die Zieltabelle nur Lesezugriff gestattet. Integritätsbedingungen sind nur erforderlich, wenn Anwendungen die Zieltabelle aktualisieren. In diesem Szenario werden die Aktualisierungen in der Replikationsquelle festgeschrieben, und es müssen nur die auf diesem System definierten Integritätsbedingungen erfüllt werden. Es ist also nicht erforderlich, die gleichen Integritätsbedingungen auf dem Zielsystem erneut zu überprüfen.


Einrichten der Replikationsumgebung für dieses Szenario

Nachdem die Planung des Replikationsmodells abgeschlossen ist, können Sie die Replikationsumgebung einrichten.

Schritt 1: Anpassen der Steuertabellen

Die Steuerzentrale erstellt automatisch Steuertabellen auf dem Quellen- und dem Ziel-Server. Standardmäßig werden die Steuertabellen mit Standardeinstellungen (Sperren, Tabellenbereich) erstellt, die sich zwar für Testzwecke, jedoch nicht für Produktionsumgebungen eignen. Um die Steuertabellen an Ihre Produktionsumgebung anzupassen, müssen Sie die Datei dpcntl.udb editieren und ausführen, bevor Sie weitere Replikationsaufgaben ausführen.

Um die Steuertabellen anzupassen, gehen Sie folgendermaßen vor:

  1. Wechseln Sie auf dem Laufwerk, auf dem Sie DB2 Universal Database installiert haben, in das Verzeichnis sqllib\samples\repl\.
  2. Öffnen Sie die Datei dpcntl.udb. In einer Produktionsumgebung müssten Sie nun diese Datei editieren und ausführen, um die Steuertabellen an Ihre speziellen Anforderungen anzupassen. Ändern Sie jedoch die Datei im Rahmen dieser Übung nicht.
  3. Schließen Sie die Datei dpcntl.udb.

Schritt 2: Definieren einer Replikationsquelle

Nach dem Anpassen der Steuertabellen verwenden Sie die Steuerzentrale zum Definieren der Tabelle DEPARTMENT als Replikationsquelle.

Um eine Replikationsquelle zu definieren, gehen Sie folgendermaßen vor:

  1. In der Objektbaumstruktur klicken Sie den Ordner Tabellen unter der Datenbank SAMPLE an. Alle in der Datenbank SAMPLE enthaltenen Tabellen werden im Inhaltsteilfenster angezeigt.
  2. Klicken Sie mit der rechten Maustaste die Tabelle DEPARTMENT an, und wählen Sie Als Replikationsquelle definieren -> Angepasst aus. Bei einer angepassten Replikation können Sie die Daten verändern, bevor sie auf die Quelle angewendet werden. Das Fenster "Als Replikationsquelle definieren" wird geöffnet.
  3. Nehmen Sie in dieser Übung keine Änderungen im Fenster "Als Replikationsquelle definieren" vor, um die Standardeinstellungen verwenden zu können. Klicken Sie OK an.
  4. Daraufhin wird das Fenster "SQL-Anweisung jetzt ausführen oder speichern" geöffnet. Führen Sie im Fenster "SQL-Anweisung jetzt ausführen oder speichern" folgende Schritte aus:

    1. Sie können die SQL-Anweisungen jetzt oder zu einem späteren Zeitpunkt ausführen. Klicken Sie OK an, und übernehmen Sie damit den Standardwert (die SQL-Anweisungen in einer Datei speichern und später ausführen).
      Tipp:Es empfiehlt sich in den meisten Fällen, den Standardwert zu verwenden. Wenn Sie die SQL-Anweisungen in einer Datei speichern, können Sie die Anweisungen prüfen, bei Bedarf an Ihre Anforderungen anpassen, die Datei sichern und erst dann ausführen, wenn Sie sicher sind, dass die gewünschten Ergebnisse erzielt werden.
    2. Das Fenster "Systemname" wird geöffnet. Klicken Sie OK an.
    3. Verwenden Sie das Fenster Datei-Browser, um die Datei zu erstellen, in der die SQL-Anweisungen gespeichert werden sollen.

      1. Im Feld Laufwerke wählen Sie C: aus.
      2. Wählen Sie anschließend durch Doppelklicken scripts in der Liste Verzeichnisse aus. (Wenn Sie in das jeweils übergeordnete Verzeichnis wechseln möchten, klicken Sie doppelt auf die beiden Punkte (..) oben in der Liste.)
      3. Geben Sie anschließend replsrc.sql im Feld Pfad ein.
      4. Klicken Sie OK an.
      Tipp:Standardmäßig wird die SQL-Datei im Verzeichnis sqllib gesichert. In Ihrer eigenen Replikationsumgebung wollen Sie diese Dateien aber wahrscheinlich in einem separaten Verzeichnis und nicht im Verzeichnis sqllib speichern.
    4. Rufen Sie die erstellte Datei auf. Wechseln Sie dazu in das Verzeichnis C:\scripts, und öffnen Sie die Datei replsrc.sql mit einem Editor. Ändern Sie die Datei aber im Rahmen dieser Übung nicht. Schließen Sie die Datei.
      Tipp:Wenn Sie Ihre eigene Replikationsumgebung einrichten, müssen Sie beim Editieren dieser Datei vorsichtig vorgehen. Wenn Sie den Namen der CD-Tabelle oder des Tabellenbereichs für die CD-Tabelle ändern, müssen Sie auch die Anweisung CREATE INDEX für die CD-Tabelle ändern und den CD-Tabelleneintrag in der betreffenden Zeile in Tabelle ASN.IBMSNAP_REGISTER aktualisieren.
  5. Führen Sie die Datei wie folgt aus, um die Replikationsquelle zu definieren:

    1. Klicken Sie mit der rechten Maustaste den Ordner Replikationsquellen an, und wählen Sie SQL-Dateien ausführen aus.
    2. Verwenden Sie das Fenster Datei-Browser, um die SQL-Datei auszuwählen, die Sie in Schritt 4c gesichert haben:

      1. Im Feld Laufwerke wählen Sie C: aus.
      2. Wählen Sie anschließend durch Doppelklicken scripts in der Liste Verzeichnisse aus.
      3. Im Feld Dateien wählen Sie replsrc.sql aus.
      4. Klicken Sie OK an.
  6. Überprüfen Sie, ob DEPARTMENT als Replikationsquelle definiert ist. Wählen Sie anschließend über die rechte Maustaste Replikationsquellen -> Aktualisieren aus. Der Tabellenname DEPARTMENT wird im Inhaltsteilfenster der Steuerzentrale angezeigt.

Die Tabelle DEPARTMENT ist nun als Replikationsquelle definiert. Während der Ausführung der SQL-Datei hat die Steuerzentrale die CD-Tabelle für diese Replikationsquelle und außerdem die Replikationssteuertabellen im Standardtabellenbereich (USERSPACE1) für die Datenbank SAMPLE erstellt.

Schritt 3: Definieren einer Subskriptionsgruppe und eines Subskriptionsgruppeneintrags

Nach der Replikationsquelle muss nun auch eine Subskriptionsgruppe definiert werden. Eine Subskriptionsgruppe definiert die Beziehung zwischen der Replikationsquelle (in diesem Szenario DEPARTMENT) und einer Zieltabelle (erhält in diesem Szenario den Namen DEPTCOPY). Außerdem legt die Subskriptionsgruppe einige Replikationsparameter fest.

Um eine Subskriptionsgruppe und einen Subskriptionsgruppeneintrag zu definieren, gehen Sie folgendermaßen vor:

  1. Wählen Sie das Objekt Replikationsquellen in der Objektbaumstruktur aus, und klicken Sie anschließend mit der rechten Maustaste das Objekt DEPARTMENT an, das im rechten Teilfenster der Steuerzentrale angezeigt wird. Wählen Sie dann Subskription definieren aus. Daraufhin wird das Fenster "Replikationssubskription definieren" geöffnet.
  2. Um die Zieltabelle und die Subskriptionsgruppe einzurichten, gehen sie folgendermaßen vor:

    1. Geben Sie den Namen DEPTSUB für die zu definierende Subskriptionsgruppe im Feld Name für Subskription ein.
    2. Geben Sie die Datenbank an, in der die Zieltabelle gespeichert wird. Wählen Sie dazu COPYDB im Feld Ziel-Server aus.
    3. Geben Sie DEPTQUAL im Feld Apply-Qualifikationsmerkmal ein. Diese Zeichenfolge gibt eindeutige Definitionen für das Exemplar des Apply-Programms an, das diese Subskriptionsgruppe ausführt.
      Tipp:Bei dem Apply-Qualifikationsmerkmal muss die Groß-/Kleinschreibung beachtet werden. Möchten Sie für das Apply-Qualifikationsmerkmal Kleinbuchstaben verwenden, müssen Sie Begrenzungszeichen bei der Eingabe benutzen, z. B. "deptqual". Wenn Sie nur deptqual eingeben, wird der Wert von der Steuerzentrale standardmäßig in Großbuchstaben umgesetzt.
    4. Geben Sie an, dass die Zieltabelle von der Steuerzentrale erstellt werden soll, indem Sie das Markierungsfeld Tabelle erstellen auswählen.
    5. Klicken Sie Ändern an. Daraufhin wird das Fenster "Ändern" geöffnet.

      1. Ändern Sie anschließend die Standardzieltabelle, indem Sie benutzerid.DEPARTMENT mit benutzerid.DEPTCOPY überschreiben.
      2. Klicken Sie OK an, um zum Fenster "Replikationssubskription definieren" zurückzukehren.
    6. Klicken Sie Erweitert an. Daraufhin wird das Notizbuch "Erweiterte Subskription - Definition" geöffnet. Führen Sie dort die folgenden Schritte aus:

      1. Übernehmen Sie die Standardeinstellungen auf der Seite Zielart, da Sie eine Benutzerkopietabelle erstellen wollen.
      2. Auf der Seite Zielspalten definieren Sie DEPTNO als Primärschlüssel der Zieltabelle, indem Sie das Markierungsfeld Primärschlüssel neben DEPTNO aktivieren.
        Tipp:Es empfiehlt sich, das Fenster zu vergrößern, damit alle Spalten sichtbar sind. Ferner ist zu beachten, dass die Namen einiger Zeilen mit dem Buchstaben X (z. B. XDEPTNO) beginnen. In diesen Zeilen werden die Vorabbildspaltenwerte gespeichert, die Sie angefordert haben.
      3. Geben Sie auf der Seite Zeilen an, dass nur Zeilen repliziert werden sollen, die bestimmte Bedingungen erfüllen. Geben Sie dazu die folgende WHERE-Klausel ein:
        DEPTNO >='A00'
        
      4. Klicken Sie OK an, um diese Einstellungen zu sichern und zum Fenster "Replikationssubskription definieren" zurückzukehren.
  3. Definieren Sie die SQL-Anweisungen, die während der Ausführung der Subskriptionsgruppe verarbeitet werden sollen:

    1. Klicken Sie SQL an. Daraufhin wird das SQL-Fenster geöffnet.
    2. Klicken Sie Hinzufügen an. Daraufhin wird das Fenster "SQL hinzufügen" geöffnet.
    3. Geben Sie an, dass Sie alle Datensätze im Apply-Prüfprotokoll löschen möchten, die älter als sieben Tage sind. Geben Sie dazu folgende Verarbeitungsanweisung im Feld SQL-Anweisung oder Call-Prozedur ein:
      DELETE FROM ASN.IBMSNAP_APPLYTRAIL WHERE LASTRUN
      < (CURRENT TIMESTAMP - 7 DAYS)
      
    4. Geben Sie an, dass "Zeile nicht gefunden" ein zulässiger SQL-Status ist, indem Sie den Wert 02000 im Feld SQLSTATE eingeben und Hinzufügen anklicken. Dieser Wert wird dann in das Listenfenster Zulässige SQLSTATE-Werte aufgenommen.
      Tipp:Sie können bis zu zehn SQLSTATE-Werte definieren, die bei dieser Subskription ignoriert werden sollen.
    5. Geben Sie an, dass die SQL-Anweisungen vor Verarbeitung der Subskriptionsgruppe ausgeführt werden sollen, indem Sie den Radioknopf Auf dem Ziel-Server vor Verarbeitung der Subskription auswählen. In diesem Fall müssen Sie die SQL-Anweisungen auf dem Ziel-Server ausführen, da sich der Steuerungs-Server und der Ziel-Server auf einer Maschine befinden und die Apply-Prüfprotokolltabelle auf dem Steuerungs-Server gespeichert ist.
    6. Klicken Sie OK an. Die SQL-Anweisung wird zu dem Listenfenster im SQL-Fenster hinzugefügt, und das Fenster "SQL hinzufügen" wird geschlossen.
    7. Klicken Sie OK im SQL-Fenster an, um zum Fenster Replikationssubskription definieren zurückzukehren.
  4. Klicken Sie Ablaufsteuerung an, und geben Sie über die Seite "Quelle zu Ziel" des Notizbuchs "Ablaufsteuerung für Subskription" an, wann und wie oft die Subskriptionsgruppe repliziert werden soll.

    1. Übernehmen Sie die Standardwerte für Startdatum, Startzeit, Auf Zeit basierend und Relative Ablaufsteuerung verwenden unverändert.
    2. Geben Sie wie folgt an, dass das Intervall für die Ausführung der Subskriptionsgruppe eine Minute betragen soll:

      1. Verwenden Sie die Drehknöpfe beim Feld Minuten, um 1-Minuten-Intervalle auszuwählen (oder geben Sie 1 in dem Feld ein).
      2. Verwenden Sie die Drehknöpfe beim Feld Stunden, um den angezeigten Wert in 0 zu ändern (oder geben Sie 0 im Feld ein).
    3. Klicken Sie die Indexzunge Datenblockung an, und verwenden Sie die Drehknöpfe, um 1 als Minutenintervall für die Datenblockung (Intervall, in dem das Apply-Programm festgeschriebene Daten kopiert) anzugeben.
      Tipp:Der Wert für die Datenblockung hängt davon ab, wie viel freier Speicherbereich auf der Workstation vorhanden ist, auf der das Apply-Programm ausgeführt wird. In der Regel wird eine Zahl zwischen 5 und 20 verwendet. Ein sehr vorsichtiger Wert ist 1 Minute.
    4. Klicken Sie OK an, um die eingestellten Werte zu sichern, das Notizbuch "Ablaufsteuerung für Subskription" zu schließen und zum Fenster "Replikationssubskription definieren" zurückzukehren.
  5. Übergeben Sie die Subskriptionsgruppe.

    1. Klicken Sie im Fenster "Replikationssubskription definieren" OK an. Daraufhin wird das Fenster "SQL-Anweisung jetzt ausführen oder speichern" geöffnet.
    2. Geben Sie den Steuerungs-Server an, d. h. die Datenbank, die die Steuerinformationen für die Subskriptionsgruppe enthält. Wählen Sie dazu COPYDB aus. Dieser Server ist die Datenbank, in der Sie die Steuerinformationen für die Subskription speichern möchten.
    3. Klicken Sie OK im Fenster "SQL-Anweisung jetzt ausführen oder speichern" an, und übernehmen Sie damit den Standardwert (die SQL-Datei speichern und später ausführen).
    4. Das Fenster "Systemname" wird geöffnet. Klicken Sie OK an.
    5. Verwenden Sie das Fenster Datei-Browser, um die Datei zu erstellen, in der die SQL-Anweisungen gespeichert werden sollen.

      1. Im Feld Laufwerke wählen Sie C: aus.
      2. Wählen Sie anschließend durch Doppelklicken scripts in der Liste Verzeichnisse aus.
      3. Geben Sie anschließend replsub.sql im Feld Pfad ein.
      4. Klicken Sie OK an. Das Fenster "Datei-Browser" wird geschlossen.
  6. Führen Sie die Datei wie folgt aus, um die Subskriptionsgruppe zu definieren:

    1. Klicken Sie mit der rechten Maustaste das Objekt Replikationssubskriptionen unter der Datenbank SAMPLE an, und wählen Sie SQL-Dateien ausführen aus.
    2. Geben Sie die SQL-Datei replsub.sql (vgl. Schritt 5e) an, und klicken Sie OK an.
  7. Klicken Sie mit der rechten Maustaste das Objekt Replikationssubskriptionen unter der Datenbank SAMPLE an, und wählen Sie Aktualisieren aus. Die Subskriptionsgruppe DEPTSUB wird als Objekt im Inhaltsteilfenster der Steuerzentrale angezeigt.

Schritt 4: Konfigurieren der Quellendatenbank

Tipp:Wenn sich der Quellen-Server auf einer anderen Maschine befände, müssten Sie sich über das Netzwerk beim Quellen-Server anmelden. Sie brauchten dann eine Benutzer-ID, die über die DBADM- oder SYSADM-Berechtigung für den Quellen-Server verfügt. Da sich der Quellen-Server jedoch in diesem Beispielszenario auf Ihrer lokalen Maschine befindet, brauchen Sie sich nicht erneut anzumelden.

Um das Capture-Programm zu konfigurieren, gehen Sie folgendermaßen vor:

  1. Klicken Sie mit der rechten Maustaste das Datenbankobjekt SAMPLE an, und wählen Sie Konfigurieren aus. Daraufhin wird das Notizbuch "Datenbank konfigurieren" geöffnet.
  2. Rufen Sie die Seite "Protokolle" auf, und wählen Sie den Parameter Protokolldateien für aktualisierende Wiederherstellung und Capture aufbewahren in der Liste und anschließend den Radioknopf Capture aus. Durch Speichern des Protokolls wird sichergestellt, dass Protokolleinträge erst dann überschrieben werden, wenn sie vom Capture-Programm gelesen wurden.
  3. Wählen Sie OK aus, um die Werte zu sichern.
  4. Klicken Sie mit der rechten Maustaste das Datenbankobjekt SAMPLE an, und wählen Sie Trennen aus.
  5. Klicken Sie mit der rechten Maustaste das Datenbankobjekt SAMPLE an, und wählen Sie Sichern -> Datenbank aus. Befolgen Sie die im Fenster angezeigten Anweisungen, um die Datenbank nun mit Standardoptionen in einem Verzeichnis auf Ihrem System zu sichern.
    Tipp:Sie müssen eine Sicherung ausführen, damit der Zugriff auf die Datenbank möglich wird. Die Datenbank wurde automatisch in einen Modus mit anstehender Sicherung versetzt, als Sie die Option "Protokollspeicherung für Wiederherstellung" ausgewählt haben.

Schritt 5: Binden der Programme Capture und Apply

Tipp:Im Rahmen dieser Übung erstellen und binden Sie die Programmpakete Capture und Apply manuell. Es ist jedoch möglich, die Pakete über DB2 DataPropagator für alle unterstützten UNIX-, Windows- und OS/2-Betriebssysteme automatisch erstellen und binden zu lassen.

Um das Capture-Programm manuell zu binden, gehen Sie folgendermaßen vor:

  1. Wählen Sie Start -> Programme -> DB2 für Windows NT -> Befehlsfenster aus, um ein DB2-Befehlsfenster zu öffnen.
  2. Stellen Sie eine Verbindung zu der Quellen-Server-Datenbank her, indem Sie Folgendes eingeben:
    DB2 CONNECT TO SAMPLE 
    
  3. Wechseln Sie in das Verzeichnis sqllib\bnd. In diesem Verzeichnis befinden sich alle Bindedateien.
  4. Erstellen Sie das Capture-Programmpaket, und binden Sie es durch Eingabe des folgenden Befehls an die Quellen-Server-Datenbank:
    DB2 BIND @CAPTURE.LST ISOLATION UR BLOCKING ALL
    

    Die Datei capture.lst enthält eine Liste der erstellten Pakete.

    Setzen Sie den Vorgang mit den unten angegebenen Schritten fort.

Um das Apply-Programm manuell zu binden, gehen Sie folgendermaßen vor:

  1. Erstellen Sie das Apply-Programmpaket, und binden Sie es an den Quellen-Server, indem Sie die beiden folgenden Befehle eingeben:
    DB2 BIND @APPLYUR.LST ISOLATION UR BLOCKING ALL 
    

    DB2 BIND @APPLYCS.LST ISOLATION CS BLOCKING ALL
    

    Die Dateien applyur.lst und applycs.lst enthalten eine Liste der erstellten Pakete.

  2. Stellen Sie eine Verbindung zu der Ziel-Server-Datenbank her, indem Sie Folgendes eingeben:
    DB2 CONNECT TO COPYDB 
    
  3. Erstellen Sie das Apply-Programmpaket, und binden Sie es durch Eingabe der beiden folgenden Befehle an die Ziel-Server-Datenbank:
    DB2 BIND @APPLYUR.LST ISOLATION UR BLOCKING ALL 
    

    DB2 BIND @APPLYCS.LST ISOLATION CS BLOCKING ALL
    

    Die Dateien applyur.lst und applycs.lst enthalten eine Liste der erstellten Pakete.

Schritt 6: Erstellen einer Kennwortdatei

Damit die Authentifizierung der Endbenutzer beim Quellen-Server erfolgen kann, müssen Sie eine Kennwortdatei mit dem Schema AUTH=SERVER erstellen. Das Apply-Programm verwendet diese Datei, wenn eine Verbindung zum Quellen-Server hergestellt wird. Stellen Sie sicher, dass die Benutzer-ID, unter der Sie das Apply-Programm ausführen, über die Berechtigung zum Lesen der Kennwortdatei verfügt.

Um eine Kennwortdatei zu erstellen, gehen Sie folgendermaßen vor:

  1. Wechseln Sie in das Verzeichnis C:\scripts. .
  2. Erstellen Sie mit einem Editor eine neue Datei.
  3. Geben Sie folgende Sätze in die leere Datei ein:
    SERVER=SAMPLE USER=benutzerid PWD=kennwort 
    SERVER=COPYDB USER=benutzerid PWD=kennwort 
    
    Dabei gilt Folgendes:

    server
    Dies ist der Name des Quellen-, Ziel- oder Steuerungs-Servers. Der Name muss genau so eingegeben werden, wie er in der Tabelle für Subskriptionsgruppen steht, d. h., die Groß-/Kleinschreibung ist zu beachten. (In diesem Beispiel gilt dies für SAMPLE und COPYDB.)

    benutzerid
    Dies ist die Benutzer-ID, über die Sie den betreffenden Server verwalten wollen. Bei Windows NT und UNIX-gestützten Betriebssystemen ist bei Eingabe dieses Werts die Groß-/Kleinschreibung zu beachten.

    kennwort
    Dies ist das Kennwort, das der Benutzer-ID zugeordnet ist. Bei Windows NT und UNIX-gestützten Betriebssystemen ist bei Eingabe dieses Werts die Groß-/Kleinschreibung zu beachten.

    Format der Kennwortdatei: Die Datei darf keine Leerzeilen und keine Kommentarzeilen enthalten. Geben Sie nur den Server-Namen, die Benutzer-ID und das Kennwort ein. Diese Informationen ermöglichen es, verschiedene Kennwörter (oder dasselbe) bei den einzelnen Servern zu verwenden.

  4. Sichern Sie die Datei unter dem Namen deptqual.pwd, und schließen Sie die Datei.

    Namenskonvention für die Kennwortdatei:

    Der Name der Kennwortdatei lautet <applyqual.pwd. Bei der Zeichenfolge applyqual muss zwischen Groß- und Kleinschreibung unterschieden und genau die Schreibweise und der Wert des Apply-Qualifikationsmerkmals (APPLY_QUAL) in der Tabelle für Subskriptionsgruppen verwendet werden. Die Dateinamenskonvention DB2 DataPropagator Version 5 wird ebenfalls unterstützt: apply-qualexemplarnamesteuerungs-server.pwd; dies sind das Apply-Qualifikationsmerkmal (Groß-/Kleinschreibung beachten), der Exemplarname für das Apply-Programm (der Standardname ist DB2 in Großbuchstaben) und der Name des Steuerungs-Servers in Großbuchstaben (z. B. COPYDB).

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

Schritt 7: Replizieren der Daten des Szenarios

Nach dem Definieren der Replikationsquelle und der Subskriptionsgruppe können Sie die Kopieranforderung übergeben, indem Sie die Programme Capture und Apply starten.

Um das Capture-Programm zu starten, gehen Sie folgendermaßen vor:

  1. Wechseln Sie in einem Windows NT-Befehlsfenster in das Verzeichnis C:\scripts.
  2. Geben Sie den folgenden Befehl ein, um das Capture-Programm mit der Kaltstartoption ohne automatische Bereinigung zu starten:
    ASNCCP SAMPLE COLD NOPRUNE
    
    Tipp:Normalerweise sollten Sie nicht die Kaltstartoption angeben, sondern das Capture-Programm selbst ermitteln lassen, ob ein Kalt- oder Warmstart ausgeführt wird. Im Rahmen dieser Übung erzwingen Sie einen Kaltstart für das Capture-Programm, um die Datensätze in den CD- und UOW-Tabellen zu bereinigen.

Das Capture-Programm wird gestartet, es erscheint aber keine neue Eingabeaufforderung. Mit dieser Aktion wird eine *.CCP-Datei erstellt. Das Capture-Programm ist zwar initialisiert, es beginnt aber erst mit der Erfassung von Änderungen für die definierte Replikationsquelle, wenn Sie das Apply-Programm gestartet haben und dieses seine erste vollständige Aktualisierung durchgeführt hat.

Um das Apply-Programm zu starten, gehen Sie folgendermaßen vor:

  1. Wechseln Sie in einem anderen Windows NT-Befehlsfenster in das Verzeichnis C:\scripts auf dem Ziel-Server, in dem Sie die Kennwortdatei gespeichert haben.
    Tipp:Sie müssen das Apply-Programm in demselben Verzeichnis starten, in dem die Kennwortdatei gespeichert ist. Wenn Sie versuchen, das Apply-Programm aus einem anderen Verzeichnis zu starten, wird eine Fehlernachricht ausgegeben.
  2. Geben Sie den folgenden Befehl ein, um das Apply-Programm zu starten:
    ASNAPPLY DEPTQUAL COPYDB
    
    Tipp:Bei dem Apply-Qualifikationsmerkmal DEPTQUAL muss die Groß-/Kleinschreibung beachtet werden. In diesem Übungsbeispiel ist DEPTQUAL ganz in Großbuchstaben einzugeben.
    Tipp:Sie können das Programm ASNLOAD über den Aufrufparameter LOADX starten. Geben Sie den Parameter LOADX in der oben angegebenen Befehlsanweisung hinter dem Datenbanknamen (COPYDB) an. In seiner Standardkonfiguration verwendet das Programm ASNLOAD das Dienstprogramm EXPORT für den Export der Daten aus der Quellentabelle und das Dienstprogramm LOAD für die vollständige Aktualisierung der Zieltabelle. Sie können das Programm ASNLOAD ändern, so dass es jedes beliebige andere Programm von IBM oder einem anderen Hersteller aufruft.

Das Apply-Programm wird gestartet, es erscheint aber keine neue Eingabeaufforderung. Die Apply-Prüfprotokolltabelle (ASN.IBMSNAP_APPLYTRAIL) in COPYDB enthält Informationen zum jeweils aktuellen Status.

Wenn Sie die Zieltabelle DEPTCOPY nach einem Replikationszyklus anzeigen, müssten Sie die in Tabelle 2 dargestellten Ergebnisse sehen.

Tabelle 2. Tabelle DEPTCOPY
DEPTNO DEPTNAME MGRNO ADMRDEPT LOCATION
A00 SPIFFY COMPUTER SERVICE 000010 A00 -
B01 PLANNING 000020 A00 -
C01 INFORMATION CENTER 000030 A00 -
D01 DEVELOPMENT CENTER - A00 -
D11 MANUFACTURING SYSTEMS 000060 D01 -
D21 ADMINISTRATION SYSTEMS 000070 D01 -
E01 SUPPORT SERVICES 000050 A00 -
E11 OPERATIONS 000090 E01 -
E21 SOFTWARE SUPPORT 000100 E01 -


Betrieb in einer Replikationsumgebung

Sobald die Replikationsumgebung eingerichtet ist, werden alle in der Replikationsquelle vorgenommenen Änderungen in die Zieltabelle repliziert. Die Steuertabellen müssen in regelmäßigen Abständen bereinigt werden, damit sie nicht zu groß werden. Obwohl die Programme Capture und Apply permanent aktiv sein können, ist es hin und wieder erforderlich, sie zu stoppen - z. B. um Dienstprogramme ausführen zu können, die auf die Tabellenbereiche zugreifen, in denen die Steuertabellen gespeichert sind.

Schritt 1: Aktualisieren der Quellentabelle

Angenommen, bei Spiffy Computer Service wurden zwei neue Abteilungen gegründet: eine für Technical Writing und eine für Public Relations.

Um die Quellentabellen zu aktualisieren, gehen Sie folgendermaßen vor:

  1. Wählen Sie Start -> Programme -> DB2 für Windows NT -> Befehlsfenster aus, um ein DB2-Befehlsfenster zu öffnen.
  2. Stellen Sie eine Verbindung zu der Quellen-Server-Datenbank her, indem Sie Folgendes eingeben:
    DB2 CONNECT TO SAMPLE
    
  3. Fügen Sie für jede neue Abteilung eine Zeile ein, indem Sie die beiden folgenden Befehle eingeben:
    DB2 INSERT INTO DEPARTMENT VALUES ('F01','TECHNICAL WRITING','000110','F01',NULL)
    DB2 INSERT INTO DEPARTMENT VALUES ('G01','PUBLIC RELATIONS','000120','G01',NULL)
    
  4. Stellen Sie eine Verbindung zu der Ziel-Server-Datenbank her, indem Sie Folgendes eingeben:
    DB2 CONNECT TO COPYDB
    
  5. Überprüfen Sie durch Eingabe des folgenden Befehls, ob die neuen Zeilen in die Zieldatenbank repliziert wurden:
    DB2 SELECT * FROM DEPTCOPY
    
    Tipp:Der Replikationsprozess wird nicht sofort gestartet. Sie sollten etwa fünf Minuten warten, bevor Sie die Tabelle prüfen.

Tabelle 3 zeigt das Ergebnis der Replikation (beachten Sie die beiden hinzugefügten Zeilen).

Tabelle 3. Tabelle DEPTCOPY nach dem Replizieren der Änderungen
DEPTNO DEPTNAME MGRNO ADMRDEPT LOCATION
F01 TECHNICAL WRITING 000110 F01 -
G01 PUBLIC RELATIONS 000120 G01 -
A00 SPIFFY COMPUTER SERVICE 000010 A00 -
B01 PLANNING 000020 A00 -
C01 INFORMATION CENTER 000030 A00 -
D01 DEVELOPMENT CENTER - A00 -
D11 MANUFACTURING SYSTEMS 000060 D01 -
D21 ADMINISTRATION SYSTEMS 000070 D01 -
E01 SUPPORT SERVICES 000050 A00 -
E11 OPERATIONS 000090 E01 -
E21 SOFTWARE SUPPORT 000100 E01 -

Schritt 2: Bereinigen der Steuertabellen

Bei den folgenden Schritten wird vorausgesetzt, dass das Capture-Programm aktiv ist. Ist das Capture-Programm nicht aktiv, kann der Befehl prune nicht ausgeführt werden.
Tipp:Bei Windows NT können Sie anhand des Task Manager ermitteln, ob das Capture-Programm (ASNCCP) aktiv ist.

Um festzustellen, ob eine Bereinigung erforderlich ist, gehen Sie folgendermaßen vor:

  1. Öffnen Sie ein DB2-Befehlsfenster. Verwenden Sie dieses Fenster für alle weiteren Schritte in dieser Übung.
  2. Geben Sie den folgenden Befehl ein, um eine Verbindung zum Quellen-Server herzustellen:
    DB2 CONNECT TO SAMPLE
    
  3. Prüfen Sie durch Eingabe des folgenden Befehls, ob die UOW-Tabelle Zeilen enthält:
    DB2 SELECT COUNT(*) FROM ASN.IBMSNAP_UOW
    

    Die UOW-Tabelle müsste auf Grund der zuvor ausgeführten Replikation zwei Zeilen enthalten.

Um den Bereinigungsbefehl auszuführen, gehen Sie folgendermaßen vor:

  1. Geben Sie den Befehl prune und den Namen des Quellen-Servers ein:
    ASNCMD SAMPLE PRUNE
    
    Tipp:Der Bereinigungsprozess sollte in der Regel zu Zeiten geringerer Systemauslastung ausgeführt werden.
  2. Überprüfen Sie durch Eingabe des folgenden Befehls, ob der Befehl prune korrekt ausgeführt wurde und die UOW-Tabelle leer ist:
    DB2 SELECT COUNT(*) FROM ASN.IBMSNAP_UOW
    

    Die Tabelle sollte jetzt keine Zeilen mehr enthalten.

Schritt 3: Stoppen der Programme Capture und Apply

Ein wichtiger Aspekt bei der Verwaltung Ihrer Replikationsumgebung ist die regelmäßige Datenbankpflege. Im Rahmen mancher der hierfür erforderlichen Tätigkeiten müssen die Programme Capture und Apply gestoppt werden. Sie müssen die Programme Capture und Apply beispielsweise stoppen, bevor Sie Dienstprogramme ausführen, die direkt auf die von diesen Programmen verwendeten Tabellenbereiche zugreifen.

Führen Sie folgenden Schritte in dem DB2-Befehlsfenster aus, das Sie im vorherigen Schritt geöffnet haben.

Um das Capture-Programm zu stoppen, gehen Sie folgendermaßen vor:

Geben Sie den folgenden Befehl ein: ASNCMD SAMPLE STOP

Um das Apply-Programm zu stoppen, gehen Sie folgendermaßen vor:

Geben Sie folgenden Befehl ein: ASNASTOP DEPTQUAL (dabei ist DEPTQUAL das Apply-Qualifikationsmerkmal, bei dem Groß-/Kleinschreibung zu beachten ist).

Nachdem Sie die Programme Capture und Apply gestoppt haben, können Sie DB2-Dienstprogramme für Ihre Datenbank ausführen. (Die Ausführung dieser Dienstprogramme geht über den Rahmen dieser Übung hinaus.)


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