Datenbankkonfiguration
Erfahren Sie mehr über unterstützte MySQL-Datenbanken, die erforderlichen Einstellungen und wie Sie Tabellen für die Verarbeitung vorbereiten, wenn Sie MySQL für Oracle GoldenGate konfigurieren.
Unterstützte Datenbanken
Oracle GoldenGate für MySQL unterstützt Erfassung und Bereitstellung für MySQL, Oracle MySQL Heatwave, Amazon Aurora MySQL, Amazon RDS für MariaDB, Amazon RDS für MySQL, Azure Database für MySQL, Google Cloud SQL für MySQL und MariaDB.
Oracle GoldenGate unterstützt die Zustellung an SingleStoreDB und SingleStoreDB Cloud, wobei Oracle GoldenGate für MySQL Replicat verwendet wird.
Erfassung und Zustellung für MySQL, die mit Gruppenreplikation im Single-Primary-Modus konfiguriert sind, werden unterstützt. Weitere Informationen finden Sie unter Oracle GoldenGate mit MySQL-Gruppenreplikation verwenden.
Eine vollständige Liste der unterstützten Datenbanken und Versionen finden Sie in der Zertifizierungsmatrix für Ihre Version von Oracle GoldenGate.
Einschränkungen des Supports
Die folgenden Einschränkungen gelten für die Unterstützung von Oracle GoldenGate für MySQL:
-
MySQL-Datenbanken, die mit Binärlogtransaktionskomprimierung aktiviert sind, werden mit Oracle GoldenGate Extract nicht unterstützt.
-
MySQL-Datenbanken, die mit Binärlogverschlüsselung aktiviert sind, werden mit Oracle GoldenGate Extract nicht unterstützt.
Datenbankspeicher-Engine
Anforderungen an die Datenbankspeicher-Engine:
-
Oracle GoldenGate unterstützt die Speicher-Engine InnoDB für eine MySQL-Quelldatenbank.
-
Oracle GoldenGate unterstützt Erfassung und Anwendung von und auf die Engine InnoDB. Apply to MyISAM-Engine funktioniert, es können jedoch Datenintegritätsprobleme auftreten, da die MyISAM-Engine nicht transaktionsfähig ist.
Datenbankzeichensatz
MySQL bietet eine Funktion, mit der Benutzer verschiedene Zeichensätze auf verschiedenen Ebenen angeben können.
| Ebene | Beispiel |
|---|---|
| Datenbank | create database test charset utf8; |
| Tabelle | create table test( id int, name char(100)) charset utf8; |
| Spalte | create table test ( id int, name1 char(100) charset gbk, name2 char(100) charset utf8)); |
Einschränkungen des Supports
-
Binäre Sortierungen werden für Mehr-Byte-Zeichensätze nicht unterstützt. Beispiel: Setzen Sie die Variable
collation_servernicht aufutf8mb4_bin, wenn der Zeichensatzutf8mb4ist. -
Die folgenden Zeichensätze werden nicht unterstützt:
-
armscii8 -
geostd8 -
keybcs2 -
utf16le
-
Session-Zeichensatz festlegen
Die Extract- und Replicat-Prozesse verwenden einen Sessionzeichensatz, wenn Sie über die Befehlszeilenschnittstelle (Admin Client) eine Verbindung zur Datenbank herstellen. Bei MySQL wird der Sessionzeichensatz von der Option SESSIONCHARSET der Parameter SOURCEDB und TARGETDB übernommen.
Stellen Sie sicher, dass Sie einen Sessionzeichensatz auf eine dieser Arten angeben, wenn Sie Oracle GoldenGate konfigurieren.
MySQL für Remote Capture konfigurieren
Oracle GoldenGate Remote Capture für MySQL, Amazon RDS for MySQL, Amazon Aurora MySQL und Azure Database for MySQL wird verwendet, um Transaktionslogdaten aus einer Datenbank zu erfassen, die sich remote in der Oracle GoldenGate-Installation befindet.
Datenbankserverkonfiguration
Damit Remote Capture funktioniert, konfigurieren Sie den MySQL-Server wie folgt:
-
Erteilen Sie dem Oracle GoldenGate-Remote Capture-Benutzer Zugriffsberechtigungen.
Führen Sie die folgenden Anweisungen für die Remotedatenbank aus, um den Benutzer zu erstellen und die für die Remoteerfassung erforderlichen Berechtigungen zu erteilen.
CREATE USER '*username*'@'*host*' IDENTIFIED BY '*Password*'; GRANT ALL PRIVILEGES ON *.* TO '*username*'@'*host*' WITH GRANT OPTION; FLUSH PRIVILEGES; -
Der Wert
server_iddes Remote-Servers MySQL muss größer als 0 sein. Dieser Wert kann überprüft werden, indem die folgende Anweisung auf dem Remoteserver MySQL ausgegeben wird:SHOW VARIABLES LIKE '*server_id*';Wenn der Wert für
server_id0 ist, ändern Sie die Konfigurationsdateimy.cnfso, dass sie auf einen Wert größer als 0 gesetzt wird.
Oracle GoldenGate-Konfiguration
Die Oracle GoldenGate-Konfiguration umfasst die folgenden Schritte:
-
Geben Sie die Verbindungsinformationen der Remotedatenbank in der Parameterdatei des Extract an.
SOURCEDB remotedb@mysqlserver.company.com:port, USERID username, PASSWORD password -
Fügen Sie nach den Verbindungsinformationen den folgenden Parameter zur Parameterdatei von Extract hinzu.
TRANLOGOPTIONS ALTLOGDEST REMOTE
Einschränkungen von Oracle GoldenGate Remote Capture für MySQL
Die Koexistenz von Oracle GoldenGate für Remote Capture MySQL mit dem nativen Replikations-Slave von MySQL wird mit den folgenden Bedingungen und Einschränkungen unterstützt:
-
Oracle GoldenGate for MySQL Remote Capture unterstützt keinen Aktualisierungsvorgang, bei dem die Größe von vor und nach dem Image mehr als 1 GB beträgt.
Wenn die kombinierte Größe von vor und nach dem Image in einem Aktualisierungsvorgang 1 GB überschreitet, erhält die Remote Capture-API den folgenden Fehler vom MySQL-Server:
log event entry exceeded max_allowed_packet -
Dem nativen Replikations-Slave sollte ein anderer server_id als den aktuell ausgeführten Slaves zugewiesen werden. Die Slave-Werte server_id können mit dem folgenden MySQL-Befehl auf dem Masterserver angezeigt werden.
SHOW SLAVE HOSTS;-
Wenn der Oracle GoldenGate-Capture-Fehler
"A slave with the same server_uuid or server_id as this slave has connected to the master"auftritt, ändern Sie den Namen des Capture-Prozesses, und starten Sie den Capture-Prozess neu. -
Wenn der native Replikations-Slave mit dem Fehler
"A slave with the same server_uuid or server_id as this slave has connected to the master"abgebrochen wird, ändern Sie denserver_iddes nativen Replikations-Slaves, und starten Sie ihn neu.
-
-
Remote Capture wird für Oracle GoldenGate unter Linux unterstützt und kann Datenbanken unterstützen, die unter Linux oder Windows ausgeführt werden.