sql >> Databasteknik >  >> RDS >> Mysql

Migrera en Oracle-databas till MySQL på AWS, del 2

AWS Database Migration Service (DMS) är en tjänst för att migrera databaser på AWS där källdatabasen kan vara:

  • En databas om AWS (EC2,RDS)
  • En lokal databas
  • En databas på någon annan molnplattform som Oracle Cloud Platform

Måldatabasen kan vara:

  • En databas på AWS (EC2, RDS, Redshift, DynamoDB)
  • En lokal databas
  • En databas på någon annan molnplattform, till exempel Oracle Cloud Platform

Minst en av de två databaserna, källa och mål, måste finnas på AWS. Till exempel får DMS inte användas för att migrera en lokal databas till Google Cloud-plattformen. I två artiklar diskuterar vi migrering av en Oracle-databas till en MySQL-databas med Database Migration Service. I en tidigare artikel, "Migrering av en Oracle-databas till MySQL på AWS, del 1", diskuterade vi att ställa in käll- och måldatabaser. I den här fortsättningsartikeln ska vi utföra migreringen. Den här artikeln har följande avsnitt:

  • Skapa en migrering
  • Köra migreringen
  • Fråga migrerat databasschema
  • Starta om en migrering
  • Ändra en migrering
  • Slutsats

Skapa en migrering

I det här avsnittet ska vi skapa en DMS-migrering för att migrera Oracle DB-instansen på RDS till MySQL DB-instansen på RDS. Logga in som IAM-användaren (dvohra eller annan) som skapats tidigare. Välj DMS tjänst i AWS-konsolen, som visas i figur 1.


Figur 1: DMS-tjänst i AWS-konsolen

Klicka på Skapa migrering , som visas i figur 2.


Figur 2: Skapa migrering

AWS Database Migration Service-guiden startar, som visas i figur 3. Klicka på Nästa på välkomstsidan.


Figur 3: AWS Database Migration Service Wizard

Därefter Skapa replikeringsinstans sida visas, som visas i figur 4.


Figur 4: Skapa replikeringsinstans

Ange ett replikeringsinstansnamn, eller behåll standardinställningen, som visas i figur 5. Välj en instansklass eller behåll standardinställningen. Välj en VPC eftersom ingen standard VPC är konfigurerad. Välj Multi-AZ som Nej för att använda en enda tillgänglighetszon. Välj Allmänt tillgänglig alternativ.


Figur 5: Konfigurera replikeringsinstans

I Avancerat inställningar, standardinställningarna för Allokerad lagring, Replikerad subnätgrupp och Tillgänglighetszon visas i figur 6.


Figur 6: Avancerade inställningar

Välj KMS huvudnyckel som krypteringsnyckel (dms ) skapat tidigare, som visas i figur 7. Klicka på Nästa.


Figur 7: Väljer KMS huvudnyckel

Konfigurera sedan databasslutpunkterna för att ansluta till käll- och måldatabasslutpunkter, som visas i figur 8. Databasslutpunkterna kan anges medan replikeringsinstansen skapas. Käll- och målslutpunkterna konfigureras i separata kolumner märkta Källdatabasanslutningsdetaljer och måldatabasanslutningsdetaljer.


Figur 8: Databasslutpunkter

Välj Källmotorn från rullgardinsmenyn som oracle , som visas i figur 9.


Figur 9: Källmotor

Välj Målmotor från rullgardinsmenyn som mysql , som visas i figur 10.


Figur 10: Välj målmotor

För Servernamnet s, ange Endpoints för DB-instanserna, som listas på RDS-konsolen genom att ta bort suffixet :port. Servernamnet för Oracle DB är orcl.crbmlbxmp8qi.us-east-1.rds.amazonaws.com och servernamnet för MySQL DB är mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com . Porten anges separat i Port och är 1521 för Oracle-databas och 3306 för MySQL-databas. Välj SSL-läge som ingen för både käll- och måldatabaser. Ange användarnamn och lösenord som huvudanvändarnamn och huvudlösenord som konfigurerats när du skapar RDS-instanserna. Information om källan och målanslutningen visas i figur 11.


Figur 11: Information om källa och målanslutning

Rulla ned för anslutningen Avancerade inställningar. För Oracle Database, ange SID, som visas i figur 12. För MySQL-databasen, ställ in Extra anslutningsattribut till targetDbType=SPECIFIC_DATABASE . KMS-huvudnyckeln måste vara den krypteringsnyckel (dms) som skapats som IAM-användare (dvohra) för DMS.


Figur 12: Anslutning Avancerade inställningar

Klicka på Kör test för var och en av databaserna för att testa anslutningen. Resultatet bör vara Connection tested framgångsrikt, som visas i figur 13.


Figur 13: Kör test

Därefter måste en migreringsuppgift konfigureras innan replikeringsinstansen ska ha skapats, som visas i figur 14.


Figur 14: Replikeringsinstans skapad

När du har konfigurerat databasens slutpunkter, klicka på Nästa, som visas i figur 15.


Figur 15: Databasslutpunkter konfigurerade

I Task måste minst en urvalsregel konfigureras eller så skapas inte en uppgift, vilket indikeras av felmeddelandet när Skapa uppgift klickas (se figur 16).


Figur 16: Minst en urvalsregel krävs

Klicka på lägg till urvalsregel länk som visas i figur 16. Konfigurera en Var i urvalsregeldetaljen urvalsregel. Välj Schema som DVOHRA (schema skulle vara olika för olika användare) och ange Tabellnamnet är som som % . I Åtgärd , objekt kan inkluderas eller exkluderas genom att välja Inkludera eller Uteslut . Uteslutningar behandlas efter inkluderingarna. Välj Åtgärd som Inkludera. Källfilter för att begränsa antalet och typen av poster som överförs från källa till mål kan läggas till. Klicka på Lägg till urvalsregel , som visas i figur 17. Klicka sedan på Skapa uppgift .


Figur 17: Lägga till en urvalsregel

En ny uppgift läggs till, som visas i figur 18. Till en början är uppgiftens status "Skapar".


Figur 18: Ny uppgift

När uppgiften skapas blir statusen Klar , som visas i figur 19.


Figur 19: Uppgiftsstatus som klar

Köra migreringen

För att köra migreringen klickar du på Starta/Återuppta , som visas i figur 20.


Figur 20: Starta/Återuppta

Statusen bör bli Startande (se figur 21).


Figur 21: Uppgift startar

Efter start blir statusen Kör . När migreringen har slutförts blir statusen Laddning klar , som visas i figur 22.


Figur 22: Ladda färdig

Tabellstatistik fliken bör lista de migrerade tabellerna, som visas i figur 23.


Figur 23: Tabellstatistik

Fråga migrerat databasschema

I MySQL CLI, lista databaserna med kommandot show databases, som visas i figur 24. DVOHRA databas (schema) listas.


Figur 24: Listadatabaser

Välj DVOHRA databas med använd DVOHRA kommando. Lista tabellerna med kommandot show tables, som visas i figur 25. WEBLOGICLOG och WLSLOG tabeller som skapades i Oracle-databasen tidigare har migrerats och listas.


Figur 25: Listningstabeller

Tabellen migreras också. WEBLOGICLOG Tabellen har inga data och ingen returneras i en SQL-fråga (se figur 26).


Figur 26: SQL Query på WEBLOGLOG listar ingen data

Den migrerade WLSLOG-tabellen innehåller data, som visas av ett frågeresultat i figur 27.


Figur 27: Data i WLSLOG-tabellen migreras

Starta om en migrering

Som standard pollas inte migreringen aktivt i källdatabasen för att migrera ändringarna, om några. Om några ändringar görs i källdatabasen, till exempel att data läggs till i en tabell eller en ny tabell skapas, måste migreringen köras igen. Som ett exempel, lägg till data i weblogloggen tabell i Oracle-databasen.

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');

För att migrera data som lagts till MySQL klickar du på Start/Återuppta , som visas i figur 28.


Figur 28: Starta om en migrering

I Starta uppgift dialogrutan finns två alternativ:Start och Starta om , som visas i figur 29. Start alternativet laddar bara nya tabeller (full belastning) och tabeller som var ofullständiga (partiella laddningar) i en tidigare körning av uppgiften.


Figur 29: Starta uppgift

Eftersom WEBLOGICLOG Tabellen har redan migrerats (full laddning är klar) och ny data måste migreras, Starta om alternativet måste väljas, som visas i figur 30.


Figur 30: Starta om en migrering

Aktivitetsstatusen blir igen Startar följt av Kör (se figur 31).


Figur 31: Aktivitetsstatus körs

När uppgiften har körts slutförs, blir statusen Laddning klar , som visas i figur 32.


Figur 32: Inläsningen är klar

Fråga WEBLOGICLOG data i MySQL CLI och den migrerade datan listas, som visas i figur 33.


Figur 33: Data migrerades i omstartsuppgiften

Ändra en migrering

En migreringsuppgift kan behöva ändras, till exempel för att lägga till/ta bort en urvalsregel eller ändra en av de andra uppgiftsinställningarna. En uppgift kan ändras när den inte körs och status är Ladda färdig. Klicka på Ändra för att ändra en uppgift, som visas i figur 34.


Figur 34: Ändra

Ändra uppgift dialogen startas. Men annan migreringstyp s listade, som visas i figur 35, kan migreringstypen inte ändras för närvarande. Standardinställningen är "Migrera befintliga data."


Figur 35: Ändra uppgift

Uppgiftsinställningar som visas i figur 36 kan modifieras. Klicka på Avancerade inställningar för att ändra avancerade inställningar.


Figur 36: Uppgiftsinställningar

I Avancerade inställningar, Kontrolltabellen inställningarna kan ändras, som visas i figur 37.


Figur 37: Inställningar för kontrolltabell

Tuning Settings kan modifieras, som visas i figur 38.


Figur 38: Tuning Settings

Om du vill lägga till en omvandlingsregel klickar du på lägg till omvandlingsregel , som visas i figur 39.


Figur 39: Lägg till transformationsregel

I Transformationsregler , välj Mål för omvandlingen som tabell , som visas i figur 40. Välj Schemanamn är som DVOHRA. Ange Tabellnamnet är som som % . Välj Åtgärd som Lägg till prefix , som ett exempel.


Figur 40: Lägga till transformationsregler

Ange tabellprefixet som ska läggas till i varje migrerad tabell (se figur 41). Klicka på Lägg till omvandlingsregel .


Figur 41: Lägg till omvandlingsregel

Klicka på Ändra , som visas i figur 42.


Figur 42: Ändra

I Starta uppgift , välj Starta om och klicka på Starta uppgift , som visas i figur 43.


Figur 43: Starta uppgiften

Aktivitetsstatusen blir Ändrar , som visas i figur 44.


Figur 44: Ändra

Uppgiftsstatusen kan uppdateras med uppdateringsknappen. Statusen blir Kör , som visas i figur 45.


Figur 45: Uppgift körs

När uppgiften har körts slutförs blir statusen Laddning klar (se figur 46).


Figur 46: Ladda färdig

Lista sedan tabellerna i MySQL. Nya tabeller med ett prefix listas, som visas i figur 47.


Figur 47: Tabeller med prefix

Slutsats

I två artiklar diskuterade vi migrering av en Oracle-databas på RDS till en MySQL-databas på RDS med hjälp av tjänsten AWS Database Migration.


  1. Exekveringssekvens för Group By, Have and Where-klausul i SQL Server?

  2. Postgres COUNT antal kolumnvärden med INNER JOIN

  3. PostgreSQL:använder en beräknad kolumn i samma fråga

  4. Hur man ansluter PHP till MySQL