Configurazione database
Informazioni sui database MySQL supportati, sulle impostazioni necessarie e su come preparare le tabelle per l'elaborazione nell'ambito della configurazione di MySQL per Oracle GoldenGate.
Database supportati
Oracle GoldenGate per MySQL supporta l'acquisizione e la consegna per MySQL, Oracle MySQL Heatwave, Amazon Aurora MySQL, Amazon RDS per MariaDB, Amazon RDS per MySQL, Azure Database per MySQL, Google Cloud SQL per MySQL e MariaDB.
Oracle GoldenGate supporta la consegna a SingleStoreDB e SingleStoreDB Cloud, utilizzando Oracle GoldenGate per Replicat MySQL.
È supportata l'acquisizione e la consegna di MySQL configurato con Replica di gruppo in modalità single-primary. Per ulteriori informazioni, vedere Uso di Oracle GoldenGate con la replica del gruppo MySQL.
Per un elenco completo dei database e delle versioni supportate, fare riferimento alla Matrice delle certificazioni per la versione di Oracle GoldenGate in uso.
Limitazioni del supporto
Di seguito sono riportate le limitazioni del supporto per Oracle GoldenGate per MySQL:
-
I database MySQL abilitati con compressione delle transazioni di log binari non sono supportati con Oracle GoldenGate Extract.
-
I database MySQL abilitati con la cifratura dei log binari non sono supportati con Oracle GoldenGate Extract.
Motore di storage del database
I requisiti per il motore di storage del database sono i seguenti:
-
Oracle GoldenGate supporta il motore di storage InnoDB per un database MySQL di origine.
-
Oracle GoldenGate supporta l'acquisizione e l'applicazione dal motore InnoDB e al motore stesso. L'applicazione al motore MyISAM funziona, ma potrebbero verificarsi problemi di integrità dei dati poiché il motore MyISAM non è transazionale.
Set di caratteri del database
MySQL fornisce una funzionalità che consente agli utenti di specificare set di caratteri diversi a livelli diversi.
| Livello | Esempio |
|---|---|
| Database | create database test charset utf8; |
| Tabella | create table test( id int, name char(100)) charset utf8; |
| Colonna | create table test ( id int, name1 char(100) charset gbk, name2 char(100) charset utf8)); |
Limitazioni del supporto
-
Le raccolte binarie non sono supportate per i set di caratteri a più byte. Ad esempio, non impostare la variabile
collation_serversuutf8mb4_binquando il set di caratteri èutf8mb4. -
I seguenti set di caratteri non sono supportati:
-
armscii8 -
geostd8 -
keybcs2 -
utf16le
-
Imposta set di caratteri sessione
I processi Extract e Replicat utilizzano un set di caratteri di sessione quando si esegue la connessione al database dall'interfaccia della riga di comando (client amministratore). Per MySQL, il set di caratteri della sessione viene ricavato dall'opzione SESSIONCHARSET dei parametri SOURCEDB e TARGETDB.
Quando si configura Oracle GoldenGate, assicurarsi di specificare un set di caratteri di sessione in uno dei seguenti modi.
Configurare MySQL per l'acquisizione remota
L'acquisizione remota di Oracle GoldenGate per MySQL, Amazon RDS per MySQL, Amazon Aurora MySQL, il database Azure per MySQL viene utilizzato per acquisire i dati di log delle transazioni da un database situato in remoto all'installazione di Oracle GoldenGate.
Configurazione del database server
Per il funzionamento dell'acquisizione remota, configurare il server MySQL come indicato di seguito.
-
Concedere le autorizzazioni di accesso all'utente di acquisizione remota di Oracle GoldenGate.
Eseguire le istruzioni riportate di seguito sul database remoto per creare l'utente e concedere le autorizzazioni necessarie per l'acquisizione remota.
CREATE USER '*username*'@'*host*' IDENTIFIED BY '*Password*'; GRANT ALL PRIVILEGES ON *.* TO '*username*'@'*host*' WITH GRANT OPTION; FLUSH PRIVILEGES; -
Il valore
server_iddel server MySQL remoto deve essere maggiore di 0. Questo valore può essere verificato emettendo la seguente istruzione sul server remoto MySQL:SHOW VARIABLES LIKE '*server_id*';Se il valore
server_idè 0, modificare il file di configurazionemy.cnfper impostarlo su un valore maggiore di 0.
Configurazione di Oracle GoldenGate
La configurazione di Oracle GoldenGate prevede i passi riportati di seguito.
-
Fornire le informazioni di connessione del database remoto nel file dei parametri di Extract.
SOURCEDB remotedb@mysqlserver.company.com:port, USERID username, PASSWORD password -
Aggiungere il parametro seguente al file dei parametri di Extract, dopo le informazioni di connessione.
TRANLOGOPTIONS ALTLOGDEST REMOTE
Limitazioni di Oracle GoldenGate Remote Capture per MySQL
La coesistenza di Oracle GoldenGate per l'acquisizione remota MySQL con lo slave di replica nativo di MySQL è supportata con le seguenti condizioni e limitazioni:
-
Oracle GoldenGate per l'acquisizione remota MySQL non supporta un'operazione di aggiornamento che determina la dimensione dell'immagine precedente e successiva superiore a 1 GB.
In un'operazione di aggiornamento, quando la dimensione combinata prima e dopo l'immagine supera 1 GB, l'API di acquisizione remota riceve il seguente errore dal server MySQL:
log event entry exceeded max_allowed_packet -
Lo slave di replica nativo deve essere assegnato a un valore server_id diverso da quello attualmente in esecuzione. I valori slave server_id possono essere visualizzati utilizzando il seguente comando MySQL sul server master.
SHOW SLAVE HOSTS;-
Se l'acquisizione di Oracle GoldenGate viene interrotta con l'errore
"A slave with the same server_uuid or server_id as this slave has connected to the master", modificare il nome dell'acquisizione e riavviare l'acquisizione. -
Se lo slave di replica nativo termina con l'errore
"A slave with the same server_uuid or server_id as this slave has connected to the master", modificare il fileserver_iddello slave di replica nativo e riavviarlo.
-
-
L'acquisizione remota è supportata per Oracle GoldenGate in esecuzione su Linux e può supportare i database in esecuzione su Linux o Windows.