AWS Database Migration Service (DMS) è un servizio per migrare database su AWS in cui il database di origine potrebbe essere:
- Un database su AWS (EC2,RDS)
- Un database locale
- Un database su un'altra piattaforma cloud come Oracle Cloud Platform
Il database di destinazione potrebbe essere:
- Un database su AWS (EC2, RDS, Redshift, DynamoDB)
- Un database locale
- Un database su un'altra piattaforma Cloud, come Oracle Cloud Platform
Almeno uno dei due database, di origine e di destinazione, deve trovarsi su AWS. Ad esempio, DMS non può essere utilizzato per migrare un database locale alla piattaforma Google Cloud. In due articoli parleremo della migrazione di un database Oracle a un database MySQL con Database Migration Service. In un articolo precedente, "Migrazione di un database Oracle a MySQL su AWS, parte 1", abbiamo discusso della configurazione dei database di origine e di destinazione. In questo articolo di continuazione, eseguiremo la migrazione. Questo articolo ha le seguenti sezioni:
- Creazione di una migrazione
- Eseguire la migrazione
- Interrogazione dello schema del database migrato
- Riavvio di una migrazione
- Modifica di una migrazione
- Conclusione
Creazione di una migrazione
In questa sezione, creeremo una migrazione DMS per migrare l'istanza database Oracle su RDS all'istanza database MySQL su RDS. Accedi come utente IAM (dvohra o altro) creato in precedenza. Seleziona il DMS servizio nella console AWS, come mostrato nella Figura 1.
Figura 1: Servizio DMS nella Console AWS
Fai clic su Crea migrazione , come mostrato nella Figura 2.
Figura 2: Crea migrazione
Viene avviata la procedura guidata di AWS Database Migration Service, come mostrato nella Figura 3. Fai clic su Avanti nella pagina di benvenuto.
Figura 3: Procedura guidata di AWS Database Migration Service
Successivamente, Crea istanza di replica viene visualizzata la pagina, come mostrato nella Figura 4.
Figura 4: Crea istanza di replica
Specificare un nome di istanza di replica o mantenere l'impostazione predefinita, come illustrato nella Figura 5. Selezionare una classe di istanza o mantenere l'impostazione predefinita. Seleziona un VPC perché non è configurato alcun VPC predefinito. Seleziona Multi-AZ come No per utilizzare una singola zona di disponibilità. Seleziona Accessibile al pubblico opzione.
Figura 5: Configurazione dell'istanza di replica
In Avanzate impostazioni, le impostazioni predefinite per l'archiviazione allocata, il gruppo di sottoreti replicato e la zona di disponibilità sono mostrate nella figura 6.
Figura 6: Impostazioni avanzate
Seleziona la chiave master del Servizio di gestione delle chiavi come chiave di crittografia (dms ) creato in precedenza, come mostrato nella Figura 7. Fare clic su Avanti.
Figura 7: Selezione della chiave master KMS
Quindi, configurare gli endpoint del database per la connessione agli endpoint del database di origine e di destinazione, come illustrato nella Figura 8. Gli endpoint del database possono essere specificati durante la creazione dell'istanza di replica. Gli endpoint di origine e di destinazione sono configurati in colonne separate denominate Dettagli di connessione al database di origine e Dettagli di connessione al database di destinazione.
Figura 8: Endpoint del database
Seleziona il Motore di origine dall'elenco a discesa come oracle , come mostrato nella Figura 9.
Figura 9: Motore di origine
Seleziona il Motore di destinazione dall'elenco a discesa come mysql , come mostrato nella Figura 10.
Figura 10: Selezione del motore di destinazione
Per il Nome server s, specificare gli endpoint per le istanze database, come elencato nella console RDS rimuovendo il suffisso :port. Il nome del server per Oracle DB è orcl.crbmlbxmp8qi.us-east-1.rds.amazonaws.com e il nome del server per il DB MySQL è mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com . La porta è specificata separatamente in Porta campo ed è 1521 per il database Oracle e 3306 per il database MySQL. Seleziona Modalità SSL come nessuno per entrambi i database di origine e di destinazione. Specificare il nome utente e la password come nome utente principale e password principale configurati durante la creazione delle istanze RDS. I dettagli della connessione Sorgente e Destinazione sono mostrati nella Figura 11.
Figura 11: Dettagli di connessione di origine e destinazione
Scorri verso il basso per la connessione Impostazioni avanzate. Per Oracle Database, specifica il SID, come mostrato nella Figura 12. Per il database MySQL, imposta gli Attributi di connessione extra a targetDbType=SPECIFIC_DATABASE . La chiave master del servizio di gestione delle chiavi deve essere la chiave di crittografia (dms) creata come utente IAM (dvohra) per DMS.
Figura 12: Impostazioni avanzate di connessione
Fai clic su Esegui test per ciascuno dei database per testare la connessione. Il risultato dovrebbe essere Connection testato con successo, come mostrato nella Figura 13.
Figura 13: Esegui il test
Successivamente, è necessario configurare un'attività di migrazione, prima della quale dovrebbe essere stata creata l'istanza di replica, come mostrato nella Figura 14.
Figura 14: Istanza di replica creata
Dopo aver configurato gli endpoint del database, fare clic su Avanti, come mostrato nella Figura 15.
Figura 15: Endpoint del database configurati
In Attività, è necessario configurare almeno una regola di selezione o non viene creata un'attività, come indicato dal messaggio di errore quando Crea attività viene cliccato (vedi Figura 16).
Figura 16: È richiesta almeno una regola di selezione
Fai clic su aggiungi regola di selezione link mostrato nella Figura 16. Nei dettagli della regola di selezione, configura un Dove regola di selezione. Seleziona Schema come DVOHRA (lo schema sarebbe diverso per utenti diversi) e specificare Il nome della tabella è come come % . In Azione , gli oggetti possono essere inclusi o esclusi selezionando Includi o Escludi . Le esclusioni vengono elaborate dopo le inclusioni. Seleziona Azione come Includi. È possibile aggiungere filtri di origine per limitare il numero e il tipo di record trasferiti dall'origine alla destinazione. Fai clic su Aggiungi regola di selezione , come mostrato nella Figura 17. Successivamente, fai clic su Crea attività .
Figura 17: Aggiunta di una regola di selezione
Viene aggiunta una nuova attività, come mostrato nella Figura 18. Inizialmente, lo stato dell'attività è "Creazione in corso".
Figura 18: Nuova attività
Quando l'attività viene creata, lo stato diventa Pronto , come mostrato nella Figura 19.
Figura 19: Stato attività come Pronto
Eseguire la migrazione
Per eseguire la migrazione, fai clic su Avvia/Riprendi , come mostrato nella Figura 20.
Figura 20: Avvia/Riprendi
Lo stato dovrebbe diventare Inizio (vedi Figura 21).
Figura 21: Avvio attività
Dopo l'avvio, lo stato diventa In esecuzione . Al termine della migrazione, lo stato diventa Caricamento completato , come mostrato nella Figura 22.
Figura 22: Carica completo
Le Statistiche della tabella tab dovrebbe elencare le tabelle migrate, come mostrato nella Figura 23.
Figura 23: Statistiche tabella
Interrogazione dello schema del database migrato
Nella CLI MySQL, elenca i database con il comando show databases, come mostrato nella Figura 24. Il DVOHRA il database (schema) viene elencato.
Figura 24: Elenco dei database
Seleziona il DVOHRA database con usa DVOHRA comando. Elenca le tabelle con il comando mostra tabelle, come mostrato nella Figura 25. Il WEBLOGICLOG e WLSLOG le tabelle create in precedenza nel database Oracle sono state migrate e vengono elencate.
Figura 25: Tabelle di elenco
Anche la tabella viene migrata. Il WEBLOGICLOG la tabella non contiene dati e nessuno viene restituito in una query SQL (vedere la Figura 26).
Figura 26: SQL Query su WEBLOGLOG non elenca alcun dato
La tabella WLSLOG migrata include i dati, come mostrato dal risultato di una query nella Figura 27.
Figura 27: I dati nella tabella WLSLOG vengono migrati
Riavvio di una migrazione
Per impostazione predefinita, la migrazione non esegue attivamente il polling nel database di origine per migrare le modifiche, se presenti. Se vengono apportate modifiche al database di origine, ad esempio vengono aggiunti dati a una tabella o viene creata una nuova tabella, è necessario eseguire nuovamente la migrazione. Ad esempio, aggiungi i dati al weblogiclog tabella nel database Oracle.
INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:16-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to STANDBY'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:17-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to STARTING'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:18-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to ADMIN'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:19-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to RESUMING'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:20-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000361','Started WebLogic AdminServer'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:21-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to RUNNING'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:22-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000360','Server started in RUNNING mode');
Per migrare i dati aggiunti a MySQL, fai clic su Avvia/Riprendi , come mostrato nella Figura 28.
Figura 28: Riavvio di una migrazione
In Avvia attività finestra di dialogo, sono disponibili due opzioni:Avvia e Riavvia , come mostrato nella Figura 29. Il Start l'opzione carica solo le nuove tabelle (caricamento completo) e le tabelle che erano incomplete (caricamenti parziali) in una precedente esecuzione dell'attività.
Figura 29: Avvia attività
Perché il WEBLOGICLOG la tabella è già stata migrata (il caricamento completo è completo) ed è necessario migrare i nuovi dati, il Riavvia l'opzione deve essere selezionata, come mostrato nella Figura 30.
Figura 30: Riavvio di una migrazione
Lo stato dell'attività diventa di nuovo Inizio seguito da Corsa (vedi Figura 31).
Figura 31: Stato attività in esecuzione
Al termine dell'esecuzione dell'attività, lo stato diventa Caricamento completato , come mostrato nella Figura 32.
Figura 32: Caricamento completo
Interroga il WEBLOGICLOG i dati nella CLI MySQL ei dati migrati vengono elencati, come mostrato nella Figura 33.
Figura 33: Dati migrati durante il riavvio dell'attività
Modifica di una migrazione
Potrebbe essere necessario modificare un'attività di migrazione, ad esempio per aggiungere/rimuovere una regola di selezione o modificare una delle altre impostazioni dell'attività. Un'attività può essere modificata quando non è in esecuzione e lo stato è Caricamento completato. Fai clic su Modifica per modificare un'attività, come mostrato nella Figura 34.
Figura 34: Modifica
L'attività di modifica viene avviata la finestra di dialogo. Sebbene diverso Tipo di migrazione s sono elencati, come mostrato nella Figura 35, il tipo di migrazione non può essere modificato in questo momento. L'impostazione predefinita è "Migra i dati esistenti".
Figura 35: Modifica attività
Le Impostazioni attività mostrato in Figura 36 può essere modificato. Fai clic su Impostazioni avanzate per modificare le impostazioni avanzate.
Figura 36: Impostazioni attività
In Impostazioni avanzate, la Tabella di controllo le impostazioni possono essere modificate, come mostrato nella Figura 37.
Figura 37: Impostazioni della tabella di controllo
Le Impostazioni di ottimizzazione può essere modificato, come mostrato in Figura 38.
Figura 38: Impostazioni di ottimizzazione
Per aggiungere una regola di trasformazione, fai clic su aggiungi regola di trasformazione , come mostrato nella Figura 39.
Figura 39: Aggiungi regola di trasformazione
In Regole di trasformazione , seleziona il Target per la trasformazione in Tabella , come mostrato nella Figura 40. Seleziona Il nome dello schema è come DVOHRA. Specifica Il nome della tabella è come come % . Seleziona Azione come Aggiungi prefisso , ad esempio.
Figura 40: Aggiunta di regole di trasformazione
Specificare il prefisso della tabella da aggiungere a ciascuna tabella migrata (vedere la Figura 41). Fai clic su Aggiungi regola di trasformazione .
Figura 41: Aggiungi regola di trasformazione
Fai clic su Modifica , come mostrato nella Figura 42.
Figura 42: Modifica
In Avvia attività , seleziona Riavvia e fai clic su Avvia attività , come mostrato nella Figura 43.
Figura 43: Avvia attività
Lo stato dell'attività diventa Modifica in corso , come mostrato nella Figura 44.
Figura 44: Modifica
Lo stato dell'attività può essere aggiornato con il pulsante di aggiornamento. Lo stato diventa In corso , come mostrato nella Figura 45.
Figura 45: Attività in esecuzione
Al termine dell'esecuzione dell'attività, lo stato diventa Caricamento completato (vedi Figura 46).
Figura 46: Carica completo
Successivamente, elenca le tabelle in MySQL. Vengono elencate le nuove tabelle con un prefisso, come mostrato nella Figura 47.
Figura 47: Tabelle con prefisso
Conclusione
In due articoli abbiamo discusso della migrazione di un database Oracle su RDS a un database MySQL su RDS utilizzando il servizio AWS Database Migration.