Configuration de la base de données
Découvrez les bases de données MySQL prises en charge, les paramètres requis et la préparation des tables pour le traitement dans le cadre de la configuration de MySQL pour Oracle GoldenGate.
Bases de données prises en charge
Oracle GoldenGate pour MySQL prend en charge la capture et la distribution pour MySQL, Oracle MySQL Heatwave, Amazon Aurora MySQL, Amazon RDS pour MariaDB, Amazon RDS pour MySQL, Azure Database pour MySQL, Google Cloud SQL pour MySQL et MariaDB.
Oracle GoldenGate prend en charge la distribution vers SingleStoreDB et SingleStoreDB Cloud, à l'aide d'Oracle GoldenGate pour la réplication MySQL.
La capture et la distribution pour MySQL configuré avec la réplication de groupe en mode mono-principal sont prises en charge. Pour plus d'informations, reportez-vous à la section Using Oracle GoldenGate with MySQL Group Replication.
Pour obtenir la liste complète des bases de données et des versions prises en charge, consultez la matrice de certification de votre version d'Oracle GoldenGate.
Limites de prise en charge
Voici les limites de la prise en charge d'Oracle GoldenGate pour MySQL :
-
Les bases de données MySQL activées avec la compression des transactions de journal binaire ne sont pas prises en charge avec l'extraction Oracle GoldenGate.
-
Les bases de données MySQL activées avec le cryptage de journal binaire ne sont pas prises en charge avec l'extraction Oracle GoldenGate.
Moteur de stockage de base de données
Les conditions requises pour le moteur de stockage de base de données sont les suivantes :
-
Oracle GoldenGate prend en charge le moteur de stockage InnoDB pour une base de données MySQL source.
-
Oracle GoldenGate prend en charge la capture et l'application à partir et vers le moteur InnoDB. L'application au moteur MyISAM fonctionne, mais il peut y avoir des problèmes d'intégrité des données car le moteur MyISAM n'est pas transactionnel.
Jeu de caractères de base de données
MySQL fournit une fonction qui permet aux utilisateurs de spécifier différents jeux de caractères à différents niveaux.
| Niveau | Exemple |
|---|---|
| Base de données | create database test charset utf8; |
| Table | create table test( id int, name char(100)) charset utf8; |
| Colonne | create table test ( id int, name1 char(100) charset gbk, name2 char(100) charset utf8)); |
Limites de prise en charge
-
Les classements binaires ne sont pas pris en charge pour les jeux de caractères multioctets. Par exemple, ne définissez pas la variable
collation_serversurutf8mb4_binlorsque le jeu de caractères estutf8mb4. -
Les jeux de caractères suivants ne sont pas pris en charge :
-
armscii8 -
geostd8 -
keybcs2 -
utf16le
-
Définir le jeu de caractères de session
Les processus Extract et Replicat utilisent un jeu de caractères de session lors de la connexion à la base de données à partir de l'interface de ligne de commande (Admin Client). Pour MySQL, le jeu de caractères de session est extrait de l'option SESSIONCHARSET des paramètres SOURCEDB et TARGETDB.
Veillez à indiquer un jeu de caractères de session de l'une des manières suivantes lorsque vous configurez Oracle GoldenGate.
Configurer MySQL pour la capture à distance
La capture à distance Oracle GoldenGate pour MySQL, Amazon RDS pour MySQL, Amazon Aurora MySQL et Azure Database pour MySQL est utilisée pour capturer les données de journal de transactions d'une base de données située à distance vers l'installation Oracle GoldenGate.
Configuration du serveur de bases de données
Pour que la capture à distance fonctionne, configurez le serveur MySQL comme suit :
-
Accordez des droits d'accès à l'utilisateur de capture distante Oracle GoldenGate.
Exécutez les instructions suivantes sur la base de données distante pour créer l'utilisateur et accorder les droits d'accès nécessaires à la capture distante.
CREATE USER '*username*'@'*host*' IDENTIFIED BY '*Password*'; GRANT ALL PRIVILEGES ON *.* TO '*username*'@'*host*' WITH GRANT OPTION; FLUSH PRIVILEGES; -
La valeur
server_iddu serveur MySQL distant doit être supérieure à 0. Cette valeur peut être vérifiée en exécutant l'instruction suivante sur le serveur distant MySQL :SHOW VARIABLES LIKE '*server_id*';Si la valeur
server_idest 0, modifiez le fichier de configurationmy.cnfpour qu'il soit défini sur une valeur supérieure à 0.
Configuration d'Oracle GoldenGate
La configuration d'Oracle GoldenGate comprend les étapes suivantes :
-
Fournissez les informations de connexion de la base de données distante dans le fichier de paramètres du processus Extract.
SOURCEDB remotedb@mysqlserver.company.com:port, USERID username, PASSWORD password -
Ajoutez le paramètre suivant au fichier de paramètres du processus Extract, après les informations de connexion.
TRANLOGOPTIONS ALTLOGDEST REMOTE
Limites d'Oracle GoldenGate Remote Capture pour MySQL
La coexistence d'Oracle GoldenGate pour la capture à distance MySQL avec l'esclave de réplication natif de MySQL est prise en charge avec les conditions et limites suivantes :
-
La capture à distance Oracle GoldenGate for MySQL ne prend pas en charge une opération de mise à jour qui entraîne une taille d'image avant et après supérieure à 1 Go.
Lors d'une opération de mise à jour, lorsque la taille combinée de l'image avant et après dépasse 1 Go, l'API de capture distante reçoit l'erreur suivante du serveur MySQL :
log event entry exceeded max_allowed_packet -
L'esclave de réplication natif doit recevoir une valeur server_id différente de celle des esclaves en cours d'exécution. Les valeurs server_id esclaves sont visibles à l'aide de la commande MySQL suivante sur le serveur maître.
SHOW SLAVE HOSTS;-
Si la capture Oracle GoldenGate est abandonnée avec l'erreur
"A slave with the same server_uuid or server_id as this slave has connected to the master", modifiez le nom de la capture et redémarrez la capture. -
Si l'esclave de réplication natif meurt avec l'erreur
"A slave with the same server_uuid or server_id as this slave has connected to the master", modifiez le fichierserver_idde l'esclave de réplication natif et redémarrez-le.
-
-
La capture à distance est prise en charge par Oracle GoldenGate sous Linux et peut prendre en charge les bases de données sous Linux ou Windows.