Esegui la migrazione dei dati da un database Oracle locale ad Aurora PostgreSQL - 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à.

Esegui la migrazione dei dati da un database Oracle locale ad Aurora PostgreSQL

Creato da Michelle Deng (AWS) e Shunan Xiang (AWS)

Ambiente: PoC o pilota

Fonte: Oracle

Obiettivo: Aurora PostgreSQL compatibile

Tipo R: Re-architect

Carico di lavoro: Oracle

Tecnologie: migrazione; database

Servizi AWS: Amazon Aurora; AWS DMS; AWS SCT

Riepilogo

Questo modello fornisce indicazioni per la migrazione dei dati da un database Oracle locale all'edizione compatibile con Amazon Aurora PostgreSQL. Mira a una strategia di migrazione dei dati online con tempi di inattività minimi per database Oracle da più terabyte che contengono tabelle di grandi dimensioni con attività DML (High Data Manipulation Language). Un database di standby Oracle Active Data Guard viene utilizzato come origine per scaricare la migrazione dei dati dal database primario. La replica dal database primario Oracle allo standby può essere sospesa durante il pieno carico per evitare errori ORA-01555. 

Le colonne di tabella nelle chiavi primarie (PK) o nelle chiavi esterne (FK), con tipo di dati NUMBER, vengono comunemente utilizzate per memorizzare numeri interi in Oracle. Ti consigliamo di convertirli in INT o BIGINT in PostgreSQL per prestazioni migliori. Puoi utilizzare AWS Schema Conversion Tool (AWS SCT) per modificare la mappatura dei tipi di dati predefinita per le colonne PK e FK. (Per ulteriori informazioni, consulta il post del blog AWS Convertire il tipo di dati NUMBER da Oracle a PostgreSQL.) La migrazione dei dati in questo modello utilizza AWS Database Migration Service (AWS DMS) sia per l'acquisizione dei dati a pieno carico che per quella di modifica (CDC).

Puoi anche utilizzare questo modello per migrare un database Oracle locale su Amazon Relational Database Service (Amazon RDS) per PostgreSQL o un database Oracle ospitato su Amazon Elastic Compute Cloud (Amazon EC2) su Amazon RDS for PostgreSQL o Aurora PostgreSQL Compatibile con QL.

Prerequisiti e limitazioni

Prerequisiti

Limitazioni

Versioni del prodotto

  • AWS DMS supporta tutte le edizioni del database Oracle per le versioni 10.2 e successive (per le versioni 10.x), 11g e fino a 12.2, 18c e 19c. Per l'elenco più recente delle versioni supportate, consulta Using an Oracle Database as a Source for AWS DMS nella documentazione AWS.

Architettura

Stack tecnologico di origine

  • Database Oracle locali con configurazione in standby Oracle Active Data Guard

Stack tecnologico Target

  • Compatibile con Aurora PostgreSQL 

Architettura di migrazione dei dati

Migrazione di un database Oracle verso Aurora PostgreSQL compatibile

Strumenti

  • AWS DMS - AWS Database Migration Service (AWS DMS) supporta diversi database di origine e destinazione. Consulta Using an Oracle Database as a Source for AWS DMS nella documentazione di AWS DMS per un elenco delle versioni ed edizioni del database Oracle di origine e destinazione supportate. Se il database di origine non è supportato da AWS DMS, devi selezionare un altro metodo per la migrazione dei dati nella Fase 6 (nella sezione Epics). Nota importante: poiché si tratta di una migrazione eterogenea, è necessario innanzitutto verificare se il database supporta un'applicazione commerciale (COTS). off-the-shelf Se l'applicazione è COTS, consulta il fornitore per confermare che la compatibilità con Aurora PostgreSQL sia supportata prima di procedere. Per ulteriori informazioni, consulta le procedure dettagliate per la migrazione di AWS DMS nella documentazione AWS.

  • AWS SCT - L'AWS Schema Conversion Tool (AWS SCT) facilita le migrazioni di database eterogenei convertendo automaticamente lo schema del database di origine e la maggior parte del codice personalizzato in un formato compatibile con il database di destinazione. Il codice personalizzato convertito dallo strumento include viste, procedure memorizzate e funzioni. Qualsiasi codice che lo strumento non è in grado di convertire automaticamente è contrassegnato in modo chiaro in modo che sia possibile convertirlo autonomamente. 

Epiche

AttivitàDescrizioneCompetenze richieste
Convalida le versioni del database di origine e di destinazione.DBA
Installa AWS SCT e i driver.DBA
Aggiungi e convalida gli utenti dei prerequisiti AWS SCT e il database grants-source.DBA
Crea un progetto AWS SCT per il carico di lavoro e connettiti al database di origine.DBA
Genera un rapporto di valutazione e valuta la fattibilità.DBA, proprietario dell'app
AttivitàDescrizioneCompetenze richieste
Crea un database di destinazione compatibile con Aurora PostgreSQL.DBA
Estrai l'elenco di utenti, ruoli e concessioni dal database di origine.DBA
Associa gli utenti esistenti del database ai nuovi utenti del database.Proprietario dell'app
Crea utenti nel database di destinazione.DBA
Applica i ruoli del passaggio precedente al database Aurora di destinazione compatibile con PostgreSQL.DBA
Esamina le opzioni del database, i parametri, i file di rete e i collegamenti al database dal database di origine e valuta la loro applicabilità al database di destinazione.DBA, proprietario dell'app
Applica tutte le impostazioni pertinenti al database di destinazione.DBA
AttivitàDescrizioneCompetenze richieste
Configura la connettività AWS SCT al database di destinazione.DBA
Converti lo schema in AWS SCT e salva il codice convertito come file.sql.DBA, proprietario dell'app
Converti manualmente tutti gli oggetti del database che non sono stati convertiti automaticamente.DBA, proprietario dell'app
Ottimizza la conversione del codice del database.DBA, proprietario dell'app
Separa il file.sql in più file.sql in base al tipo di oggetto.DBA, proprietario dell'app
Convalida gli script SQL nel database di destinazione.DBA, proprietario dell'app
AttivitàDescrizioneCompetenze richieste
Creare un'istanza di replica di AWS DMS.DBA
Crea gli endpoint di origine e di destinazione.

Se il tipo di dati di PK e FK viene convertito da NUMBER in Oracle a BIGINT in PostgreSQL, valuta la possibilità di specificare l'attributo di connessione quando crei l'endpoint di origine. numberDataTypeScale=-2

DBA
AttivitàDescrizioneCompetenze richieste
Crea lo schema e le tabelle nel database di destinazione.DBA
Crea attività a pieno carico di AWS DMS raggruppando tabelle o suddividendo una tabella di grandi dimensioni in base alle dimensioni della tabella.DBA
Arresta le applicazioni sui database Oracle di origine per un breve periodo.Proprietario dell'app
Verificare che il database di standby Oracle sia sincrono con il database primario e interrompere la replica dal database primario al database di standby.DBA, proprietario dell'app
Avvia le applicazioni sul database Oracle di origine.Proprietario dell'app
Avvia le attività di caricamento completo di AWS DMS in parallelo dal database di standby Oracle al database Aurora compatibile con PostgreSQL.DBA
Crea PK e indici secondari dopo il completamento del caricamento completo.DBA
Convalida i dati.DBA
AttivitàDescrizioneCompetenze richieste
Crea attività di replica continue di AWS DMS specificando un'ora di inizio CDC o un numero di modifica del sistema (SCN) personalizzato quando lo standby di Oracle era sincronizzato con il database primario e prima che le applicazioni fossero riavviate nell'attività precedente.DBA
Avvia le attività di AWS DMS in parallelo per replicare le modifiche in corso dal database di standby Oracle al database Aurora compatibile con PostgreSQL.DBA
Ristabilisci la replica dal database primario Oracle al database di standby.DBA
Monitora i log e arresta le applicazioni sul database Oracle quando il database di destinazione Aurora PostgreSQL compatibile è quasi sincrono con il database Oracle di origine.DBA, proprietario dell'app
Interrompi le attività di AWS DMS quando la destinazione è completamente sincronizzata con il database Oracle di origine.DBA
Crea FK e convalida i dati nel database di destinazione.DBA
Crea funzioni, viste, trigger, sequenze e altri tipi di oggetti nel database di destinazione.DBA
Applica le concessioni di ruolo nel database di destinazione.DBA
AttivitàDescrizioneCompetenze richieste
Usa AWS SCT per analizzare e convertire le istruzioni SQL all'interno del codice dell'applicazione.Proprietario dell'app
Crea nuovi server di applicazioni su AWS.Proprietario dell'app
Esegui la migrazione del codice dell'applicazione sui nuovi server.Proprietario dell'app
Configura il server delle applicazioni per il database e i driver di destinazione.Proprietario dell'app
Corregge qualsiasi codice specifico del motore di database di origine dell'applicazione.Proprietario dell'app
Ottimizza il codice dell'applicazione per il database di destinazione.Proprietario dell'app
AttivitàDescrizioneCompetenze richieste
Indirizza il nuovo server delle applicazioni verso il database di destinazione.DBA, proprietario dell'app
Esegui controlli di integrità.DBA, proprietario dell'app
Trasmetti in diretta.DBA, proprietario dell'app
AttivitàDescrizioneCompetenze richieste
Chiudi le risorse AWS temporanee.DBA, amministratore di sistema
Rivedi e convalida i documenti del progetto.DBA, proprietario dell'app
Raccogli le metriche relative al tempo di migrazione, alla percentuale di utilizzo manuale rispetto a quello degli strumenti, al risparmio sui costi e a dati simili.DBA, proprietario dell'app
Chiudi il progetto e fornisci feedback.DBA, proprietario dell'app

Risorse correlate

Riferimenti

Tutorial