Nota
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriverti a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Eseguire la migrazione di un database PostgreSQL on-premise nel database OCI con PostgreSQL utilizzando OCI GoldenGate
Introduzione
Oracle Cloud Infrastructure Database with PostgreSQL (OCI Database with PostgreSQL) è un servizio completamente gestito che ridimensiona automaticamente lo storage man mano che le tabelle del database vengono create o eliminate. Ciò semplifica la gestione e ottimizza i costi di storage. I dati vengono cifrati sia in transito che in archivio.
OCI GoldenGate supporta la migrazione online logica che consente transizioni trasparenti e una migrazione quasi senza tempi di inattività per il database OCI con i database dei servizi PostgreSQL. Questa funzione supporta la migrazione dei database PostgreSQL in locale su VM al database OCI con il servizio PostgreSQL Versioni 14, 15 database e release future.
Questa esercitazione descrive in che modo OCI GoldenGate facilita la migrazione dei database PostgreSQL in locale su VM versione 14 al database OCI con i database di servizio PostgreSQL versione 14. Il caricamento iniziale viene eseguito utilizzando la utility di backup pg_dump
(pg_dumpall
)/pg_restore
. Questa operazione creerà un backup o uno snapshot del database di origine, che verrà ripristinato nel sistema di destinazione seguito dalla replica OCI GoldenGate Change Data Capture (CDC) per sincronizzare l'origine (database VM PostgreSQL in locale) e la destinazione (database OCI con servizio PostgreSQL).
L'immagine riportata di seguito mostra l'architettura per la migrazione di un database PostgreSQL in locale nella VM al database OCI con il servizio PostgreSQL utilizzando OCI GoldenGate.
Obiettivi
- Eseguire la migrazione al database OCI con il servizio PostgreSQL utilizzando OCI GoldenGate.
Prerequisiti
Nota: questi prerequisiti si riferiscono a un database PostgreSQL in locale nella VM (origine).
-
Plugin
test_decoding
: OCI GoldenGate richiede l'installazione del plugin del databasetest_decoding
nel database PostgreSQL. Questo plugin non può essere installato per impostazione predefinita. -
PostgreSQL Package Contrib: assicurarsi che il pacchetto
postgresqlversion#-contrib
sia installato nel database server. -
Compatibilità della libreria client: le librerie client PostgreSQL devono corrispondere alla versione del database. Tenere presente che le versioni client inferiori a 10 non sono supportate.
sudo yum install postgresql14-contrib (our database is version 14)
Task 1: Prepara ambiente database di origine
-
Eseguire la query seguente per creare l'utente di replica. Questo utente deve essere utilizzato durante la creazione di una connessione in OCI Console.
create user ggadmin with password ‘<<password>>’; GRANT ALL PRIVILEGES ON DATABASE campaign TO ggadmin; alter user ggadmin replication; alter user ggadmin with superuser;
-
Il seguente parametro deve essere modificato e il sistema di database deve essere riavviato affinché
wal_level
venga modificato.ALTER SYSTEM SET wal_level = logical; ALTER SYSTEM SET track_commit_timestamp = on;
Task 2: eseguire il provisioning di OCI GoldenGate e configurare le connessioni
-
Eseguire il login a OCI Console e creare la distribuzione di OCI GoldenGate per il database PostgreSQL.
-
Creare la connessione GoldenGate OCI per OCI PostgreSQL.
-
Immettere i dettagli della connessione di origine e fare clic su Crea.
-
Immettere i dettagli della connessione di destinazione e fare clic su Crea.
Nota: se viene creata la connessione per la VM, il protocollo SSL deve essere Plain e per il database OCI con il servizio PostgreSQL, il protocollo SSL deve essere Require.
-
-
Fare clic su Crea per creare la connessione.
Task 3: Impostazione della replica del database di origine
-
Crea Estrai in OCI GoldenGate.
Nota: aggiungere la trandata dello schema nel database di origine per tutti gli schemi idonei e fare clic su Sottometti.
Nota: fare clic su CREA e non fare clic su CREA ed esegui.
-
Creare uno slot di replica temporanea nel database di origine che verrà utilizzato per creare un punto di partenza per il processo Extract e per il posizionamento dello snapshot PostgreSQL. Questa operazione può essere eseguita utilizzando il comando
CREATE_REPLICATION_SLOT
. Attenersi alla procedura per configurare lo slot di replica temporaneo.-
Eseguire il login al database PostgreSQL utilizzando
psql
come utente con il ruolo di replica, ad esempiopostgres
oggadmin
. -
Usare l'opzione
replication=database
.psql "dbname=pgsource replication=database user=postgres" CREATE_REPLICATION_SLOT tslot TEMPORARY LOGICAL test_decoding EXPORT_SNAPSHOT; slot_name | consistent_point | snapshot_name | output_plugin ----------+------------------+---------------+--------------------- tslot | 1/4232A6B0 | 00000007-00001142-1 | test_decoding
-
Prendere nota dei dettagli
snapshot_name
econsistent_point
.Nota:
consistent_point
deve essere utilizzato per posizionare l'estrazione GoldenGate OCI e avviare l'estrazione per acquisire le transazioni CDC.snapshot_name
deve essere utilizzato per il caricamento iniziale dal database di origine al database di destinazione utilizzandopg_dump
epg_restore
.
-
-
Posizionare l'estrazione Goldengate OCI nel numero di sequenza log
consistent_point
(LSN).Lo stato dell'estrazione CDC creata sarà Interrotto.
In Azioni, fare clic sull'icona ... e selezionare Modifica.
Modificare la posizione di LSN in
consistent_point
acquisita nel task 3.2. -
Fare clic su Sottometti e avviare il processo di estrazione.
Extract sarà in esecuzione e avvierà l'acquisizione CDC dalla posizione modificata.
Task 4: Esegui backup e ripristino su database di origine e di destinazione
-
Eseguire il comando riportato di seguito per eseguire il backup del database primario di origine.
nohup /u01/pgsql-14/bin/pg_dump -h <<Sourceip>> -p 5432 -U <<superuser/ggadmin user>> –snapshot=00000007-00001142-1 -F c -b -v -f latestdump.db pgsource &
-
Eseguire il comando riportato di seguito per ripristinare i dump nel database di destinazione.
nohup /u01/pgsql-14/bin/pg_restore -h <<Targetip>> -p 5432 -U admin -d pgtarget -v latestdump.db &
Task 5: Impostazione della replica del database di destinazione
-
Creare la tabella di checkpoint in qualsiasi schema disponibile nel database di destinazione GoldenGate OCI e fare clic su Sottometti.
-
Creare il processo Replicat con la connessione al database di destinazione per applicare i dati CDC al database di destinazione.
-
Fare clic su Invia e avviare Replicat. Consenti la sincronizzazione.
Task 6: eseguire la migrazione effettiva
Taglia il database VM PostgreSQL on premise al database OCI con il servizio PostgreSQL.
-
Eseguire il ramp down dell'applicazione connesso al database VM di origine.
-
Assicurarsi che non vi siano connessioni al database per il database VM di origine.
-
Assicurarsi che non vi sia alcun ritardo nel processo Extract/Replicat ed eseguire il cut-over che punta l'applicazione al database OCI di destinazione con il servizio PostgreSQL che arresta il processo Extract/Replicat.
Task 7: Convalida migrazione
Verificare gli oggetti e i dati del database trasferiti nel sistema di database di destinazione nel database OCI con PostgreSQL per assicurarsi che la migrazione sia riuscita e che non si verifichino problemi o discrepanze.
Collegamenti correlati
- Migrazione senza problemi di un database PostgreSQL on-premise al database OCI con PostgreSQL utilizzando OCI GoldenGate
- Importazione, esportazione e migrazione di database
- Creazione di istanze precise tra ambienti PostgreSQL con pg_dump
Conferme
- Autore - Saravanadurai Rajendran (Esperto dell'implementazione Lift - Database)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.
Per la documentazione del prodotto, visita l'Oracle Help Center.
Migrate an On-Premises PostgreSQL Database to OCI Database with PostgreSQL using OCI GoldenGate
G29127-01
Copyright ©2025, Oracle and/or its affiliates.