AWS Database Migration Service (DMS) je služba pro migraci databází na AWS, ve které by zdrojová databáze mohla být:
- Databáze na AWS (EC2,RDS)
- Místní databáze
- Databáze na jiné cloudové platformě, jako je Oracle Cloud Platform
Cílová databáze může být:
- Databáze na AWS (EC2, RDS, Redshift, DynamoDB)
- Místní databáze
- Databáze na jiné cloudové platformě, jako je Oracle Cloud Platform
Alespoň jedna ze dvou databází, zdrojová a cílová, musí být na AWS. Například DMS nelze použít k migraci místní databáze na platformu Google Cloud. Ve dvou článcích diskutujeme o migraci databáze Oracle na databázi MySQL pomocí služby Database Migration Service. V dřívějším článku „Migrace databáze Oracle do MySQL na AWS, část 1“ jsme diskutovali o nastavení zdrojových a cílových databází. V tomto pokračování článku provedeme migraci. Tento článek má následující sekce:
- Vytvoření migrace
- Spuštění migrace
- Dotaz na schéma migrované databáze
- Restartování migrace
- Úprava migrace
- Závěr
Vytvoření migrace
V této části vytvoříme migraci DMS pro migraci instance Oracle DB na RDS do instance MySQL DB na RDS. Přihlaste se jako uživatel IAM (dvohra nebo jiný) vytvořený dříve. Vyberte DMS služby v konzole AWS, jak je znázorněno na obrázku 1.
Obrázek 1: Služba DMS v konzole AWS
Klikněte na Vytvořit migraci , jak je znázorněno na obrázku 2.
Obrázek 2: Vytvořit migraci
Spustí se průvodce službou migrace databáze AWS, jak je znázorněno na obrázku 3. Na úvodní stránce klikněte na Další.
Obrázek 3: Průvodce službou migrace databáze AWS
Dále Vytvořit instanci replikace se zobrazí stránka, jak je znázorněno na obrázku 4.
Obrázek 4: Vytvořit instanci replikace
Zadejte název instance replikace nebo ponechte výchozí nastavení, jak je znázorněno na obrázku 5. Vyberte třídu instance nebo ponechte výchozí nastavení. Vyberte VPC protože není nakonfigurováno žádné výchozí VPC. Vyberte Multi-AZ jako Ne používat jednu zónu dostupnosti. Vyberte možnost Veřejně přístupné možnost.
Obrázek 5: Konfigurace instance replikace
V Pokročilé výchozí nastavení pro přidělené úložiště, skupinu replikovaných podsítí a zónu dostupnosti jsou znázorněna na obrázku 6.
Obrázek 6: Pokročilá nastavení
Jako šifrovací klíč vyberte hlavní klíč KMS (dms ) vytvořené dříve, jak je znázorněno na obrázku 7. Klepněte na tlačítko Další.
Obrázek 7: Výběr hlavního klíče KMS
Dále nakonfigurujte koncové body databáze pro připojení ke zdrojovým a cílovým koncovým bodům databáze, jak je znázorněno na obrázku 8. Koncové body databáze lze zadat při vytváření instance replikace. Zdrojové a cílové koncové body jsou nakonfigurovány v samostatných sloupcích označených Podrobnosti o připojení ke zdrojové databázi a Podrobnosti o připojení k cílové databázi.
Obrázek 8: Koncové body databáze
Vyberte Zdrojový modul z rozevíracího seznamu jako oracle , jak je znázorněno na obrázku 9.
Obrázek 9: Zdrojový engine
Vyberte Cílový vyhledávač z rozevíracího seznamu jako mysql , jak je znázorněno na obrázku 10.
Obrázek 10: Výběr cílového vyhledávače
Pro Název serveru s, určete koncové body pro instance DB, jak jsou uvedeny v konzole RDS odstraněním přípony :port. Název serveru pro Oracle DB je orcl.crbmlbxmp8qi.us-east-1.rds.amazonaws.com a název serveru pro databázi MySQL je mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com . Port je specifikován samostatně v Port pole a je 1521 pro databázi Oracle a 3306 pro databázi MySQL. Vyberte Režim SSL jako žádný pro zdrojovou i cílovou databázi. Zadejte uživatelské jméno a heslo jako hlavní uživatelské jméno a hlavní heslo nakonfigurované při vytváření instancí RDS. Podrobnosti o zdrojovém a cílovém připojení jsou zobrazeny na obrázku 11.
Obrázek 11: Podrobnosti zdroje a cílového připojení
Přejděte dolů a vyhledejte připojení Pokročilá nastavení. Pro databázi Oracle zadejte SID, jak je znázorněno na obrázku 12. Pro databázi MySQL nastavte Atributy připojení navíc na targetDbType=SPECIFIC_DATABASE . Hlavní klíč KMS musí být šifrovací klíč (dms) vytvořený jako uživatel IAM (dvohra) pro DMS.
Obrázek 12: Pokročilá nastavení připojení
Klikněte na Spustit test pro každou z databází otestovat připojení. Výsledkem by mělo být úspěšné otestování připojení, jak ukazuje obrázek 13.
Obrázek 13: Spustit test
Dále je třeba nakonfigurovat úlohu migrace, před kterou by měla být vytvořena instance replikace, jak ukazuje obrázek 14.
Obrázek 14: Vytvořena instance replikace
Po konfiguraci koncových bodů databáze klikněte na Další, jak je znázorněno na obrázku 15.
Obrázek 15: Koncové body databáze nakonfigurovány
V Úkolu musí být nakonfigurováno alespoň jedno pravidlo výběru, jinak se úkol nevytvoří, jak ukazuje chybová zpráva při Vytvořit úkol (viz obrázek 16).
Obrázek 16: Je vyžadováno alespoň jedno pravidlo výběru
Klikněte na přidat pravidlo výběru odkaz zobrazený na obrázku 16. V detailu pravidla výběru nakonfigurujte Kde pravidlo výběru. Vyberte Schéma jako DVOHRA (schéma by se pro různé uživatele lišilo) a zadejte Název tabulky je podobný jako % . V Akci , objekty lze zahrnout nebo vyloučit výběrem Zahrnout nebo Vyloučit . Vyloučení se zpracovávají po zařazení. Vyberte možnost Akce jako Zahrnout. Mohou být přidány zdrojové filtry pro omezení počtu a typu záznamů přenášených ze zdroje do cíle. Klikněte na Přidat pravidlo výběru , jak je znázorněno na obrázku 17. Následně klikněte na Vytvořit úlohu .
Obrázek 17: Přidání pravidla výběru
Bude přidán nový úkol, jak je znázorněno na obrázku 18. Zpočátku je stav úkolu „Vytváří se“.
Obrázek 18: Nový úkol
Po vytvoření úkolu se stav změní na Připraveno , jak je znázorněno na obrázku 19.
Obrázek 19: Stav úlohy jako připraven
Spuštění migrace
Chcete-li spustit migraci, klikněte na Spustit/Pokračovat , jak je znázorněno na obrázku 20.
Obrázek 20: Start/Resume
Stav by měl být Spouštění (viz obrázek 21).
Obrázek 21: Spouštění úlohy
Po spuštění se stav změní na Spuštěno . Po dokončení migrace se stav změní na Načítání dokončeno , jak je znázorněno na obrázku 22.
Obrázek 22: Načítání dokončeno
Tabulkové statistiky tab by měla obsahovat seznam migrovaných tabulek, jak je znázorněno na obrázku 23.
Obrázek 23: Statistika tabulky
Dotaz na schéma migrované databáze
V MySQL CLI zadejte seznam databází pomocí příkazu show databases, jak je znázorněno na obrázku 24. DVOHRA databáze (schéma) bude uvedena.
Obrázek 24: Výpis databází
Vyberte DVOHRA databáze s použitím DVOHRA příkaz. Vypište tabulky pomocí příkazu show tables, jak je znázorněno na obrázku 25. WEBLOGICLOG a WLSLOG tabulky, které byly dříve vytvořeny v databázi Oracle, byly migrovány a jsou uvedeny.
Obrázek 25: Výpisové tabulky
Stůl se také migruje. WEBLOGICLOG tabulka neobsahuje žádná data a žádná se nevracejí v dotazu SQL (viz obrázek 26).
Obrázek 26: SQL Query na WEBLOGLOG neuvádí žádná data
Migrovaná tabulka WLSLOG obsahuje data, jak ukazuje výsledek dotazu na obrázku 27.
Obrázek 27: Data v tabulce WLSLOG jsou migrována
Restartování migrace
Ve výchozím nastavení migrace neprovádí aktivní dotazování ve zdrojové databázi za účelem migrace změn, pokud existují. Pokud jsou ve zdrojové databázi provedeny nějaké úpravy, například jsou přidána data do tabulky nebo vytvořena nová tabulka, je nutné migraci spustit znovu. Jako příklad přidejte data do weblogiclog tabulky v databázi 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');
Chcete-li migrovat data přidaná do MySQL, klikněte na Start/Pokračovat , jak je znázorněno na obrázku 28.
Obrázek 28: Restartování migrace
V části Spustit úlohu V dialogovém okně jsou k dispozici dvě možnosti:Start a Restartovat , jak je znázorněno na obrázku 29. Tlačítko Start volba načte pouze nové tabulky (plné načtení) a tabulky, které byly neúplné (částečné načtení) při předchozím spuštění úlohy.
Obrázek 29: Spustit úlohu
Protože WEBLOGICLOG tabulka již byla migrována (úplné načtení je dokončeno) a je třeba migrovat nová data, Restartovat je třeba vybrat možnost, jak je znázorněno na obrázku 30.
Obrázek 30: Restartování migrace
Stav úlohy se opět změní na Spouštění následuje Spuštěno (viz obrázek 31).
Obrázek 31: Stav úlohy běží
Po dokončení úlohy se stav změní na Načítání dokončeno , jak je znázorněno na obrázku 32.
Obrázek 32: Načítání dokončeno
Dotaz na WEBLOGICLOG data v MySQL CLI a migrovaná data se zobrazí, jak je znázorněno na obrázku 33.
Obrázek 33: Data migrována při restartování úlohy
Úprava migrace
Úlohu migrace může být nutné upravit, například přidat/odebrat pravidlo výběru nebo upravit jedno z dalších nastavení úlohy. Úlohu lze upravit, když není spuštěna a stav je Načítání dokončeno. Klikněte na Upravit pro úpravu úlohy, jak je znázorněno na obrázku 34.
Obrázek 34: Upravit
Úloha Upravit spustí se dialog. I když jiný Typ migrace s jsou uvedeny, jak je znázorněno na obrázku 35, typ migrace nelze v tuto chvíli upravit. Výchozí nastavení je „Migrovat existující data.“
Obrázek 35: Upravit úkol
Nastavení úlohy znázorněné na obrázku 36 mohou být upraveny. Klikněte na Pokročilá nastavení pro úpravu pokročilých nastavení.
Obrázek 36: Nastavení úkolu
V Pokročilém nastavení Tabulka ovládání nastavení lze upravit, jak je znázorněno na obrázku 37.
Obrázek 37: Nastavení řídicí tabulky
Nastavení ladění lze upravit, jak je znázorněno na obrázku 38.
Obrázek 38: Nastavení ladění
Chcete-li přidat pravidlo transformace, klikněte na možnost přidat pravidlo transformace , jak je znázorněno na obrázku 39.
Obrázek 39: Přidat pravidlo transformace
V části Transformační pravidla , vyberte Cíl pro transformaci jako tabulku , jak je znázorněno na obrázku 40. Vyberte Název schématu je jako DVOHRA. Zadejte Název tabulky je podobný jako % . Vyberte Akce jako Přidat předponu , jako příklad.
Obrázek 40: Přidání pravidel transformace
Zadejte předponu tabulky, kterou chcete přidat do každé migrované tabulky (viz Obrázek 41). Klikněte na Přidat pravidlo transformace .
Obrázek 41: Přidat pravidlo transformace
Klikněte na Upravit , jak je znázorněno na obrázku 42.
Obrázek 42: Upravit
V části Spustit úlohu , vyberte možnost Restartovat a klikněte na Spustit úlohu , jak je znázorněno na obrázku 43.
Obrázek 43: Spustit úlohu
Stav úkolu se změní na Upravování , jak je znázorněno na obrázku 44.
Obrázek 44: Úprava
Stav úlohy lze obnovit pomocí tlačítka aktualizace. Stav se změní na Spuštěno , jak je znázorněno na obrázku 45.
Obrázek 45: Spuštění úlohy
Po dokončení úlohy se stav změní na Načítání dokončeno (viz obrázek 46).
Obrázek 46: Načítání dokončeno
Následně vypište tabulky v MySQL. Zobrazí se seznam nových tabulek s předponou, jak ukazuje Obrázek 47.
Obrázek 47: Tabulky s prefixem
Závěr
Ve dvou článcích jsme diskutovali o migraci databáze Oracle na RDS do databáze MySQL na RDS pomocí služby AWS Database Migration.