Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Esegui la migrazione da Amazon RDS for Oracle ad Amazon RDS for PostgreSQL con e utilizzando e AWS SCTAWS DMSAWS CLIAWS CloudFormation - Prontuario AWS

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à.

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

Migrazione dell'istanza DB di RDS per Oracle all'istanza DB di RDS per PostgreSQL utilizzando AWS DMS e Python.

Il diagramma mostra il seguente flusso di lavoro di migrazione:

  1. Lo script Python utilizza AWS SCT per connettersi alle istanze DB di origine e di destinazione.

  2. L'utente inizia AWS SCT con lo script Python, converte il codice Oracle in codice PostgreSQL e lo esegue sull'istanza DB di destinazione.

  3. Lo script Python crea attività di AWS DMS replica per le istanze DB di origine e di destinazione.

  4. 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àDescrizioneCompetenze richieste

Configura AWS SCT per l'esecuzione da AWS CLI.

  1. Configurate i dettagli di configurazione dell'ambiente di origine e di destinazione nel database_migration.txt file utilizzando il seguente formato:

    #source_vendor,source_hostname,source_dbname,source_user,source_pwd,source_schema,source_port,source_sid,target_vendor,target_hostname,target_user,target_pwd,target_dbname,target_port ORACLE,myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com,ORCL,orcl,orcl1234,orcl,1521,ORCL,POSTGRESQL,mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com,pguser,pgpassword,pgdb,5432
  2. Modificate i parametri di AWS SCT configurazione in base alle vostre esigenze nei seguenti file:project_settings.xml,Oracle_PG_Test_Batch.xml, eORACLE-orcl-to-POSTGRESQL.xml.

DBA

Esegui lo run_aws_sct.py script Python.

Esegui lo script run_aws_sct.py Python usando il seguente comando:

$ python run_aws_sct.py database_migration.txt

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 PDFDatabase migration assessment report, che fornisce consigli dettagliati e statistiche di conversione per gli oggetti del database.

DBA

Crea oggetti in Amazon RDS for PostgreSQL.

  1. Modifica manualmente i file SQL generati da AWS SCT, se necessario.

  2. Esegui i file SQL e crea oggetti nella tua istanza database Amazon RDS for PostgreSQL.

DBA

Configura AWS SCT e crea oggetti di database in AWS CLI

AttivitàDescrizioneCompetenze richieste

Configura AWS SCT per l'esecuzione da AWS CLI.

  1. Configurate i dettagli di configurazione dell'ambiente di origine e di destinazione nel database_migration.txt file utilizzando il seguente formato:

    #source_vendor,source_hostname,source_dbname,source_user,source_pwd,source_schema,source_port,source_sid,target_vendor,target_hostname,target_user,target_pwd,target_dbname,target_port ORACLE,myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com,ORCL,orcl,orcl1234,orcl,1521,ORCL,POSTGRESQL,mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com,pguser,pgpassword,pgdb,5432
  2. Modificate i parametri di AWS SCT configurazione in base alle vostre esigenze nei seguenti file:project_settings.xml,Oracle_PG_Test_Batch.xml, eORACLE-orcl-to-POSTGRESQL.xml.

DBA

Esegui lo run_aws_sct.py script Python.

Esegui lo script run_aws_sct.py Python usando il seguente comando:

$ python run_aws_sct.py database_migration.txt

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 PDFDatabase migration assessment report, che fornisce consigli dettagliati e statistiche di conversione per gli oggetti del database.

DBA

Crea oggetti in Amazon RDS for PostgreSQL.

  1. Modifica manualmente i file SQL generati da AWS SCT, se necessario.

  2. Esegui i file SQL e crea oggetti nella tua istanza database Amazon RDS for PostgreSQL.

DBA
AttivitàDescrizioneCompetenze richieste

Crea un'istanza di AWS DMS replica.

Accedi a AWS Management Console, apri la AWS DMS console e crea un'istanza di replica configurata in base ai tuoi requisiti.

Per ulteriori informazioni, consulta Creazione di un'istanza di replica nella AWS DMS documentazione e Come posso creare un'istanza di AWS DMS replica nella documentazione. Supporto AWS

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. 

Nota

L'attributo di connessione aggiuntivo deve avere numberDataTypeScale un -2 valore.

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 dms-arn-list.txt file con l'ARN dell'endpoint di origine, l'ARN dell'endpoint di destinazione e l'ARN dell'istanza di replica utilizzando il seguente formato:

#sourceARN,targetARN,repARN arn:aws:dms:us-east-1:123456789012:endpoint:EH7AINRUDZ5GOYIY6HVMXECMCQ arn:aws:dms:us-east-1:123456789012:endpoint:HHJVUV57N7O3CQF4PJZKGIOYY5 arn:aws:dms:us-east-1:123456789012:rep:LL57N77AQQAHHJF4PJFHNEDZ5G
DBA

Esegui lo script dms-create-task.py Python per creare le AWS DMS attività.

  1. Esegui lo script dms-create-task.py Python usando il seguente comando:

    $ python dms-create-task.py database_migration.txt dms-arn-list.txt <cft-stack-name> <migration-type>

    dove:

    • database_migration.txtè il file di testo per la migrazione del database.

    • dms-arn-list.txtè l'elenco ARN per. AWS DMS

    • <cft-stack-name>è il nome dello AWS CloudFormation stack definito dall'utente.

    • <migration-type> è full-load, cdc o full-load-and-cdc.

  2. A seconda del tipo di migrazione, è possibile utilizzare i seguenti comandi per creare tre tipi di AWS DMS attività:

    • $ python dms-create-task.py database_migration.txt dms-arn-list.txt dms-cli-cft-stack full-load

    • $ python dms-create-task.py database_migration.txt dms-arn-list.txt dms-cli-cft-stack cdc

    • $ python dms-create-task.py database_migration.txt dms-arn-list.txt dms-cli-cft-stack full-load-and-cdc

DBA

Verifica che AWS DMS le attività siano pronte.

Sulla AWS DMS console, verifica che AWS DMS le tue attività siano in Ready stato nella sezione Stato.

DBA

Configura e crea AWS DMS attività utilizzando e AWS CLIAWS CloudFormation

AttivitàDescrizioneCompetenze richieste

Crea un'istanza di AWS DMS replica.

Accedi a AWS Management Console, apri la AWS DMS console e crea un'istanza di replica configurata in base ai tuoi requisiti.

Per ulteriori informazioni, consulta Creazione di un'istanza di replica nella AWS DMS documentazione e Come posso creare un'istanza di AWS DMS replica nella documentazione. Supporto AWS

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. 

Nota

L'attributo di connessione aggiuntivo deve avere numberDataTypeScale un -2 valore.

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 dms-arn-list.txt file con l'ARN dell'endpoint di origine, l'ARN dell'endpoint di destinazione e l'ARN dell'istanza di replica utilizzando il seguente formato:

#sourceARN,targetARN,repARN arn:aws:dms:us-east-1:123456789012:endpoint:EH7AINRUDZ5GOYIY6HVMXECMCQ arn:aws:dms:us-east-1:123456789012:endpoint:HHJVUV57N7O3CQF4PJZKGIOYY5 arn:aws:dms:us-east-1:123456789012:rep:LL57N77AQQAHHJF4PJFHNEDZ5G
DBA

Esegui lo script dms-create-task.py Python per creare le AWS DMS attività.

  1. Esegui lo script dms-create-task.py Python usando il seguente comando:

    $ python dms-create-task.py database_migration.txt dms-arn-list.txt <cft-stack-name> <migration-type>

    dove:

    • database_migration.txtè il file di testo per la migrazione del database.

    • dms-arn-list.txtè l'elenco ARN per. AWS DMS

    • <cft-stack-name>è il nome dello AWS CloudFormation stack definito dall'utente.

    • <migration-type> è full-load, cdc o full-load-and-cdc.

  2. A seconda del tipo di migrazione, è possibile utilizzare i seguenti comandi per creare tre tipi di AWS DMS attività:

    • $ python dms-create-task.py database_migration.txt dms-arn-list.txt dms-cli-cft-stack full-load

    • $ python dms-create-task.py database_migration.txt dms-arn-list.txt dms-cli-cft-stack cdc

    • $ python dms-create-task.py database_migration.txt dms-arn-list.txt dms-cli-cft-stack full-load-and-cdc

DBA

Verifica che AWS DMS le attività siano pronte.

Sulla AWS DMS console, verifica che AWS DMS le tue attività siano in Ready stato nella sezione Stato.

DBA
AttivitàDescrizioneCompetenze richieste

Avvia le AWS DMS attività.

Esegui lo script dms-start-task.py Python usando il seguente comando:

$ python dms-start-task.py start '<cdc-start-datetime>'
Nota

La data e l'ora di inizio devono essere nel 'YYYY-MM-DDTHH:MI:SS' formato 'DD-MON-YYYY' o (ad esempio, '01-Dec-2019' o'2018-03-08T12:12:12').

È possibile esaminare lo stato delle AWS DMS attività nella scheda Statistiche della tabella nella pagina Attività della AWS DMS console.

DBA

Convalida i dati.

  1. Una volta completata la migrazione a pieno carico, l'attività viene mantenuta continuamente in esecuzione per CDC.

  2. Quando il CDC è completo o non è necessario migrare altre modifiche, rivedi e convalida i risultati e i dati delle attività di migrazione nei database Oracle e PostgreSQL.

    È possibile convalidare i dati controllando lo stato e il conteggio delle colonne (Validation state, Validation pending Validation failedValidation suspended, eValidation details) nella scheda Statistiche delle tabelle del task di migrazione del database nella pagina Attività della console. AWS DMS  

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:

$ python dms-start-task.py stop
Nota

AWS DMS le attività potrebbero interrompersi con uno failed stato, a seconda dello stato di convalida. Per ulteriori informazioni, consulta la sezione successiva

DBA

Avvia e interrompi le AWS DMS attività utilizzando il AWS CLI

AttivitàDescrizioneCompetenze richieste

Avvia le AWS DMS attività.

Esegui lo script dms-start-task.py Python usando il seguente comando:

$ python dms-start-task.py start '<cdc-start-datetime>'
Nota

La data e l'ora di inizio devono essere nel 'YYYY-MM-DDTHH:MI:SS' formato 'DD-MON-YYYY' o (ad esempio, '01-Dec-2019' o'2018-03-08T12:12:12').

È possibile esaminare lo stato delle AWS DMS attività nella scheda Statistiche della tabella nella pagina Attività della AWS DMS console.

DBA

Convalida i dati.

  1. Una volta completata la migrazione a pieno carico, l'attività viene mantenuta continuamente in esecuzione per CDC.

  2. Quando il CDC è completo o non è necessario migrare altre modifiche, rivedi e convalida i risultati e i dati delle attività di migrazione nei database Oracle e PostgreSQL.

    È possibile convalidare i dati controllando lo stato e il conteggio delle colonne (Validation state, Validation pending Validation failedValidation suspended, eValidation details) nella scheda Statistiche delle tabelle del task di migrazione del database nella pagina Attività della console. AWS DMS  

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:

$ python dms-start-task.py stop
Nota

AWS DMS le attività potrebbero interrompersi con uno failed stato, a seconda dello stato di convalida. Per ulteriori informazioni, consulta la sezione successiva

DBA

Risoluzione dei problemi

ProblemaSoluzione

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. Available Controlla se lo stato della connessione dell'endpoint è. Successful 

Per ulteriori informazioni, consulta Come posso risolvere gli errori di connettività degli endpoint AWS DMS nella documentazione. Supporto AWS

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. numberDataTypeScale=-2

Per ulteriori informazioni, consulta Impostazioni degli endpoint quando si utilizza Oracle come fonte e Risoluzione dei problemi nella AWS DMS documentazione. AWS DMSOracleSettings

Risorse correlate

Allegati

Per accedere al contenuto aggiuntivo associato a questo documento, decomprimi il seguente file: attachment.zip

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.