ADD HEARTBEATTABLE

Gültig für alle unterstützten Datenbanken. Weitere Informationen zu unterstützten Datenbanken finden Sie in der Zertifizierungsmatrix.

Dieser Befehl erfordert eine Datenbankanmeldung über DBLOGIN.

Mit ADD HEARTBEATTABLE können Sie die erforderlichen Objekte für die Verwendung der automatischen Heartbeat-Funktion erstellen. Dieser Befehl führt folgende Aufgaben aus:

Hinweis: Die Heartbeat-Tabellenobjekte dürfen niemals in der Root-CDB einer Oracle Multitenant-Datenbank erstellt werden.

Die Standardnamen für Seed-, Heartbeat- und Historientabelle lauten GG_HEARTBEAT_SEED, GG_HEARTBEAT bzw. GG_HEARTBEAT_HISTORY.

In Microservices-Architektur wird das Schema mit Replikationseinstellungen konfiguriert.

Bei Db2 LUW müssen Sie die Eigenschaft DB2_ATS_ENABLE mit dem Befehl db2set DB2_ATS_ENABLE=yes festlegen.

Für Db2 for i können Sie den Befehl ADD HEARTBEATTABLE erneut ausführen, um das Upgrade oder die falsche Konfiguration der Heartbeat-Tabellenfunktionalitäten zu verarbeiten. Dadurch wird die Funktionalität eines vorhandenen Heartbeat -Tabellensetups repariert, ohne die vorhandenen Heartbeatdaten zu löschen.

Für Db2 for i muss das lizensierte Programm 5770SS1 Option 39 International Components for Unicode installiert sein.

Für Db2 for i muss die Heartbeat-Tabelle in demselben Journal wie die Objekte erstellt werden, die im Extract mit der angegebenen Heartbeat-Tabelle repliziert werden. Andernfalls beendet Extract den Vorgang mit der Anzeige, dass mehrere Journale verfügbar sind. Darüber hinaus kann die Heartbeat-Tabelle für keinen anderen Extract in der spezifischen Oracle GoldenGate-Installation aktiviert werden, der nicht dasselbe Journal liest.

Bei Amazon Aurora MySQL muss die globale Variable event_scheduler in der Parametergruppen aktiviert werden, da Amazon RDS nicht das Festlegen globaler Variablen zulässt. Bei einem Neustart der Datenbank wird event_scheduler wieder deaktiviert. Um das zu vermeiden, müssen Sie event_scheduler in der Datei my.cnf/ini aktivieren.

Für PostgreSQL muss ein Systemjob manuell erstellt werden, um regelmäßig die Heartbeat-Datensatzaktualisierung und die Löschfunktion des Historiendatensatzes gg_hb_job_run aufzurufen. Beispiel: Sie könnten einen Cron-Job erstellen, der jede Minute ausgeführt wird. Die Funktion prüft die tatsächlichen Einstellungen der Heartbeat-Konfiguration für die Aktualisierungs- und Löschhäufigkeit von Heartbeat-Datensätzen und verarbeitet nur Vorgänge innerhalb dieser Grenzwerte:

PGPASSWORD="$passwd" psql -U gguser -d dbname -h dbhostname -p dbport# -c "select <ggschema.gg_hb_job_run();" >/dev/null 2>&1

Für Azure SQL Database wird nur ADD HEARTBEATTABLE TARGETONLY unterstützt. Da kein SQL Server Agent mit Azure SQL Database vorhanden ist, kann die Löschroutine nicht erstellt werden. Benutzer müssen also regelmäßig die gespeicherte Prozedur GG_PURGE_HB_TAB ausführen, um alte Heartbeatdatensätze zu entfernen.

Syntax

ADD HEARTBEATTABLE
[, FREQUENCY number_in_seconds]
[, RETENTION_TIME number_in_days] |
[, PURGE_FREQUENCY number_in_days]
[, PARTITIONED]
[, TARGETONLY]

FREQUENCY number_in_seconds

Gibt an, wie häufig die Heartbeat-Datensätze generiert werden. Der Standardwert ist 60 Sekunden.

Beachten Sie die folgenden Grenzwerte:

RETENTION_TIME number_in_days

Gibt an, dass Heartbeat-Einträge in der Heartbeat-Historientabelle, die älter als die Aufbewahrungszeit sind, gelöscht werden. Der Standardwert ist 30 Tage.

Der Mindestwert für alle Datenbanken ist 1 und der Höchstwert 2147483646.

PURGE_FREQUENCY number_in_days

Gibt an, wie häufig der Lösch-Scheduler ausgeführt wird, um Tabelleneinträge, die älter als die Aufbewahrungszeit sind, aus der Heartbeat-Historientabelle zu löschen. Die Standardzeit beträgt 1 Tag.

Für Db2 LUW und Db2 z/OS ist der Mindestwert 1 und der Höchstwert 31.

Für alle anderen unterstützten Datenbanken ist der Mindestwert 1 und der Höchstwert 199.

PARTITIONED

Gültig für Oracle.

Aktiviert die Partitionierung für die Heartbeat-Historientabelle. Die Spalte für den empfangenen Heartbeat-Zeitstempel wird zum Partitionieren der Tabelle mit einem Intervall von einem Tag verwendet. Standardmäßig wird die Heartbeat-Historientabelle nicht partitioniert.

TARGETONLY

Gültig für Oracle AI Database, Serie Db2 i, Serie Db2 LUW, Db2 z/OS, MySQL, PostgreSQL und SQL Server.

Aktiviert kein zusätzliches Logging für die Heartbeat-Seed- und die Heartbeat-Tabelle und erstellt keinen Scheduler-Job zum Aktualisieren der Heartbeat-Tabelle.

Beispiele


Mit dem folgenden Befehl werden Standard-Heartbeat-Tabellen, -prozeduren und -jobs erstellt.

ADD HEARTBEATTABLE

Mit dem folgenden Befehl werden die Heartbeat-Tabellen, Prozeduren und Jobs mit benutzerdefinierten Angaben für Häufigkeit, Aufbewahrungszeit und Löschhäufigkeit erstellt.

ADD HEARTBEATTABLE, FREQUENCY 120, RETENTION_TIME 10, PURGE_FREQUENCY 2

Mit dem folgenden Befehl werden die Heartbeat-Tabellen, Prozeduren und Jobs mit aktivierter Partitionierung in der Heartbeat-Historientabelle erstellt. Dabei wird das zusätzliche Logging in der Heartbeat- und der Heartbeat-Seed-Tabelle nicht aktiviert.

ADD HEARTBEATTABLE, partitioned, TARGETONLY