Mysql
 sql >> Database >  >> RDS >> Mysql

Migrazione di un database Oracle a MySQL su AWS, parte 2

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.