Esegui la migrazione da Oracle 8i o 9i ad Amazon RDS for PostgreSQL utilizzando viste materializzate e AWS DMS - 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 da Oracle 8i o 9i ad Amazon RDS for PostgreSQL utilizzando viste materializzate e AWS DMS

Creato da Kumar Babu P G (AWS) e Pragnesh Patel (AWS)

Ambiente: PoC o pilota

Fonte: Oracle 8i o 9i

Target: compatibile con Amazon RDS per PostgreSQL o Aurora PostgreSQL

Tipo R: Re-architect

Carico di lavoro: Oracle

Tecnologie: migrazione; database

Servizi AWS: Amazon RDS; Amazon Aurora

Riepilogo

Questo modello descrive come migrare un database Oracle 8i o 9i legacy locale verso Amazon Relational Database Service (Amazon RDS) per PostgreSQL o Amazon Aurora PostgreSQL Compatible Edition. 

AWS Database Migration Service (AWS DMS) non supporta Oracle 8i o 9i come sorgente, quindi questo modello utilizza un'istanza di database Oracle intermedia compatibile con AWS DMS, come Oracle 10g o 11g. Utilizza anche la funzionalità di viste materializzate per migrare i dati dall'istanza Oracle 8i/9i di origine all'istanza Oracle 10g/11g intermedia.

AWS Schema Conversion Tool (AWS SCT) converte lo schema del database e AWS DMS migra i dati nel database PostgreSQL di destinazione. 

Questo modello aiuta gli utenti che desiderano migrare dai database Oracle legacy con tempi di inattività minimi del database. In questa implementazione, il tempo di inattività sarebbe limitato al tempo necessario per creare o convalidare tutte le chiavi, i trigger e le sequenze esterne sul database di destinazione. 

Il modello utilizza istanze Amazon Elastic Compute Cloud (Amazon EC2) con un database Oracle 10g/11g installato per aiutare AWS DMS a trasmettere i dati. Puoi sospendere temporaneamente la replica in streaming dal database Oracle locale all'istanza Oracle intermedia per consentire ad AWS DMS di recuperare il ritardo sulla convalida dei dati o di utilizzare un altro strumento di convalida dei dati. L'istanza DB PostgreSQL e il database Oracle intermedio avranno gli stessi dati quando AWS DMS avrà terminato la migrazione delle modifiche correnti.

Prerequisiti e limitazioni

Prerequisiti

Limitazioni

  • Il limite di dimensione del database è di 64 TB

Versioni del prodotto

  • Oracle 8i o 9i per il database di origine

  • Oracle 10g o 11g per il database intermedio

  • PostgreSQL 10.17 o versione successiva

Architettura

Stack tecnologico di origine

  • Database Oracle 8i o 9i 

Stack tecnologico Target

  • Compatibile con Amazon RDS per PostgreSQL o Aurora PostgreSQL

Architettura Target

Architettura per la migrazione da un database Oracle legacy ad Amazon RDS o Aurora

Strumenti

  • AWS DMS aiuta a migrare i database in modo rapido e sicuro. Il database di origine rimane pienamente operativo durante la migrazione, riducendo al minimo i tempi di inattività delle applicazioni che si basano sul database. AWS DMS può migrare i tuoi dati da e verso i database commerciali e open source più utilizzati.

  • AWS SCT converte automaticamente lo schema del database di origine e la maggior parte degli oggetti del codice del database, incluse viste, stored procedure e funzioni, in un formato compatibile con il database di destinazione. Gli oggetti che non possono essere convertiti automaticamente sono contrassegnati in modo chiaro in modo che possano essere convertiti manualmente per completare la migrazione. AWS SCT può anche scansionare il codice sorgente dell'applicazione alla ricerca di istruzioni SQL incorporate e convertirle come parte di un progetto di conversione dello schema del database. Durante questo processo, AWS SCT esegue l'ottimizzazione del codice nativo del cloud convertendo le funzioni legacy di Oracle e SQL Server nelle loro equivalenti AWS, per aiutarti a modernizzare le tue applicazioni durante la migrazione dei database. Una volta completata la conversione dello schema, AWS SCT può aiutare a migrare i dati da una serie di data warehouse ad Amazon Redshift utilizzando agenti di migrazione dei dati integrati.  

Best practice

Per le best practice per l'aggiornamento delle viste materializzate, consulta la seguente documentazione Oracle:

Epiche

AttivitàDescrizioneCompetenze richieste

Configura la rete per l'istanza EC2.

Crea il cloud privato virtuale (VPC), le sottoreti, il gateway Internet, le tabelle di routing e i gruppi di sicurezza.

AWS SysAdmin

Crea l'istanza EC2.

Seleziona l'Amazon Machine Image (AMI) per l'istanza EC2. Scegli la dimensione dell'istanza e configura i dettagli dell'istanza: il numero di istanze (1), il VPC e la sottorete del passaggio precedente, assegnazione automatica dell'IP pubblico e altre opzioni. Aggiungi spazio di archiviazione, configura i gruppi di sicurezza e avvia l'istanza. Quando richiesto, create e salvate una key pair per il passaggio successivo.

AWS SysAdmin

Installa Oracle sull'istanza EC2.

Acquisisci le licenze e i file binari Oracle richiesti e installa Oracle 10g o 11g sull'istanza EC2.

DBA

Configurare la rete Oracle.

Modifica o aggiungi voci listener.ora per connetterti al database Oracle 8i/9i di origine locale, quindi crea i collegamenti al database.

DBA

Crea viste materializzate.

Identifica gli oggetti del database da replicare nel database Oracle 8i/9i di origine, quindi crea viste materializzate per tutti gli oggetti utilizzando il database link.

DBA

Implementa script per aggiornare le viste materializzate agli intervalli richiesti.

Sviluppa e distribuisci script per aggiornare le viste materializzate agli intervalli richiesti sull'istanza Amazon EC2 Oracle 10g/11g. Utilizza l'opzione di aggiornamento incrementale per aggiornare le viste materializzate.

DBA
AttivitàDescrizioneCompetenze richieste

Configura AWS SCT.

Crea un nuovo report, quindi connettiti a Oracle come origine e PostgreSQL come destinazione. Nelle impostazioni del progetto, apri la scheda SQL Scripting. Cambia lo script SQL di destinazione in File multipli. (AWS SCT non supporta i database Oracle 8i/9i, quindi è necessario ripristinare il dump basato solo sullo schema sull'istanza Oracle 10g/11g intermedia e utilizzarlo come sorgente per AWS SCT.)

DBA

Convertire lo schema del database Oracle.

Nella scheda Azione, scegli Genera report, Converti schema e quindi Salva come SQL.

DBA

Modifica gli script SQL.

Apporta modifiche in base alle migliori pratiche. Ad esempio, passa a tipi di dati adatti e sviluppa equivalenti PostgreSQL per funzioni specifiche di Oracle.

DBA, devDBA
AttivitàDescrizioneCompetenze richieste

Crea l'istanza database Amazon RDS.

Nella console Amazon RDS, crea una nuova istanza DB PostgreSQL.

AWS SysAdmin, DBA

Configura l'istanza DB.

Specificate la versione del motore DB, la classe dell'istanza DB, l'implementazione Multi-AZ, il tipo di storage e lo storage allocato. Immettere l'identificatore dell'istanza DB, un nome utente principale e una password principale.

AWS SysAdmin, DBA

Configura rete e sicurezza.

Specificare il VPC, il gruppo di sottoreti, l'accessibilità pubblica, la preferenza della zona di disponibilità e i gruppi di sicurezza.

DBA, SysAdmin

Configurare le opzioni del database.

Specificare il nome del database, la porta, il gruppo di parametri, la crittografia e la chiave principale.

DBA, AWS SysAdmin

Configurare i backup.

Specificate il periodo di conservazione del backup, la finestra di backup, l'ora di inizio, la durata e se copiare i tag nelle istantanee.

AWS SysAdmin, DBA

Configura le opzioni di monitoraggio.

Abilita o disabilita il monitoraggio avanzato e gli approfondimenti sulle prestazioni.

AWS SysAdmin, DBA

Configura le opzioni di manutenzione.

Specificare l'aggiornamento automatico della versione secondaria, la finestra di manutenzione e il giorno, l'ora e la durata di inizio.

AWS SysAdmin, DBA

Esegui gli script di pre-migrazione da AWS SCT.

Sull'istanza Amazon RDS for PostgreSQL di destinazione, crea lo schema del database utilizzando gli script SQL di AWS SCT con altre modifiche. Queste potrebbero includere l'esecuzione di più script e includere la creazione di utenti, la creazione di database, la creazione di schemi, tabelle, viste, funzioni e altri oggetti di codice.

AWS SysAdmin, DBA
AttivitàDescrizioneCompetenze richieste

Crea un'istanza di replica in AWS DMS.

Completa i campi per il nome, la classe dell'istanza, il VPC (come per l'istanza EC2), Multi-AZ e l'accessibilità pubblica. Nella sezione di configurazione avanzata, specifica lo storage allocato, il gruppo di sottoreti, la zona di disponibilità, i gruppi di sicurezza VPC e la chiave AWS Key Management Service (AWS KMS).

AWS SysAdmin, DBA

Crea l'endpoint del database di origine.

Specificare il nome dell'endpoint, il tipo, il motore di origine (Oracle), il nome del server (il nome DNS privato dell'istanza EC2), la porta, la modalità SSL, il nome utente, la password, il SID, il VPC (specifica il VPC che ha l'istanza di replica) e l'istanza di replica. Per testare la connessione, scegli Run Test, quindi crea l'endpoint. Puoi anche configurare le seguenti impostazioni avanzate: maxFileSizee numberDataTypeScale.

AWS SysAdmin, DBA

Connetti AWS DMS ad Amazon RDS per PostgreSQL.

Crea un gruppo di sicurezza di migrazione per le connessioni tra VPC, se il tuo database PostgreSQL si trova in un altro VPC.

AWS SysAdmin, DBA

Crea l'endpoint del database di destinazione.

Specificare il nome dell'endpoint, il tipo, il motore di origine (PostgreSQL), il nome del server (endpoint Amazon RDS), la porta, la modalità SSL, il nome utente, la password, il nome del database, il VPC (specifica il VPC che contiene l'istanza di replica) e l'istanza di replica. Per testare la connessione, scegli Esegui test, quindi crea l'endpoint. Puoi anche configurare le seguenti impostazioni avanzate: maxFileSizee numberDataTypeScale.

AWS SysAdmin, DBA

Crea l'attività di replica AWS DMS.

Specificare il nome dell'attività, l'istanza di replica, gli endpoint di origine e di destinazione e l'istanza di replica. Per il tipo di migrazione, scegli Migra i dati esistenti e replica le modifiche in corso. Deseleziona la casella di controllo Avvia attività alla creazione.

AWS SysAdmin, DBA

Configura le impostazioni delle attività di replica di AWS DMS.

Per la modalità di preparazione della tabella di destinazione, scegli Non fare nulla. Interrompi l'attività dopo il completamento del caricamento completo (per creare le chiavi primarie). Specificate la modalità LOB limitata o completa e attivate le tabelle di controllo. Facoltativamente, è possibile configurare l'impostazione CommitRateavanzata.

DBA

Configura le mappature delle tabelle.

Nella sezione Mappature delle tabelle, crea una regola di inclusione per tutte le tabelle in tutti gli schemi inclusi nella migrazione, quindi crea una regola di esclusione. Aggiungi tre regole di trasformazione per convertire i nomi di schema, tabella e colonna in lettere minuscole e aggiungi tutte le altre regole necessarie per questa migrazione specifica.

DBA

Avvia l'attività.

Avviate l'attività di replica. Accertatevi che il carico sia in esecuzione a pieno carico. Esegui ALTER SYSTEM SWITCH LOGFILE sul database Oracle primario per avviare il task.

DBA

Esegui gli script di migrazione intermedia da AWS SCT.

In Amazon RDS for PostgreSQL, esegui i create_index.sql seguenti create_constraint.sql script: e (se lo schema completo non è stato inizialmente creato).

DBA

Riprendi l'attività per continuare l'acquisizione dei dati delle modifiche (CDC).

Esegui VACUUM sull'istanza DB Amazon RDS for PostgreSQL e riavvia l'attività AWS DMS per applicare le modifiche CDC memorizzate nella cache.

DBA
AttivitàDescrizioneCompetenze richieste

Controlla i log e le tabelle di convalida di AWS DMS.

Controlla e correggi eventuali errori di replica o convalida.

DBA

Smetti di usare il database Oracle locale e le sue dipendenze.

Arresta tutte le dipendenze Oracle, spegni i listener sul database Oracle ed esegui. ALTER SYSTEM SWITCH LOGFILE Interrompi l'attività AWS DMS quando non mostra alcuna attività.

DBA

Esegui gli script post-migrazione da AWS SCT.

In Amazon RDS for PostgreSQL, esegui questi script:. create_foreign_key_constraint.sql and create_triggers.sql Assicurati che le sequenze siano aggiornate.

DBA

Completa i passaggi aggiuntivi di Amazon RDS for PostgreSQL.

Incrementa le sequenze in modo che corrispondano a quelle di Oracle, se necessario, esegui VACUUM e scatta un'istantanea per ANALYZE garantire la conformità.

DBA

Apri le connessioni ad Amazon RDS for PostgreSQL.

Rimuovi i gruppi di sicurezza AWS DMS da Amazon RDS for PostgreSQL, aggiungi gruppi di sicurezza di produzione e indirizza le tue applicazioni verso il nuovo database.

DBA

Pulisci gli oggetti AWS DMS.

Rimuovi gli endpoint, le attività di replica, le istanze di replica e l'istanza EC2.

SysAdmin, DBA

Risorse correlate