Der Zweck der Protokolltabelle besteht darin, die Änderungsoperationen an der Benutzertabelle oder Sicht zu speichern, die eine Synchronisation mit dem externen Volltextindex erfordern.
Für Indizes, die für reguläre Tabellen oder Kurznamentabellen erstellt werden, werden Auslöser für die Benutzertabelle erstellt, die die Änderungsinformationen in die Protokolltabelle einfügen. Wenn jedoch Replikationserfassungstabellen verwendet werden, wird keine Protokolltabelle erstellt. Stattdessen wird die Replikationserfassungstabelle benutzt.
Bei Protokolltabellen liest der UPDATE-Befehl die Einträge und löscht diese, nachdem die Synchronisation erfolgreich ausgeführt wurde.
Im Fall von Indizes auf der Basis von Sichten kann die Protokolltabelle
jedoch nicht mit Hilfe von Auslösern gefüllt werden. Da die Sicht
aktualisiert werden kann, trägt der Benutzer die Verantwortung für diese
Aufgabe.
Tabelle 15. Die Protokolltabellensicht
Attribut | Typ | Anmerkungen |
---|---|---|
OPERATION | INTEGER | Der Typ der Änderung, die an der Benutzertabelle vorgenommen wurde und eine Indexsynchronisation erfordert (0 = INSERT, 1 = UPDATE, 2 = DELETE). |
TIME | TIMESTAMP | Die Zeitmarke für die Erstellung einer Zeile in dieser Tabelle. |
PK01 ... PKnm | Wie bei Benutzertabelle | Bei einem Fehler die Spalte, in der der Fehler aufgetreten ist. Es handelt sich um Kopien der Primärschlüsselspalten der Benutzertabelle oder, bei einem Index auf der Basis einer Sicht, der entsprechenden Schlüsselspalten. |
Der Benutzer, der die Tabelle erstellt, kann für diese Sicht eine SELECT-, UPDATE-, INSERT- oder DELETE-Operation ausführen.
Wenn Sie im Befehl CREATE INDEX eine
Replikationserfassungstabelle angeben, wird keine Protokolldatei erstellt und
stattdessen wird die Replikationserfassungstabelle verwendet. Die
Replikationserfassungstabelle muss die folgenden Spalten umfassen:
Tabelle 16. Die Replikationserfassungstabelle
Attribut | Typ | Anmerkungen |
---|---|---|
IBMSNAP_OPERATION | INTEGER | Der Typ der Änderung, die an der CD-Tabelle (CD = Change Data) oder CCD-Tabelle (CCD = Consistent Change Data) vorgenommen wurde und eine Indexsynchronisation erfordert (I = INSERT, U = UPDATE, D = DELETE). |
IBMSNAP_COMMITSEQ | CHAR | Wird der entsprechenden Spalte der CD- bzw. CCD-Tabelle zugeordnet. |
IBMSNAP_INTENTSEQ | CHAR | Wird der entsprechenden Spalte der CD- bzw. CCD-Tabelle zugeordnet. |
PK01 ... PKnm | Wie bei Benutzertabelle | Bei einem Fehler die Spalte, in der der Fehler aufgetreten ist. Dabei handelt es sich um die Primärschlüsselspalten der Benutzertabelle. |
Der Benutzer, der die Tabelle definiert, erhält die Berechtigung zur Durchführung von SELECT-, UPDATE-, INSERT- und DELETE-Operationen.