Configuração do Banco de Dados
Saiba mais sobre bancos de dados MySQL suportados, as definições necessárias e como preparar tabelas para processamento como parte da configuração de MySQL para o Oracle GoldenGate.
Bancos de Dados Suportados
O Oracle GoldenGate for MySQL suporta captura e entrega para MySQL, Oracle MySQL Heatwave, Amazon Aurora MySQL, Amazon RDS for MariaDB, Amazon RDS for MySQL, Azure Database for MySQL, Google Cloud SQL for MySQL e MariaDB.
O Oracle GoldenGate suporta a entrega ao SingleStoreDB e ao SingleStoreDB Cloud, usando o Oracle GoldenGate para Replicat MySQL.
A captura e a entrega do MySQL configurado com Replicação de Grupo no modo principal único são suportadas. Para obter mais informações, consulte Usando Oracle GoldenGate com a Replicação de Grupo MySQL.
Para obter uma lista completa de bancos de dados e versões compatíveis, consulte a Matriz de Certificação da sua versão do Oracle GoldenGate.
Limitações do Suporte
Estas são as limitações de suporte para o Oracle GoldenGate for MySQL:
-
Os bancos de dados MySQL ativados com a compactação de transações de log binário não são suportados com o Oracle GoldenGate Extract.
-
Os bancos de dados MySQL ativados com criptografia de log de binários não são suportados com o Oracle GoldenGate Extract.
Mecanismo de Armazenamento do Banco de Dados
Os requisitos para o mecanismo de armazenamento de banco de dados são os seguintes:
-
O Oracle GoldenGate suporta o mecanismo de armazenamento InnoDB para um banco de dados MySQL de origem.
-
O Oracle GoldenGate suporta captura e aplicação do mecanismo InnoDB. A aplicação ao mecanismo MyISAM funciona, mas pode haver problemas de integridade de dados, pois o mecanismo MyISAM não é transacional.
Conjunto de Caracteres de Banco de Dados
MySQL fornece um recurso que permite aos usuários especificar diferentes conjuntos de caracteres em diferentes níveis.
| Nível | Exemplo |
|---|---|
| Banco de Dados | create database test charset utf8; |
| Tabela | create table test( id int, name char(100)) charset utf8; |
| Coluna | create table test ( id int, name1 char(100) charset gbk, name2 char(100) charset utf8)); |
Limitações do Suporte
-
Agrupamentos binários não são suportados para conjuntos de caracteres de vários bytes. Por exemplo, não defina a variável
collation_serverigual autf8mb4_binquando o conjunto de caracteres forutf8mb4. -
Os seguintes conjuntos de caracteres não são suportados:
-
armscii8 -
geostd8 -
keybcs2 -
utf16le
-
Definir o Conjunto de Caracteres da Sessão
Os processos Extract e Replicat usam um conjunto de caracteres de sessão ao estabelecer conexão com o banco de dados na interface de linha de comando (Cliente Admin). Para MySQL, o conjunto de caracteres da sessão é obtido da opção SESSIONCHARSET dos parâmetros SOURCEDB e TARGETDB.
Certifique-se de especificar um conjunto de caracteres de sessão de uma destas maneiras ao configurar o Oracle GoldenGate.
Configurar MySQL para Captura Remota
A captura remota do Oracle GoldenGate para MySQL, Amazon RDS for MySQL, Amazon Aurora MySQL e Azure Database for MySQL é usada para capturar dados de log de transação de um banco de dados localizado remotamente para a instalação do Oracle GoldenGate.
Configuração do Servidor de Banco de dados
Para que a captura remota funcione, configure o servidor MySQL da seguinte forma:
-
Conceder permissões de acesso ao usuário de captura remota do Oracle GoldenGate.
Execute as instruções a seguir no banco de dados remoto para criar o usuário e conceder as permissões necessárias para a captura remota.
CREATE USER '*username*'@'*host*' IDENTIFIED BY '*Password*'; GRANT ALL PRIVILEGES ON *.* TO '*username*'@'*host*' WITH GRANT OPTION; FLUSH PRIVILEGES; -
O valor
server_iddo servidor MySQL remoto deve ser maior que 0. Esse valor pode ser verificado emitindo a seguinte instrução no servidor remoto MySQL:SHOW VARIABLES LIKE '*server_id*';Se o valor
server_idfor 0, modifique o arquivo de configuraçãomy.cnfpara definir um valor maior que 0.
Configuração do Oracle GoldenGate
A configuração do Oracle GoldenGate tem as seguintes etapas:
-
Fornecer as informações de conexão do banco de dados remoto no arquivo de parâmetros do Extract.
SOURCEDB remotedb@mysqlserver.company.com:port, USERID username, PASSWORD password -
Adicione o parâmetro a seguir ao arquivo de parâmetros do Extract, após as informações de conexão.
TRANLOGOPTIONS ALTLOGDEST REMOTE
Limitações do Oracle GoldenGate Remote Capture para MySQL
Há suporte para a coexistência da captura remota do Oracle GoldenGate para MySQL com o subordinado de replicação nativo do MySQL com as seguintes condições e limitações:
-
A captura remota do Oracle GoldenGate for MySQL não suporta uma operação de atualização que resulte no tamanho da imagem anterior e posterior superior a 1 GB.
Em uma operação de atualização, quando o tamanho combinado de imagem anterior e posterior excede 1 GB, a API de captura remota recebe o seguinte erro do servidor MySQL:
log event entry exceeded max_allowed_packet -
O subordinado de replicação nativa deve receber um server_id diferente do subordinado em execução no momento. Os valores server_id do subordinado podem ser vistos usando o comando MySQL a seguir no servidor mestre.
SHOW SLAVE HOSTS;-
Se a captura do Oracle GoldenGate for encerrada com o erro
"A slave with the same server_uuid or server_id as this slave has connected to the master", altere o nome da captura e reinicie-a. -
Se o subordinado de replicação nativa morrer com o erro
"A slave with the same server_uuid or server_id as this slave has connected to the master", altere oserver_iddo subordinado de replicação nativa e reinicie-o.
-
-
A captura remota é suportada para o Oracle GoldenGate em execução no Linux e pode suportar bancos de dados em execução no Linux ou no Windows.