Configuración de la Base de Datos
Obtenga información sobre las bases de datos MySQL soportadas, los valores necesarios y cómo preparar tablas para su procesamiento como parte de la configuración de MySQL para Oracle GoldenGate.
Bases de datos soportadas
Oracle GoldenGate para MySQL admite la captura y entrega de MySQL, Oracle MySQL Heatwave, Amazon Aurora MySQL, Amazon RDS para MariaDB, Amazon RDS para MySQL, Azure Database para MySQL, Google Cloud SQL para MySQL y MariaDB.
Oracle GoldenGate soporta la entrega a SingleStoreDB y SingleStoreDB Cloud, utilizando Oracle GoldenGate para MySQL Replicat.
Se soporta la captura y entrega de MySQL configurado con replicación de grupo en modo principal único. Para obtener más información, consulte Uso de Oracle GoldenGate con la replicación de grupo MySQL.
Para obtener una lista completa de las bases de datos y versiones soportadas, consulte la matriz de certificaciones de su versión de Oracle GoldenGate.
Limitaciones del soporte
Las siguientes son las limitaciones del soporte para Oracle GoldenGate para MySQL:
-
Las bases de datos MySQL activadas con compresión de transacciones de log binario no están soportadas con Oracle GoldenGate Extract.
-
Las bases de datos MySQL activadas con cifrado de log binario no están soportadas con Oracle GoldenGate Extract.
Motor de almacenamiento de base de datos
Los requisitos para el motor de almacenamiento de base de datos son los siguientes:
-
Oracle GoldenGate soporta el motor de almacenamiento InnoDB para una base de datos MySQL de origen.
-
Oracle GoldenGate soporta la captura y la aplicación desde y hacia el motor InnoDB. La aplicación al motor MyISAM funciona, pero puede haber problemas de integridad de datos, ya que el motor MyISAM no es transaccional.
Juego de caracteres de la base de datos
MySQL proporciona una utilidad que permite a los usuarios especificar diferentes juegos de caracteres en diferentes niveles.
| Nivel | Ejemplo |
|---|---|
| Base de datos | create database test charset utf8; |
| Tabla | create table test( id int, name char(100)) charset utf8; |
| Columna | create table test ( id int, name1 char(100) charset gbk, name2 char(100) charset utf8)); |
Limitaciones del soporte
-
Las intercalaciones binarias no están soportadas para juegos de caracteres multibyte. Por ejemplo, no defina la variable
collation_serverigual autf8mb4_bincuando el juego de caracteres seautf8mb4. -
Los siguientes juegos de caracteres no se admiten:
-
armscii8 -
geostd8 -
keybcs2 -
utf16le
-
Definición del Juego de Caracteres de Sesión
Los procesos Extract y Replicat utilizan un juego de caracteres de sesión al conectarse a la base de datos desde la interfaz de línea de comandos (cliente de administración). Para MySQL, el juego de caracteres de sesión se toma de la opción SESSIONCHARSET de los parámetros SOURCEDB y TARGETDB.
Asegúrese de especificar un juego de caracteres de sesión de una de estas formas al configurar Oracle GoldenGate.
Configurar MySQL para captura remota
La captura remota de Oracle GoldenGate para MySQL, Amazon RDS para MySQL, Amazon Aurora MySQL, Azure Database para MySQL se utiliza para capturar datos de log de transacciones de una base de datos ubicada de forma remota en la instalación de Oracle GoldenGate.
Configuración del Servidor de Base de Datos
Para que la captura remota funcione, configure el servidor MySQL de la siguiente manera:
-
Otorgue permisos de acceso al usuario de captura remota de Oracle GoldenGate.
Ejecute las siguientes sentencias en la base de datos remota para crear el usuario y otorgar los permisos necesarios para la captura remota.
CREATE USER '*username*'@'*host*' IDENTIFIED BY '*Password*'; GRANT ALL PRIVILEGES ON *.* TO '*username*'@'*host*' WITH GRANT OPTION; FLUSH PRIVILEGES; -
El valor
server_iddel servidor MySQL remoto debe ser mayor que 0. Este valor se puede verificar emitiendo la siguiente sentencia en el servidor remoto MySQL:SHOW VARIABLES LIKE '*server_id*';Si el valor
server_ides 0, modifique el archivo de configuraciónmy.cnfpara que se defina en un valor mayor que 0.
Configuración de Oracle GoldenGate
La configuración de Oracle GoldenGate tiene los siguientes pasos:
-
Proporcione la información de conexión de la base de datos remota en el archivo de parámetros de Extract.
SOURCEDB remotedb@mysqlserver.company.com:port, USERID username, PASSWORD password -
Agregue el siguiente parámetro al archivo de parámetros de Extract, después de la información de conexión.
TRANLOGOPTIONS ALTLOGDEST REMOTE
Limitaciones de la captura remota de Oracle GoldenGate para MySQL
La coexistencia de la captura remota de Oracle GoldenGate para MySQL con el esclavo de replicación nativo de MySQL está soportada con las siguientes condiciones y limitaciones:
-
La captura remota de Oracle GoldenGate for MySQL no soporta una operación de actualización que tenga como resultado un tamaño de imagen anterior y posterior superior a 1 GB.
En una operación de actualización, cuando el tamaño combinado de la imagen anterior y posterior supera los 1 GB, la API de captura remota obtiene el siguiente error del servidor MySQL:
log event entry exceeded max_allowed_packet -
El esclavo de replicación nativo debe tener asignado un server_id diferente al de los esclavos que se están ejecutando actualmente. Los valores server_id esclavos se pueden ver mediante el siguiente comando MySQL en el servidor maestro.
SHOW SLAVE HOSTS;-
Si la captura de Oracle GoldenGate finaliza de forma anormal con el error
"A slave with the same server_uuid or server_id as this slave has connected to the master", cambie el nombre de la captura y reinicie la captura. -
Si el esclavo de replicación nativo muere con el error
"A slave with the same server_uuid or server_id as this slave has connected to the master", cambie el esclavo de replicación nativoserver_idy reinícielo.
-
-
La captura remota está soportada para Oracle GoldenGate cuando se ejecuta en Linux y puede soportar bases de datos que se ejecutan en Linux o Windows.