sql >> Database >  >> RDS >> Mysql

Een Oracle-database migreren naar MySQL op AWS, deel 2

AWS Database Migration Service (DMS) is een service om databases op AWS te migreren waarin de brondatabase zou kunnen zijn:

  • Een database op AWS (EC2, RDS)
  • Een lokale database
  • Een database op een ander cloudplatform zoals Oracle Cloud Platform

De doeldatabase zou kunnen zijn:

  • Een database op AWS (EC2, RDS, Redshift, DynamoDB)
  • Een lokale database
  • Een database op een ander cloudplatform, zoals Oracle Cloud Platform

Ten minste één van de twee databases, bron en doel, moet op AWS staan. DMS mag bijvoorbeeld niet worden gebruikt om een ​​lokale database naar het Google Cloud-platform te migreren. In twee artikelen bespreken we het migreren van een Oracle-database naar een MySQL-database met Database Migration Service. In een eerder artikel, "Een Oracle-database migreren naar MySQL op AWS, deel 1", bespraken we het opzetten van bron- en doeldatabases. In dit vervolgartikel voeren we de migratie uit. Dit artikel heeft de volgende secties:

  • Een migratie maken
  • De migratie uitvoeren
  • Opvragen van gemigreerd databaseschema
  • Een migratie opnieuw starten
  • Een migratie wijzigen
  • Conclusie

Een migratie maken

In deze sectie zullen we een DMS-migratie maken om de Oracle DB-instance op RDS te migreren naar de MySQL DB-instance op RDS. Log in als de IAM-gebruiker (dvohra of andere) die eerder is aangemaakt. Selecteer het DMS service in de AWS-console, zoals weergegeven in Afbeelding 1.


Figuur 1: DMS-service in AWS-console

Klik op Migratie maken , zoals weergegeven in afbeelding 2.


Figuur 2: Migratie maken

De wizard AWS Database Migration Service wordt gestart, zoals weergegeven in Afbeelding 3. Klik op Volgende op de welkomstpagina.


Figuur 3: Wizard AWS-databasemigratieservice

Vervolgens de Replicatie-instantie maken pagina wordt weergegeven, zoals weergegeven in Afbeelding 4.


Figuur 4: Replicatie-instantie maken

Geef de naam van een replicatie-instantie op of behoud de standaardinstelling, zoals weergegeven in Afbeelding 5. Selecteer een instantieklasse of behoud de standaardinstelling. Selecteer een VPC omdat er geen standaard VPC is geconfigureerd. Selecteer Multi-AZ als Nee om één beschikbaarheidszone te gebruiken. Selecteer de Openbaar toegankelijke optie.


Figuur 5: Replicatie-instantie configureren

In Geavanceerd instellingen, de standaardinstellingen voor toegewezen opslag, gerepliceerde subnetgroep en beschikbaarheidszone worden weergegeven in afbeelding 6.


Figuur 6: Geavanceerde instellingen

Selecteer de KMS-hoofdsleutel als coderingssleutel (dms ) eerder gemaakt, zoals weergegeven in Afbeelding 7. Klik op Volgende.


Figuur 7: KMS-hoofdsleutel selecteren

Configureer vervolgens de database-eindpunten om verbinding te maken met de bron- en doeldatabase-eindpunten, zoals weergegeven in afbeelding 8. De database-eindpunten kunnen worden opgegeven terwijl de replicatie-instantie wordt gemaakt. De bron- en doeleindpunten worden geconfigureerd in afzonderlijke kolommen met de naam Brondatabaseverbindingsdetails en doeldatabaseverbindingsdetails.


Figuur 8: Database-eindpunten

Selecteer de Bronengine uit de vervolgkeuzelijst als orakel , zoals weergegeven in afbeelding 9.


Figuur 9: Bron-engine

Selecteer de Doelengine uit de vervolgkeuzelijst als mysql , zoals weergegeven in afbeelding 10.


Figuur 10: Doel-engine selecteren

Voor de Servernaam s, specificeert u de eindpunten voor de DB-instanties, zoals vermeld op de RDS-console door het achtervoegsel :port te verwijderen. De servernaam voor de Oracle DB is orcl.crbmlbxmp8qi.us-east-1.rds.amazonaws.com en de servernaam voor de MySQL-database is mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com . De poort wordt apart gespecificeerd in de Poort veld en is 1521 voor Oracle-database en 3306 voor MySQL-database. Selecteer SSL-modus als geen voor zowel bron- als doeldatabases. Geef de gebruikersnaam en het wachtwoord op als de hoofdgebruikersnaam en het hoofdwachtwoord die zijn geconfigureerd bij het maken van de RDS-instanties. De details van de bron- en doelverbinding worden weergegeven in Afbeelding 11.


Figuur 11: Bron- en doelverbindingsdetails

Scroll naar beneden voor de verbinding Geavanceerde instellingen. Geef voor Oracle Database de SID op, zoals weergegeven in Afbeelding 12. Stel voor de MySQL-database de Extra verbindingskenmerken in naar targetDbType=SPECIFIC_DATABASE . De KMS-hoofdsleutel moet de coderingssleutel (dms) zijn die is gemaakt als de IAM-gebruiker (dvohra) voor DMS.


Figuur 12: Verbinding geavanceerde instellingen

Klik op Test uitvoeren voor elk van de databases om de verbinding te testen. Het resultaat zou een succesvolle verbindingstest moeten zijn, zoals weergegeven in afbeelding 13.


Figuur 13: Test uitvoeren

Vervolgens moet een migratietaak worden geconfigureerd, waarvoor de replicatie-instantie had moeten zijn gemaakt, zoals weergegeven in Afbeelding 14.


Figuur 14: Replicatie-instantie gemaakt

Klik na het configureren van de database-eindpunten op Volgende, zoals weergegeven in Afbeelding 15.


Figuur 15: Database-eindpunten geconfigureerd

In Taak moet ten minste één selectieregel zijn geconfigureerd, anders wordt een taak niet gemaakt, zoals aangegeven door de foutmelding wanneer Taak maken wordt aangeklikt (zie afbeelding 16).


Figuur 16: Er is minimaal één selectieregel vereist

Klik op de selectieregel toevoegen link weergegeven in Afbeelding 16. Configureer in het detail van de selectieregel een Waar selectie regel. Selecteer Schema als DVOHRA (schema zou voor verschillende gebruikers anders zijn) en specificeer Tabelnaam is als als % . In Actie , objecten kunnen worden opgenomen of uitgesloten door Opnemen te selecteren of Uitsluiten . Uitsluitingen worden verwerkt na insluitsels. Selecteer Actie als Opnemen. Er kunnen bronfilters worden toegevoegd om het aantal en het type records dat van bron naar doel wordt overgedragen te beperken. Klik op Selectieregel toevoegen , zoals weergegeven in Afbeelding 17. Klik vervolgens op Taak maken .


Figuur 17: Een selectieregel toevoegen

Er wordt een nieuwe taak toegevoegd, zoals weergegeven in Afbeelding 18. Aanvankelijk is de taakstatus 'Bezig met maken'.


Figuur 18: Nieuwe taak

Wanneer de taak wordt gemaakt, wordt de status Klaar , zoals weergegeven in Afbeelding 19.


Figuur 19: Taakstatus als gereed

De migratie uitvoeren

Om de migratie uit te voeren, klikt u op Start/Hervatten , zoals weergegeven in Afbeelding 20.


Figuur 20: Start/Hervat

De status moet worden Begind (zie afbeelding 21).


Figuur 21: Taak starten

Na het starten wordt de status Bezig . Wanneer de migratie is voltooid, wordt de status Laden voltooid , zoals weergegeven in Afbeelding 22.


Figuur 22: Laden voltooid

De Tabelstatistieken tabblad moet de gemigreerde tabellen weergeven, zoals weergegeven in Afbeelding 23.


Figuur 23: Tabelstatistieken

Opvragen van gemigreerd databaseschema

Maak in de MySQL CLI een lijst van de databases met de opdracht show databases, zoals weergegeven in Afbeelding 24. De DVOHRA database (schema) wordt weergegeven.


Figuur 24: Databases weergeven

Selecteer de DVOHRA database met de gebruik DVOHRA opdracht. Maak een lijst van de tabellen met het commando show tables, zoals weergegeven in Afbeelding 25. De WEBLOGICLOG en WLSLOG tabellen die eerder in de Oracle-database zijn gemaakt, zijn gemigreerd en worden weergegeven.


Figuur 25: Lijsttabellen

De tabel wordt ook gemigreerd. De WEBLOGICLOG tabel heeft geen gegevens en geen enkele wordt geretourneerd in een SQL-query (zie Afbeelding 26).


Figuur 26: SQL-query op WEBLOGLOG geeft geen gegevens weer

De gemigreerde WLSLOG-tabel bevat gegevens, zoals blijkt uit een zoekresultaat in Afbeelding 27.


Figuur 27: Gegevens in WLSLOG-tabel zijn gemigreerd

Een migratie opnieuw starten

Standaard voert de migratie geen actieve polling uit in de brondatabase om de eventuele wijzigingen te migreren. Als er wijzigingen worden aangebracht in de brondatabase, zoals het toevoegen van gegevens aan een tabel of het maken van een nieuwe tabel, moet de migratie opnieuw worden uitgevoerd. Voeg bijvoorbeeld gegevens toe aan de welogiclog tabel in de Oracle-database.

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

Om de aan MySQL toegevoegde gegevens te migreren, klikt u op Start/Hervatten , zoals weergegeven in Afbeelding 28.


Figuur 28: Een migratie opnieuw starten

In de Taak starten dialoogvenster zijn er twee opties:Start en Herstart , zoals weergegeven in Afbeelding 29. De Start optie laadt alleen nieuwe tabellen (volledige lading) en tabellen die onvolledig waren (gedeeltelijke ladingen) in een eerdere uitvoering van de taak.


Figuur 29: Taak starten

Omdat de WEBLOGICLOG tabel is al gemigreerd (volledige lading is voltooid) en nieuwe gegevens moeten worden gemigreerd, de Herstart optie moet worden geselecteerd, zoals weergegeven in Afbeelding 30.


Figuur 30: Een migratie opnieuw starten

De taakstatus wordt weer Bezig met gevolgd door Rennen (zie afbeelding 31).


Figuur 31: Taakstatus wordt uitgevoerd

Wanneer de taak is voltooid, wordt de status Laden voltooid , zoals weergegeven in Afbeelding 32.


Figuur 32: Laden voltooid

Zoek in de WEBLOGICLOG gegevens in MySQL CLI en de gemigreerde gegevens worden weergegeven, zoals weergegeven in Afbeelding 33.


Figuur 33: Gegevens gemigreerd bij herstarttaak

Een migratie wijzigen

Een migratietaak moet mogelijk worden aangepast, bijvoorbeeld om een ​​selectieregel toe te voegen/te verwijderen of een van de andere taakinstellingen te wijzigen. Een taak kan worden gewijzigd wanneer deze niet actief is en de status Laden voltooid is. Klik op Wijzigen om een ​​taak te wijzigen, zoals weergegeven in Afbeelding 34.


Figuur 34: Wijzigen

De Taak aanpassen dialoog wordt gestart. Hoewel verschillend Migratietype s worden weergegeven, zoals weergegeven in Afbeelding 35, kan het migratietype op dit moment niet worden gewijzigd. De standaardinstelling is "Bestaande gegevens migreren".


Figuur 35: Taak wijzigen

De Taakinstellingen getoond in figuur 36 kan worden gewijzigd. Klik op Geavanceerde instellingen om geavanceerde instellingen te wijzigen.


Figuur 36: Taakinstellingen

In Geavanceerde instellingen, de Bedieningstabel instellingen kunnen worden gewijzigd, zoals weergegeven in Afbeelding 37.


Figuur 37: Instellingen bedieningstafel

De Afstemmingsinstellingen kan worden gewijzigd, zoals weergegeven in Afbeelding 38.


Figuur 38: Afstemmingsinstellingen

Om een ​​transformatieregel toe te voegen, klikt u op transformatieregel toevoegen , zoals weergegeven in Afbeelding 39.


Figuur 39: Transformatieregel toevoegen

In Transformatieregels , selecteer de Doel voor de transformatie als Tabel , zoals weergegeven in Afbeelding 40. Selecteer Schemanaam is als DVOHRA. Specificeer Tabelnaam is als als % . Selecteer Actie als Voorvoegsel toevoegen , als voorbeeld.


Figuur 40: Transformatieregels toevoegen

Geef het tabelvoorvoegsel op dat aan elke gemigreerde tabel moet worden toegevoegd (zie Afbeelding 41). Klik op Transformatieregel toevoegen .


Figuur 41: Transformatieregel toevoegen

Klik op Wijzigen , zoals weergegeven in Afbeelding 42.


Figuur 42: Wijzigen

In Taak starten , selecteer Opnieuw opstarten en klik op Taak starten , zoals weergegeven in Afbeelding 43.


Figuur 43: Taak starten

De taakstatus wordt Aanpassen , zoals weergegeven in Afbeelding 44.


Figuur 44: Aanpassen

De taakstatus kan worden ververst met de refresh-knop. De status wordt Lopend , zoals weergegeven in Afbeelding 45.


Figuur 45: Taak uitvoeren

Wanneer de taak is voltooid, wordt de status Laden voltooid (zie Afbeelding 46).


Figuur 46: Laden voltooid

Vermeld vervolgens de tabellen in MySQL. Nieuwe tabellen met een voorvoegsel worden weergegeven, zoals weergegeven in Afbeelding 47.


Figuur 47: Tabellen met voorvoegsel

Conclusie

In twee artikelen bespraken we het migreren van een Oracle Database op RDS naar een MySQL-database op RDS met behulp van de AWS Database Migration-service.


  1. Een SQL Server Agent-taak verwijderen in Azure Data Studio

  2. Geheugenlimieten in SQL Server 2016 SP1

  3. Een draaitabel maken in PostgreSQL

  4. Impact van de query_post_execution_showplan Extended Event in SQL Server 2012