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

Migrering af en Oracle-database til MySQL på AWS, del 2

AWS Database Migration Service (DMS) er en tjeneste til at migrere databaser på AWS, hvor kildedatabasen kunne være:

  • En database om AWS (EC2,RDS)
  • En lokal database
  • En database på en anden cloudplatform såsom Oracle Cloud Platform

Måldatabasen kunne være:

  • En database på AWS (EC2, RDS, Redshift, DynamoDB)
  • En lokal database
  • En database på en anden cloudplatform, såsom Oracle Cloud Platform

Mindst én af de to databaser, kilde og mål, skal være på AWS. For eksempel må DMS ikke bruges til at migrere en lokal database til Google Cloud-platformen. I to artikler diskuterer vi migrering af en Oracle-database til en MySQL-database med Database Migration Service. I en tidligere artikel, "Migrering af en Oracle-database til MySQL på AWS, del 1", diskuterede vi opsætning af kilde- og måldatabaser. I denne fortsættelsesartikel skal vi udføre migreringen. Denne artikel har følgende sektioner:

  • Oprettelse af en migrering
  • Kørsel af migreringen
  • Forespørgsel efter migreret databaseskema
  • Genstart af en migrering
  • Ændring af en migrering
  • Konklusion

Oprettelse af en migrering

I dette afsnit skal vi oprette en DMS-migrering for at migrere Oracle DB-instansen på RDS til MySQL DB-instansen på RDS. Log ind som den tidligere oprettede IAM-bruger (dvohra eller andet). Vælg DMS service i AWS-konsollen, som vist i figur 1.


Figur 1: DMS-tjeneste i AWS-konsol

Klik på Opret migration , som vist i figur 2.


Figur 2: Opret migrering

AWS Database Migration Service-guiden starter, som vist i figur 3. Klik på Næste på velkomstsiden.


Figur 3: AWS Database Migration Service wizard

Dernæst Opret replikeringsinstans siden vises, som vist i figur 4.


Figur 4: Opret replikeringsinstans

Angiv et replikeringsforekomstnavn, eller behold standardindstillingen, som vist i figur 5. Vælg en forekomstklasse, eller behold standardindstillingen. Vælg en VPC fordi der ikke er konfigureret nogen standard VPC. Vælg Multi-AZ som Nej at bruge en enkelt tilgængelighedszone. Vælg Offentligt tilgængelig mulighed.


Figur 5: Konfiguration af replikeringsinstans

I Avanceret indstillinger, er standardindstillingerne for Allocated Storage, Replicated Subnet Group og Availability zone vist i figur 6.


Figur 6: Avancerede indstillinger

Vælg KMS-hovednøglen som krypteringsnøgle (dms ) oprettet tidligere, som vist i figur 7. Klik på Næste.


Figur 7: Valg af KMS-hovednøgle

Konfigurer derefter databaseendepunkterne til at oprette forbindelse til kilde- og måldatabaseslutpunkter, som vist i figur 8. Databaseendepunkterne kan angives, mens replikeringsforekomsten oprettes. Kilde- og målendepunkterne er konfigureret i separate kolonner mærket Kildedatabaseforbindelsesdetaljer og måldatabaseforbindelsesdetaljer.


Figur 8: Databaseendepunkter

Vælg Kildemotoren fra rullelisten som oracle , som vist i figur 9.


Figur 9: Kildemotor

Vælg Target Engine fra rullelisten som mysql , som vist i figur 10.


Figur 10: Valg af målmotor

For Servernavnet s, specificer endepunkterne for DB-forekomsterne som angivet på RDS-konsollen ved at fjerne suffikset :port. Servernavnet for Oracle DB er orcl.crbmlbxmp8qi.us-east-1.rds.amazonaws.com og servernavnet for MySQL DB er mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com . Porten er angivet separat i Port felt og er 1521 for Oracle-database og 3306 for MySQL-database. Vælg SSL-tilstand som ingen for både kilde- og måldatabaser. Angiv brugernavnet og adgangskoden som masterbrugernavnet og masteradgangskoden, der er konfigureret ved oprettelse af RDS-forekomsterne. Kilde- og målforbindelsesdetaljerne er vist i figur 11.


Figur 11: Kilde- og målforbindelsesdetaljer

Rul ned for at se forbindelsen Avancerede indstillinger. For Oracle Database skal du angive SID'et som vist i figur 12. For MySQL-databasen skal du indstille Ekstra forbindelsesattributter til targetDbType=SPECIFIC_DATABASE . KMS-hovednøglen skal være krypteringsnøglen (dms), der er oprettet som IAM-bruger (dvohra) for DMS.


Figur 12: Forbindelse avancerede indstillinger

Klik på Kør test for hver af databaserne for at teste forbindelsen. Resultatet skulle være Connection testet med succes, som vist i figur 13.


Figur 13: Kør test

Dernæst skal der konfigureres en migreringsopgave, før hvilken replikeringsforekomsten skulle være oprettet, som vist i figur 14.


Figur 14: Replikeringsinstans oprettet

Når du har konfigureret databaseslutpunkterne, skal du klikke på Næste, som vist i figur 15.


Figur 15: Databaseendepunkter konfigureret

I Opgave skal der konfigureres mindst én udvælgelsesregel, ellers oprettes en opgave ikke, som angivet af fejlmeddelelsen, når Opret opgave er klikket (se figur 16).


Figur 16: Der kræves mindst én udvælgelsesregel

Klik på tilføj valgregel link vist i figur 16. Konfigurer en Hvor i detaljerne for valgreglen udvælgelsesregel. Vælg Skema som DVOHRA (skema ville være forskelligt for forskellige brugere) og angiv Tabelnavnet er som som % . I Handling , objekter kan inkluderes eller ekskluderes ved at vælge Medtag eller Ekskluder . Eksklusioner behandles efter inkluderinger. Vælg Handling som Inkluder. Kildefiltre til at begrænse antallet og typen af ​​poster, der overføres fra kilde til mål, kan tilføjes. Klik på Tilføj valgregel , som vist i figur 17. Klik derefter på Opret opgave .


Figur 17: Tilføjelse af en udvælgelsesregel

En ny opgave tilføjes, som vist i figur 18. Opgavestatus er oprindeligt "Opretter".


Figur 18: Ny opgave

Når opgaven bliver oprettet, bliver status Klar , som vist i figur 19.


Figur 19: Opgavestatus som klar

Kørsel af migreringen

Klik på Start/Genoptag for at køre migreringen , som vist i figur 20.


Figur 20: Start/Genoptag

Status bør blive Start (se figur 21).


Figur 21: Opgavestart

Efter start bliver status Kører . Når migreringen er fuldført, bliver status Indlæsning fuldført , som vist i figur 22.


Figur 22: Indlæsning fuldført

Tabelstatistik fanen skal vise de migrerede tabeller, som vist i figur 23.


Figur 23: Tabelstatistik

Forespørgsel efter migreret databaseskema

I MySQL CLI skal du liste databaserne med kommandoen show databases, som vist i figur 24. DVOHRA database (skema) bliver vist.


Figur 24: Listedatabaser

Vælg DVOHRA database med brug DVOHRA kommando. List tabellerne med kommandoen show tables, som vist i figur 25. WEBLOGICLOG og WLSLOG tabeller, der blev oprettet i Oracle-databasen tidligere, er blevet migreret og bliver vist.


Figur 25: Listetabeller

Tabellen bliver også migreret. WEBLOGICLOG tabel har ingen data, og ingen bliver returneret i en SQL-forespørgsel (se figur 26).


Figur 26: SQL-forespørgsel på WEBLOGLOG viser ingen data

Den migrerede WLSLOGtable inkluderer data, som vist ved et forespørgselsresultat i figur 27.


Figur 27: Data i WLSLOG Table er migreret

Genstart af en migrering

Som standard poller migreringen ikke aktivt i kildedatabasen for at migrere eventuelle ændringer. Hvis der foretages ændringer i kildedatabasen, såsom data tilføjes til en tabel, eller der oprettes en ny tabel, skal migreringen køres igen. Som et eksempel kan du tilføje data til weblogicloggen tabel 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');

For at migrere de data, der er tilføjet til MySQL, skal du klikke på Start/Genoptag , som vist i figur 28.


Figur 28: Genstart af en migrering

I Start opgave dialog, er der to muligheder:Start og Genstart , som vist i figur 29. Start option indlæser kun nye tabeller (fuld load) og tabeller, der var ufuldstændige (delvise indlæsninger) i en tidligere kørsel af opgaven.


Figur 29: Start opgave

Fordi WEBLOGICLOG tabel er allerede blevet migreret (fuld load er fuldført), og nye data skal migreres, Genstart mulighed skal vælges, som vist i figur 30.


Figur 30: Genstart af en migrering

Opgavestatus bliver igen Starter efterfulgt af Kører (se figur 31).


Figur 31: Opgavestatus kører

Når opgaven er færdig med at køre, bliver status Load complete , som vist i figur 32.


Figur 32: Indlæsning fuldført

Forespørg på WEBLOGICLOG data i MySQL CLI og de migrerede data bliver opført som vist i figur 33.


Figur 33: Data migreret i genstartsopgave

Ændring af en migrering

En migreringsopgave skal muligvis ændres, f.eks. at tilføje/fjerne en valgregel eller ændre en af ​​de andre opgaveindstillinger. En opgave kan ændres, når den ikke kører, og status er Indlæs færdig. Klik på Rediger for at ændre en opgave, som vist i figur 34.


Figur 34: Rediger

Rediger opgave dialogen starter. Skønt anden migreringstype s er angivet, som vist i figur 35, kan migreringstypen ikke ændres på nuværende tidspunkt. Standardindstillingen er "Migrer eksisterende data."


Figur 35: Rediger opgave

Opgaveindstillinger vist i figur 36 kan modificeres. Klik på Avancerede indstillinger for at ændre avancerede indstillinger.


Figur 36: Opgaveindstillinger

I Avancerede indstillinger, Kontroltabellen indstillingerne kan ændres, som vist i figur 37.


Figur 37: Indstillinger for kontroltabel

Tuning-indstillinger kan modificeres, som vist i figur 38.


Figur 38: Tuning indstillinger

For at tilføje en transformationsregel skal du klikke på tilføj transformationsregel , som vist i figur 39.


Figur 39: Tilføj transformationsregel

I Transformationsregler , vælg Mål for transformationen som Tabel , som vist i figur 40. Vælg Skemanavn er som DVOHRA. Angiv Tabelnavnet er som som % . Vælg Handling som Tilføj præfiks , som et eksempel.


Figur 40: Tilføjelse af transformationsregler

Angiv det tabelpræfiks, der skal tilføjes til hver migreret tabel (se figur 41). Klik på Tilføj transformationsregel .


Figur 41: Tilføj transformationsregel

Klik på Rediger , som vist i figur 42.


Figur 42: Rediger

I Start opgave , vælg Genstart og klik på Start opgave , som vist i figur 43.


Figur 43: Start opgave

Opgavestatus bliver Redigerer , som vist i figur 44.


Figur 44: Ændre

Opgavestatus kan opdateres med opdateringsknappen. Status bliver Kører , som vist i figur 45.


Figur 45: Opgave kører

Når opgaven er færdig med at køre, bliver status Indlæsning fuldført (se figur 46).


Figur 46: Indlæsning fuldført

Lister efterfølgende tabellerne i MySQL. Nye tabeller med et præfiks er angivet, som vist i figur 47.


Figur 47: Tabeller med præfiks

Konklusion

I to artikler diskuterede vi migrering af en Oracle-database på RDS til en MySQL-database på RDS ved hjælp af AWS-databasemigreringstjenesten.


  1. Hvordan vi bruger databaser i vores hverdag

  2. Hvad er SQL? Hvad er en database? Relationelle databasestyringssystemer (RDBMS) forklaret på almindeligt engelsk.

  3. Kør alle SQL-filer i en mappe

  4. Sende et array til en forespørgsel ved hjælp af en WHERE-sætning