Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esegui la migrazione da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL con e utilizzando e AWS SCTAWS DMSAWS CLIAWS CloudFormation
Creato da Pinesh Singal (AWS)
Riepilogo
Questo modello mostra come migrare un'istanza DB Amazon Relational Database Service (Amazon RDS) per Oracle da più terabyte a un'istanza DB Amazon RDS for PostgreSQL utilizzando (). AWS Command Line Interface AWS CLI L'approccio offre tempi di inattività minimi e non richiede l'accesso a. AWS Management Console
Questo modello consente di evitare configurazioni manuali e migrazioni individuali utilizzando le console AWS Schema Conversion Tool (AWS SCT) e AWS Database Migration Service (AWS DMS). La soluzione imposta una configurazione unica per più database ed esegue le migrazioni utilizzando e in. AWS SCT AWS DMS AWS CLI
Il modello viene utilizzato AWS SCT per convertire gli oggetti dello schema del database da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL e quindi viene utilizzato per migrare i dati. AWS DMS Utilizzando gli script Python in AWS CLI, crei AWS SCT oggetti e AWS DMS attività con un modello. AWS CloudFormation
Prerequisiti e limitazioni
Prerequisiti
Un attivo. Account AWS
Un'istanza database Amazon RDS for Oracle esistente.
Un'istanza database Amazon RDS for PostgreSQL esistente.
Un'istanza Amazon Elastic Compute Cloud (Amazon EC2) o un computer locale con sistema operativo Windows o Linux per l'esecuzione di script.
Comprensione dei seguenti tipi di attività di AWS DMS migrazione:
full-load
,,cdc
.full-load-and-cdc
Per ulteriori informazioni, vedere Creazione di un'attività nella AWS DMS documentazione.AWS SCT, installato e configurato con i driver Java Database Connectivity (JDBC) per i motori di database Oracle e PostgreSQL. Per ulteriori informazioni, vedere Installazione e configurazione nella documentazione. AWS SCT AWS SCT
Il
AWSSchemaConversionToolBatch.jar
file dalla AWS SCT cartella di installazione, copiato nella directory di lavoro.Il
cli-sct-dms-cft.zip
file (allegato), scaricato ed estratto nella directory di lavoro.La versione più recente del motore di istanze AWS DMS di replica. Per ulteriori informazioni, consulta Come si crea un'istanza di AWS DMS replica
nella Supporto AWS documentazione e nelle note di AWS DMS rilascio. AWS CLI versione 2, installata e configurata con l'ID della chiave di accesso, la chiave di accesso segreta e Regione AWS il nome predefinito per l' EC2 istanza o il sistema operativo in cui vengono eseguiti gli script. Per ulteriori informazioni, consulta Installazione o aggiornamento alla versione più recente di AWS CLI e Configurazione delle impostazioni contenute AWS CLI nella AWS CLI documentazione.
Familiarità con AWS CloudFormation i modelli. Per ulteriori informazioni, consulta How AWS CloudFormation works nella AWS CloudFormation documentazione.
Python versione 3, installato e configurato sull' EC2 istanza o sul sistema operativo in cui vengono eseguiti gli script. Per ulteriori informazioni, consulta la documentazione di Python
.
Limitazioni
I requisiti minimi per l'istanza DB di origine di Amazon RDS for Oracle sono:
Versioni Oracle 12c (12.1.0.2, 12.2.0.1), 18c (18.0.0.0) e 19c (19.0.0.0) per le edizioni Enterprise, Standard, Standard One e Standard Two.
Sebbene Amazon RDS supporti Oracle 18c (18.0.0.0), questa versione è obsoleta perché Oracle non fornisce più patch per 18c dopo tale data. end-of-support Per ulteriori informazioni, consulta Amazon RDS for Oracle nella documentazione di Amazon RDS.
Amazon RDS for Oracle 11g non è più supportato.
I requisiti minimi per l'istanza database Amazon RDS for PostgreSQL di destinazione sono:
PostgreSQL versioni 9 (9.5 e 9.6), 10.x, 11.x, 12.x e 13.x
Versioni del prodotto
Istanza database Amazon RDS for Oracle versione 12.1.0.2 e successive
Istanza database Amazon RDS for PostgreSQL versione 11.5 e successive
AWS CLI versione 2
L'ultima versione di AWS SCT
L'ultima versione di Python 3
Architettura
Stack tecnologico di origine
Amazon RDS per Oracle
Stack tecnologico di destinazione
Amazon RDS per PostgreSQL
Architettura di origine e destinazione
Il diagramma seguente mostra la migrazione di un'istanza DB Amazon RDS for Oracle verso un'istanza DB Amazon RDS for PostgreSQL utilizzando script Python. AWS DMS

Il diagramma mostra il seguente flusso di lavoro di migrazione:
Lo script Python utilizza AWS SCT per connettersi alle istanze DB di origine e di destinazione.
L'utente inizia AWS SCT con lo script Python, converte il codice Oracle in codice PostgreSQL e lo esegue sull'istanza DB di destinazione.
Lo script Python crea attività di AWS DMS replica per le istanze DB di origine e di destinazione.
L'utente distribuisce script Python per avviare le attività e quindi interrompe AWS DMS le attività al termine della migrazione dei dati.
Automazione e scalabilità
Puoi automatizzare questa migrazione aggiungendo parametri e modifiche relative alla sicurezza allo script Python, per fornire funzionalità aggiuntive.
Strumenti
AWS Command Line Interface (AWS CLI) è uno strumento open source che ti aiuta a interagire con i servizi AWS tramite comandi nella shell della riga di comando.
AWS CloudFormationti aiuta a configurare le risorse AWS, a fornirle in modo rapido e coerente e a gestirle durante tutto il loro ciclo di vita in tutte Account AWS le regioni. Questo modello converte il file
.csv
di input in un file.json
di input utilizzando uno script Python. Il.json
file viene utilizzato nei AWS CLI comandi per creare uno AWS CloudFormation stack che crea più attività di AWS DMS replica con Amazon Resource Names (ARNs), tipi di migrazione, impostazioni delle attività e mappature delle tabelle.AWS Database Migration Service (AWS DMS) ti aiuta a migrare gli archivi di dati verso Cloud AWS o tra combinazioni di configurazioni cloud e locali. Questo modello viene utilizzato AWS DMS per creare, avviare e interrompere le attività con uno script Python eseguito sulla riga di comando e per creare il AWS CloudFormation modello.
AWS Schema Conversion Tool (AWS SCT) supporta migrazioni di database eterogenee convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione. Questo modello richiede il
AWSSchemaConversionToolBatch.jar
file dalla directory installata. AWS SCT
Codice
Il cli-sct-dms-cft.zip
file (allegato) contiene il codice sorgente completo per questo pattern.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Configura AWS SCT per l'esecuzione da AWS CLI. |
| DBA |
Esegui lo | Esegui lo script
Lo script Python converte gli oggetti del database da Oracle a PostgreSQL e crea file SQL in formato PostgreSQL. Lo script crea anche il file PDF | DBA |
Crea oggetti in Amazon RDS for PostgreSQL. |
| DBA |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea un'istanza di AWS DMS replica. | Accedi a AWS Management Console, apri la AWS DMS console Per ulteriori informazioni, consulta Creazione di un'istanza di replica nella AWS DMS documentazione e Come posso creare un'istanza di AWS DMS replica | DBA |
Crea l'endpoint di origine. | Sulla AWS DMS console, scegli Endpoints, quindi crea un endpoint di origine per il database Oracle in base alle tue esigenze. NotaL'attributo di connessione aggiuntivo deve avere Per ulteriori informazioni, consulta Creazione degli endpoint di origine e destinazione nella AWS DMS documentazione. | DBA |
Crea l'endpoint di destinazione. | Sulla AWS DMS console, scegli Endpoints e quindi crea un endpoint di destinazione per il database PostgreSQL in base alle tue esigenze. Per ulteriori informazioni, consulta Creazione di endpoint di origine e destinazione nella documentazione. AWS DMS | DevOps ingegnere |
Configura i dettagli AWS DMS della replica da eseguire da. AWS CLI | Configurare gli endpoint di AWS DMS origine e di destinazione e i dettagli di replica nel
| DBA |
Esegui lo script |
| DBA |
Verifica che AWS DMS le attività siano pronte. | Sulla AWS DMS console, verifica che AWS DMS le tue attività siano in | DBA |
Attività | Descrizione | Competenze richieste |
---|---|---|
Avvia le AWS DMS attività. | Esegui lo script
NotaLa data e l'ora di inizio devono essere nel È possibile esaminare lo stato delle AWS DMS attività nella scheda Statistiche della tabella nella pagina Attività della AWS DMS console. | DBA |
Convalida i dati. |
Per ulteriori informazioni, consulta la convalida AWS DMS dei dati nella AWS DMS documentazione. | DBA |
Interrompi le AWS DMS attività. | Esegui lo script Python usando il seguente comando:
NotaAWS DMS le attività potrebbero interrompersi con uno | DBA |
Risoluzione dei problemi
Problema | Soluzione |
---|---|
AWS SCT le connessioni di test di origine e destinazione falliscono. | Configura le versioni dei driver JDBC e le regole in entrata del gruppo di sicurezza VPC per accettare il traffico in entrata. |
L'esecuzione del test dell'endpoint di origine o di destinazione non riesce. | Controlla se le impostazioni dell'endpoint e l'istanza di replica sono in stato. Per ulteriori informazioni, consulta Come posso risolvere gli errori di connettività degli endpoint AWS DMS |
L'esecuzione a pieno carico non riesce. | Controlla se i database di origine e di destinazione hanno tipi e dimensioni di dati corrispondenti. Per ulteriori informazioni, consulta Risoluzione dei problemi di migrazione AWS DMS nella AWS DMS documentazione. |
Si verificano errori di esecuzione della convalida. | Controlla se la tabella ha una chiave primaria perché le tabelle a chiave non primaria non vengono convalidate. Se la tabella ha una chiave primaria e sono presenti degli errori, verifica che l'attributo di connessione aggiuntivo nell'endpoint di origine lo abbia. Per ulteriori informazioni, consulta Impostazioni degli endpoint quando si utilizza Oracle come fonte e Risoluzione dei problemi nella AWS DMS documentazione. AWS DMSOracleSettings |