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.