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 di un database Oracle locale ad Amazon RDS for PostgreSQL utilizzando un bystander Oracle e AWS DMS
Creato da Cady Motyka (AWS)
Riepilogo
Questo modello descrive come migrare un database Oracle locale verso uno dei seguenti servizi di database AWS compatibili con PostgreSQL con tempi di inattività minimi:
Amazon Relational Database Service (Amazon RDS) per PostgreSQL
Amazon Aurora PostgreSQL-Compatible Edition
La soluzione utilizza AWS Database Migration Service (AWS DMS) per migrare i dati, AWS Schema Conversion Tool (AWS SCT) per convertire lo schema del database e un database Oracle bystander per aiutare a gestire la migrazione. In questa implementazione, il tempo di inattività è limitato al tempo necessario per creare o convalidare tutte le chiavi esterne del database.
La soluzione utilizza anche istanze Amazon Elastic Compute Cloud (Amazon EC2) con un database Oracle bystander per aiutare a controllare il flusso di dati tramite AWS DMS. Puoi sospendere temporaneamente la replica in streaming dal database Oracle locale al bystander Oracle per attivare AWS DMS per recuperare il ritardo sulla convalida dei dati o per utilizzare un altro strumento di convalida dei dati. L'istanza DB Amazon RDS for PostgreSQL o l'istanza DB Aurora compatibile con PostgreSQL e il database bystander avranno gli stessi dati al termine della migrazione delle modifiche correnti da parte di AWS DMS.
Prerequisiti e limitazioni
Prerequisiti
Un account AWS attivo
Un database Oracle di origine in un data center locale con un database di standby Active Data Guard configurato
AWS Direct Connect configurato tra il data center locale e AWS Secrets Manager per l'archiviazione dei segreti del database
Driver Java Database Connectivity (JDBC) per connettori AWS SCT, installati su un computer locale o sull'istanza EC2 in cui è installato AWS SCT
Familiarità con l'utilizzo di un database Oracle come fonte per AWS DMS
Familiarità con l'uso di un database PostgreSQL come destinazione per AWS DMS
Limitazioni
Limite di dimensione del database: 64 TB
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. Ti consigliamo di utilizzare la versione più recente di AWS DMS per il supporto più completo della versione e delle funzionalità. Per informazioni sulle versioni dei database Oracle supportate da AWS SCT, consulta la documentazione di AWS SCT.
AWS DMS supporta le versioni 9.4 e successive di PostgreSQL (per le versioni 9.x), 10.x, 11.x, 12.x e 13.x. Per le informazioni più recenti, consulta Using a PostgreSQL Database as a Target for AWS DMS nella documentazione AWS.
Architettura
Stack tecnologico di origine
Un database Oracle locale
Un'EC2 istanza che contiene un astante per il database Oracle
Stack tecnologico Target
Amazon RDS per PostgreSQL o istanza PostgreSQL Aurora, PostgreSQL 9.3 e versioni successive
Architettura Target
Il diagramma seguente mostra un esempio di flusso di lavoro per la migrazione di un database Oracle a un database AWS compatibile con PostgreSQL utilizzando AWS DMS e un bystander Oracle:

Strumenti
AWS Database Migration Service (AWS DMS) ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali.
AWS Schema Conversion Tool (AWS SCT) supporta 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.
Amazon Relational Database Service (Amazon RDS) ti aiuta a configurare, gestire e scalare un database relazionale nel cloud AWS.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Configura AWS SCT. | Crea un nuovo report e connettiti a Oracle come origine e PostgreSQL come destinazione. In Impostazioni del progetto, vai alla scheda SQL Scripting. Cambia lo script SQL di destinazione in più file. Questi file verranno utilizzati in seguito e denominati come segue:
| DBA |
Convertire lo schema del database Oracle. | Nella scheda Azione, scegli Genera rapporto. Quindi, scegli Converti schema e scegli Salva come SQL. | DBA |
Modifica gli script. | Ad esempio, potresti voler modificare lo script se un numero nello schema di origine è stato convertito in formato numerico in PostgreSQL, ma desideri invece utilizzare BIGINT per prestazioni migliori. | DBA |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea l'istanza database Amazon RDS. | Nella regione AWS corretta, crea una nuova istanza DB PostgreSQL. Per ulteriori informazioni, consulta Creazione di un'istanza DB PostgreSQL e connessione a un database su un'istanza DB PostgreSQL nella documentazione di Amazon RDS. | AWS SysAdmin, DBA |
Configura le specifiche dell'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 cloud privato virtuale (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 KMS. | AWS SysAdmin, DBA |
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. | Attiva o disattiva 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, esegui i seguenti script generati da AWS SCT:
| AWS SysAdmin, DBA |
Attività | Descrizione | Competenze richieste |
---|---|---|
Configura la rete per Amazon EC2. | Crea il nuovo VPC, le sottoreti, il gateway Internet, le tabelle di routing e i gruppi di sicurezza. | AWS SysAdmin |
Crea l' EC2 istanza. | Nella regione AWS appropriata, crea una nuova EC2 istanza. Seleziona Amazon Machine Image (AMI), scegli la dimensione dell'istanza e configura i dettagli dell'istanza: numero di istanze (1), VPC e sottorete creati nell'attività precedente, assegnazione automatica dell'IP pubblico e altre opzioni. Aggiungi storage, configura i gruppi di sicurezza e avvia. Quando richiesto, create e salvate una key pair per il passaggio successivo. | AWS SysAdmin |
Connect il database di origine Oracle all' EC2 istanza. | Copia l'indirizzo IP IPv4 pubblico e il DNS in un file di testo e connettiti utilizzando SSH nel modo seguente: ssh -i «your_file.pem» EC2-user@<your-IP - -DNS>. address-or-public | AWS SysAdmin |
Configura l'host iniziale per un passante in Amazon. EC2 | Configura chiavi SSH, profilo bash, ORATAB e link simbolici. Crea directory Oracle. | AWS SysAdmin, amministratore Linux |
Configura la copia del database per un passante in Amazon EC2 | Usa RMAN per creare una copia del database, abilitare la registrazione supplementare e creare il file di controllo in standby. Al termine della copia, posizionate il database in modalità di ripristino. | AWS SysAdmin, DBA |
Configura Oracle Data Guard. | Modifica il file listener.ora e avvia il listener. Imposta una nuova destinazione di archiviazione. Metti lo spettatore in modalità di ripristino, sostituisci i file temporanei per evitare future danneggiamenti, installa un crontab se necessario per evitare che la directory di archivio si esaurisca lo spazio e modifica il manage-trclog-files-oraclefile.cfg come sorgente e standby. | AWS SysAdmin, DBA |
Prepara il database Oracle per sincronizzare la spedizione. | Aggiungi i file di registro in standby e modifica la modalità di ripristino. Modifica il log shipping in SYNC AFFIRM sia sulla sorgente primaria che sulla sorgente standby. Passa ai log primari, conferma tramite l'alert log di Amazon EC2 bystander che stai utilizzando i file di log di standby e conferma che il redo stream scorra in SYNC. | AWS SysAdmin, DBA |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea un'istanza di replica in AWS DMS. | Completa i campi per il nome, la classe dell'istanza, il VPC (come l' EC2 istanza Amazon), Multi-AZ e l'accessibilità pubblica. In Advance, 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 (nome DNS EC2 privato Amazon), 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. VPCs | 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: maxFileSize e 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'operazione 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 l'attività. | DBA |
Esegui gli script di migrazione intermedia da AWS SCT. | In Amazon RDS for PostgreSQL, esegui i seguenti script generati da AWS SCT:
| DBA |
Riavviare 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à | Descrizione | Competenze richieste |
---|---|---|
Controlla i log e le tabelle di convalida di AWS DMS per eventuali errori. | Controlla e correggi eventuali errori di replica o convalida. | DBA |
Interrompi tutte le dipendenze Oracle. | 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 i seguenti script generati da AWS SCT:
| 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 ANALYZE e scatta un'istantanea per 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 |