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 MySQL
Creato da Jitender Kumar (AWS), Neha Sharma (AWS) e Srini Ramaswamy (AWS)
Riepilogo
Questo modello fornisce indicazioni per la migrazione di un'istanza Amazon Relational Database Service (Amazon RDS) per Oracle DB a un'istanza DB Amazon RDS for MySQL su Amazon Web Services (AWS). Il modello utilizza AWS Database Migration Service (AWS DMS) e AWS Schema Conversion Tool (AWS SCT).
Il modello fornisce le migliori pratiche per gestire la migrazione delle procedure archiviate. Inoltre, illustra le modifiche al codice per supportare il livello applicativo.
Prerequisiti e limitazioni
Prerequisiti
Un account AWS attivo.
Un database sorgente Amazon RDS for Oracle.
Un database di destinazione Amazon RDS for MySQL. I database di origine e di destinazione devono trovarsi nello stesso cloud privato virtuale (VPC). Se ne utilizzi più VPCs o devi disporre delle autorizzazioni di accesso richieste.
Gruppi di sicurezza che consentono la connettività tra i database di origine e di destinazione, AWS SCT, il server delle applicazioni e AWS DMS.
Un account utente con il privilegio richiesto per eseguire AWS SCT sul database di origine.
Registrazione supplementare abilitata per l'esecuzione di AWS DMS sul database di origine.
Limitazioni
Il limite di dimensione del database Amazon RDS di origine e destinazione è di 64 TB. Per informazioni sulle dimensioni di Amazon RDS, consulta la documentazione AWS.
Oracle non fa distinzione tra maiuscole e minuscole per gli oggetti del database, ma MySQL no. AWS SCT può gestire questo problema durante la creazione di un oggetto. Tuttavia, è necessario un po' di lavoro manuale per supportare la totale indistinzione tra maiuscole e minuscole.
Questa migrazione non utilizza le estensioni MySQL per abilitare le funzioni native di Oracle. AWS SCT gestisce la maggior parte della conversione, ma è necessario del lavoro per modificare il codice manualmente.
Nell'applicazione sono necessarie modifiche al driver Java Database Connectivity (JDBC).
Versioni del prodotto
Amazon RDS for Oracle 12.2.0.1 e versioni successive. Per le versioni di RDS for Oracle attualmente supportate, consulta la documentazione AWS.
Amazon RDS for MySQL 8.0.15 e versioni successive. Per le versioni RDS for MySQL attualmente supportate, consulta la documentazione AWS.
AWS DMS versione 3.3.0 e successive. Consulta la documentazione AWS per ulteriori informazioni sugli endpoint di origine e di destinazione supportati da AWS DMS.
AWS SCT versione 1.0.628 e successive. Consulta la matrice di supporto degli endpoint di origine e destinazione di AWS SCT nella documentazione AWS.
Architettura
Stack tecnologico di origine
Amazon RDS per Oracle. Per ulteriori informazioni, consulta Usare un database Oracle come sorgente per AWS DMS.
Stack tecnologico Target
Amazon RDS per MySQL. Per ulteriori informazioni, consulta Usare un database compatibile con MySQL come destinazione per AWS DMS.
Architettura di migrazione
Nel diagramma seguente, AWS SCT copia e converte gli oggetti dello schema dal database di origine Amazon RDS for Oracle e invia gli oggetti al database di destinazione Amazon RDS for MySQL. AWS DMS replica i dati dal database di origine e li invia all'istanza Amazon RDS for MySQL.

Strumenti
AWS Data Migration Service ti aiuta a migrare gli archivi di dati nel cloud AWS o tra combinazioni di configurazioni cloud e locali.
Amazon Relational Database Service (Amazon RDS) ti aiuta a configurare, gestire e scalare un database relazionale nel cloud AWS. Questo modello utilizza Amazon RDS for Oracle e Amazon RDS for MySQL.
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.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Convalida le versioni e i motori del database di origine e di destinazione. | DBA | |
Identifica i requisiti hardware per l'istanza del server di destinazione. | DBA, SysAdmin | |
Identifica i requisiti di archiviazione (tipo e capacità di archiviazione). | DBA, SysAdmin | |
Scegli il tipo di istanza corretto (capacità, funzionalità di archiviazione, funzionalità di rete). | DBA, SysAdmin | |
Identifica i requisiti di sicurezza dell'accesso alla rete per i database di origine e di destinazione. | DBA, SysAdmin | |
Scegli una strategia di migrazione delle applicazioni. | Valuta se preferisci un periodo di inattività totale o parziale per le attività successive. | DBA, proprietario dell'app SysAdmin |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea un VPC e delle sottoreti. | SysAdmin | |
Crea gruppi di sicurezza e liste di controllo degli accessi alla rete (). ACLs | SysAdmin | |
Configura e avvia l'istanza Amazon RDS for Oracle. | DBA, SysAdmin | |
Configura e avvia l'istanza Amazon RDS for MySQL. | DBA, SysAdmin | |
Preparare un test case per la convalida della conversione del codice. | Ciò contribuirà al test unitario del codice convertito. | DBA, Sviluppatore |
Configura l'istanza AWS DMS. | ||
Configura gli endpoint di origine e destinazione in AWS DMS. |
Attività | Descrizione | Competenze richieste |
---|---|---|
Genera lo script del database di destinazione utilizzando AWS SCT. | Verifica l'accuratezza del codice convertito da AWS SCT. Sarà necessario un po' di lavoro manuale. | DBA, Sviluppatore |
In AWS SCT, scegli l'impostazione «Case Insensitive». | In AWS SCT, scegli Project Settings, Target Case Sensitivity, Case Insensitive. | DBA, Sviluppatore |
In AWS SCT, scegli di non utilizzare la funzione nativa Oracle. | In Project Settings, controlla le funzioni TO_ CHAR/TO_NUMBER/TO _DATE. | DBA, Sviluppatore |
Apporta modifiche al codice «sql%notfound». | Potrebbe essere necessario convertire il codice manualmente. | |
Interrogazione su tabelle e oggetti nelle stored procedure (utilizzare query minuscole). | DBA, Sviluppatore | |
Crea lo script principale dopo aver apportato tutte le modifiche, quindi distribuisci lo script principale nel database di destinazione. | DBA, Sviluppatore | |
Esegui il test unitario delle procedure memorizzate e delle chiamate alle applicazioni utilizzando dati di esempio. | ||
Pulisci i dati creati durante il test unitario. | DBA, Sviluppatore | |
Elimina i vincoli di chiave esterna sul database di destinazione. | Questo passaggio è necessario per caricare i dati iniziali. Se non vuoi eliminare i vincoli di chiave esterna, devi creare un'attività di migrazione per i dati specifici delle tabelle primarie e secondarie. | DBA, Sviluppatore |
Rilascia le chiavi primarie e le chiavi univoche sul database di destinazione. | Questo passaggio consente di ottenere prestazioni migliori per il carico iniziale. | DBA, Sviluppatore |
Abilita la registrazione supplementare sul database di origine. | DBA | |
Crea un'attività di migrazione per il carico iniziale in AWS DMS, quindi eseguila. | Scegli l'opzione per migrare i dati esistenti. | DBA |
Aggiungi le chiavi primarie e le chiavi esterne al database di destinazione. | I vincoli devono essere aggiunti dopo il caricamento iniziale. | DBA, Sviluppatore |
Crea un'attività di migrazione per la replica continua. | La replica continua mantiene il database di destinazione sincronizzato con il database di origine. | DBA |
Attività | Descrizione | Competenze richieste |
---|---|---|
Sostituisci le funzioni native di Oracle con le funzioni native di MySQL. | Proprietario dell'app | |
Assicurati che vengano utilizzati solo nomi in minuscolo per gli oggetti del database nelle query SQL. | DBA, proprietario dell'app SysAdmin |
Attività | Descrizione | Competenze richieste |
---|---|---|
Arresta il server delle applicazioni. | Proprietario dell'app | |
Verifica che i database di origine e di destinazione siano sincronizzati. | DBA, proprietario dell'app | |
Arresta l'istanza DB di Amazon RDS for Oracle. | DBA | |
Interrompi l'attività di migrazione. | Questa operazione si interromperà automaticamente dopo aver completato il passaggio precedente. | DBA |
Cambia la connessione JDBC da Oracle a MySQL. | Proprietario dell'app, DBA | |
Avvia l'applicazione. | DBA SysAdmin, proprietario dell'app |
Attività | Descrizione | Competenze richieste |
---|---|---|
Rivedi e convalida i documenti del progetto. | DBA, SysAdmin | |
Raccogli le metriche relative ai tempi di migrazione, alla percentuale di attività manuali rispetto a quelle eseguite con strumenti, ai risparmi sui costi, ecc. | DBA, SysAdmin | |
Blocca ed elimina le istanze AWS DMS. | DBA | |
Rimuovi gli endpoint di origine e di destinazione. | DBA | |
Rimuovi le attività di migrazione. | DBA | |
Scatta uno snapshot dell'istanza DB di Amazon RDS for Oracle. | DBA | |
Elimina l'istanza DB di Amazon RDS for Oracle. | DBA | |
Chiudi ed elimina tutte le altre risorse AWS temporanee che hai utilizzato. | DBA, SysAdmin | |
Chiudi il progetto e fornisci eventuali feedback. | DBA |