Configurazione database
Software di database per Capture
Per l'acquisizione da un database PostgreSQL, Oracle GoldenGate richiede l'installazione del plugin del database test_decoding per il database. Questo plugin potrebbe non essere stato installato per impostazione predefinita al momento dell'installazione del database.
Assicurarsi che il pacchetto postgresqlversion#-contrib sia installato sul database server, come mostrato nell'esempio riportato di seguito.
sudo yum install postgresql14-contrib
Parametri nel file di configurazione del database PostgreSQL
Per Oracle GoldenGate, configurare i parametri riportati di seguito nel file di configurazione del database PostgreSQL, $PGDATA/postgresql.conf:
Nota: queste modifiche sono necessarie per il database PostgreSQL primario che Oracle GoldenGate acquisirà e per qualsiasi database di standby da cui Oracle GoldenGate potrebbe acquisire in caso di errore del database primario.
-
Per la connettività remota di Extract o Replicat, impostare PostgreSQL
listen_addressesper consentire la connettività del database remoto. Ad esempio:listen_addresses=remotehost_ip_addressNota: assicurarsi che l'autenticazione del client sia impostata per consentire le connessioni da un host Oracle GoldenGate configurando il file
pg_hba.conf. Per ulteriori informazioni, consultare questo documento: The pg_hba.conf File -
Per supportare Oracle GoldenGate Extract, il log write-ahead deve essere impostato su
logical, che aggiunge le informazioni necessarie per supportare la decodifica dei record transazionali.Il numero massimo di slot di replica deve essere impostato per contenere uno slot aperto per Extract e, in generale, non è necessario più di un Extract per ogni database. Se ad esempio la replica nativa PostgreSQL è già in uso e utilizza tutti gli slot di replica attualmente configurati, aumentare il valore per consentire la registrazione di un'estrazione.
Il numero massimo di mittenti con testata di scrittura deve essere impostato in modo da corrispondere al valore massimo degli slot di replica.
Facoltativamente, gli indicatori orari di commit possono essere abilitati nel log write-ahead, che se impostato contemporaneamente è abilitato il log write-ahead logico, terrà traccia del primo record di commit DML da quel momento in poi, con il valore dell'indicatore orario corretto. In caso contrario, il primo record rilevato dall'acquisizione di Oracle GoldenGate avrà un indicatore orario di commit errato.
wal_level = logical # set to logical for Capture max_replication_slots = 1 # max number of replication slots, # one slot per Extract/client max_wal_senders = 1 # one sender per max repl slot track_commit_timestamp = on # optional, correlates tx commit time # with begin tx log record (useful for # timestamp-based positioning) -
Dopo aver apportato una delle modifiche precedenti, riavviare il database.
Utilizzare queste istruzioni per gestire le impostazioni del database per Azure per PostgreSQL, Amazon Aurora PostgreSQL, Amazon RDS per PostgreSQL, Google AlloyDB per PostgreSQL e Google Cloud SQL per PostgreSQL.
Database Azure per PostgreSQL
Quando si configura Oracle GoldenGate per Extract PostgreSQL in un database Azure per PostgreSQL, la decodifica logica deve essere abilitata e impostata su LOGICAL.
Per istruzioni, consultare la documentazione di Microsoft:
https://learn.microsoft.com/en-us/azure/postgresql/
Altre impostazioni di database per Azure Database for PostgreSQL possono essere gestite tramite la sezione Parametri server dell'istanza di database.
Per le connessioni a un'istanza di Azure Database for PostgreSQL, le impostazioni di sicurezza delle connessioni di Azure predefinite richiedono connessioni SSL. Per soddisfare questo requisito, sono necessari ulteriori passi per supportare le connessioni SSL con Oracle GoldenGate.
Per ulteriori informazioni, seguire i contenuti elencati nella sezione Configurazione del supporto SSL per PostgreSQL.
Amazon Aurora PostgreSQL e Amazon RDS per PostgreSQL
Per Amazon Aurora PostgreSQL e Amazon RDS per PostgreSQL, le impostazioni del database vengono modificate all'interno dei gruppi di parametri.
Consulta la documentazione di Amazon AWS per informazioni su come modificare le impostazioni del database all'interno di un nuovo gruppo di parametri e assegnarlo a un'istanza di database:
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html
-
Assicurarsi che le impostazioni di configurazione del database elencate in precedenza siano corrette verificandole nel gruppo di parametri assegnato all'istanza.
-
L'impostazione
wal_levelper i servizi di database Amazon è configurata con un parametro denominatords.logical_replication, il cui valore predefinito è0e deve essere impostato su1se il database deve essere utilizzato come database di origine per Oracle GoldenGate Extract. -
Amazon RDS non supporta l'inserimento o l'avvio del nome dello slot di replica con la stringa
rds. Il comando utilizzato da Oracle GoldenGate Extract per creare lo slot di replica restituisce un errore se il nome dello slot di replica inizia con la stringards. Ad esempio, per evitare questo errore, è possibile denominare lo slot di replica comeordscdcanzichérdscdc, come mostrato nell'esempio riportato di seguito.select slot_name from pg_create_logical_replication_slot('ordscdc', 'test_decoding');Questo comando aggiunge lo slot di replica
ordscdc. Tuttavia, se si utilizza il nome dello slot di replica comerdscdc, si verifica il seguente errore:ERROR: must be superuser or replication role to use logical replication slots in the 'rds' namespace
Limitazione:
Su Amazon Aurora PostgreSQL versione 12.17, se viene eseguito il comando SHOW maiuscolo, viene riportato il seguente errore:
"ERROR: must be superuser or replication role to run this operation."
Per evitare questo errore, è necessario utilizzare il comando SHOW minuscolo.
Google AlloyDB per PostgreSQL
A partire dalla release 21.14 di Oracle GoldenGate, Oracle GoldenGate supporta Google AlloyDB per PostgreSQL. Quando si configura un Oracle GoldenGate per PostgreSQL Extract per Google AlloyDB per PostgreSQL, il parametro alloydb.logical_decoding configuration (flag) deve essere impostato su ON.
Google Cloud SQL per PostgreSQL
Quando si configura Oracle GoldenGate for PostgreSQL Extract per un'istruzione SQL di Google Cloud per il database PostgreSQL, la decodifica logica deve essere impostata e viene eseguita impostando la variabile cloudsql.logical_decoding su ON. Seguire le istruzioni fornite da Google su come abilitare questo flag di database. Per ulteriori informazioni, vedere https://cloud.google.com/sql/docs/postgres/flags#postgres-l.