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 Postgre SQL con AWS SCT e utilizzando e AWS DMS AWS CLI AWS CloudFormation
Creato da Pinesh Singal () AWS
Riepilogo
Questo modello mostra come migrare un'istanza database Amazon Relational Database Service (RDSAmazon) per Oracle da più terabyte a un'istanza DB RDS Amazon SQL for Postgre utilizzando AWS l'interfaccia a riga di comando (). AWS CLI L'approccio offre tempi di inattività minimi e non richiede l'accesso alla console di gestione. AWS
Questo modello consente di evitare configurazioni manuali e migrazioni individuali utilizzando le console AWS Schema Conversion Tool (AWSSCT) e AWS Database Migration Service (AWSDMS). La soluzione imposta una configurazione unica per più database ed esegue le migrazioni utilizzando e su. AWS SCT AWS DMS AWS CLI
Il modello viene utilizzato AWS SCT per convertire gli oggetti dello schema del database da Amazon RDS per Oracle ad Amazon RDS for SQL Postgre e quindi viene utilizzato per AWS DMS migrare i dati. Utilizzando gli script Python in AWSCLI, crei AWS SCT oggetti e AWS DMS attività con un modello. AWS CloudFormation
Prerequisiti e limitazioni
Prerequisiti
Un account AWS attivo.
Un'istanza database Amazon RDS for Oracle esistente.
Un'istanza Amazon RDS for Postgree SQL DB esistente.
Un'EC2istanza Amazon 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.AWSSCT, installato e configurato con i driver Java Database Connectivity (JDBC) per i motori di SQL database Oracle e Postgre. Per ulteriori informazioni, vedere Installazione AWS SCT e installazione dei driver di database richiesti nella AWS SCT documentazione.
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 posso creare un'istanza di AWS DMS replica
nella documentazione di AWS Support e le note di rilascio AWS DMS 3.4.4 nella AWS DMS documentazione. AWSCLIversione 2, installata e configurata con l'ID della chiave di accesso, la chiave di accesso segreta e il nome AWS della regione predefinito per l'istanza Amazon Elastic Compute Cloud (AmazonEC2) o il sistema operativo (OS) in cui vengono eseguiti gli script. Per ulteriori informazioni, consulta Installazione, aggiornamento e disinstallazione della AWS CLI versione 2 e Configurazione di nella AWS CLI documentazione. AWS CLI
Familiarità con i modelli. AWS CloudFormation Per ulteriori informazioni, consulta AWS CloudFormation i concetti nella AWS CloudFormation documentazione.
Python versione 3, installato e configurato sull'EC2istanza o sul sistema operativo Amazon in cui vengono eseguiti gli script. Per ulteriori informazioni, consulta la documentazione di Python
.
Limitazioni
I requisiti minimi per la tua istanza database Amazon RDS for Oracle di origine sono:
Versioni Oracle 12c (v12.1.0.2, v12.2.0.1), 18c (v18.0.0.0) e 19c (v19.0.0.0) per le edizioni Enterprise, Standard, Standard One e Standard Two.
Sebbene Amazon RDS supporti Oracle 18c (v18.0.0.0), questa versione è obsoleta perché Oracle non fornisce più patch per 18c dopo la data. end-of-support Per ulteriori informazioni, consulta Oracle on Amazon RDS nella RDS documentazione di Amazon.
Amazon RDS per Oracle 11g non è più supportato.
I requisiti minimi per l'istanza SQL database Amazon RDS for Postgree di destinazione sono:
Versioni Postgre 9 (SQLversioni 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 Amazon RDS for Postgree SQL DB versione 11.5 e successive
AWSCLIversione 2
L'ultima versione di AWS SCT
L'ultima versione di Python 3
Architettura
Stack tecnologico di origine
Amazon RDS per Oracle
Stack tecnologico Target
Amazon RDS per Postgre SQL
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 Postgre SQL utilizzando script AWS DMS Python.
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 Postgre e SQL 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 aggiuntivi e modifiche relative alla sicurezza per più funzionalità in un unico programma allo script Python.
Strumenti
AWSCommand Line Interface (AWSCLI) è uno strumento open source che consente di interagire con i AWS servizi tramite comandi nella shell della riga di comando.
AWS CloudFormationti aiuta a configurare AWS le risorse, fornirle in modo rapido e coerente e gestirle durante tutto il loro ciclo di vita tra account e regioni. AWS Questo modello converte il file di input .csv in un file di input .json utilizzando uno script Python. Il file.json viene utilizzato nei AWS CLI comandi per creare uno AWS CloudFormation stack che crea più AWS DMS attività di replica con Amazon Resource Names (ARNs), tipi di migrazione, impostazioni delle attività e mappature delle tabelle.
AWSDatabase Migration Service (AWSDMS) ti aiuta a migrare gli archivi di dati nel AWS Cloud 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 creare il modello. AWS CloudFormation
AWSSchema Conversion Tool (AWSSCT) 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 AWSCLI. | 1. Configurate i dettagli di configurazione dell'ambiente di origine e di destinazione nel
2. Modificate i parametri di AWS SCT configurazione in base alle vostre esigenze nei seguenti file: | DBA |
Esegui lo script Python run_aws_sct.py. | Esegui lo script
Lo script Python converte gli oggetti del database da Oracle a SQL Postgre e crea SQL file in formato Postgre. SQL Lo script crea anche il | DBA |
Crea oggetti in Amazon RDS for SQL Postgre. |
| DBA |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea un'istanza di AWS DMS replica. | Accedi alla console di AWS gestione, apri la AWS DMS console e crea un'istanza di replica configurata in base ai tuoi requisiti. Per ulteriori informazioni, vedere Creazione di un'istanza di replica nella AWS DMS documentazione e Come 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, quindi crea un endpoint di destinazione per il SQL database Postgre 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 | Configura gli endpoint di AWS DMS origine e di destinazione e i dettagli di replica nel
| DBA |
Esegui lo script Python dms-create-task .py per creare AWS DMS le attività. | 1. Esegui lo script
2. A seconda del tipo di migrazione, puoi utilizzare i seguenti comandi per creare tre tipi di AWS DMS attività:
3. Lo AWS CloudFormation stack e AWS DMS le attività vengono creati
| DBA |
Verifica che AWS DMS le attività siano pronte. | Nella AWS console, controlla lo | DBA |
Attività | Descrizione | Competenze richieste |
---|---|---|
Avvia le AWS DMS attività. | Esegui lo script
NotaLa data e l'ora di inizio devono essere nei formati del tipo di dati È possibile esaminare lo stato delle AWS DMS attività nella scheda Statistiche della tabella delle attività di migrazione 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:
NotaAWSDMSle attività potrebbero interrompersi con uno | DBA |
Risoluzione dei problemi
Problema | Soluzione |
---|---|
AWSSCTle connessioni di test di origine e destinazione falliscono | Configura le versioni dei JDBC driver e le regole in entrata del gruppo di VPC sicurezza 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 i problemi di connettività AWS DMS degli endpoint nella documentazione di |
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. |
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 contiene degli errori, verifica che l'attributo di connessione aggiuntivo nell'endpoint di origine lo abbia. Per ulteriori informazioni, consulta Attributi di connessione aggiuntivi quando si utilizza Oracle come fonte e Risoluzione dei problemi nella AWS DMS documentazione. AWS DMS OracleSettings |
Risorse correlate
Introduzione a AWS DMS
(video) Utilizzo di un SQL database Postgre come destinazione per AWS DMS
cloudformation (documentazione
) AWS CLI cloudformation
create-stack (documentazione) AWS CLI dms
AWS CLI (documentazione)