sql >> Database >  >> RDS >> Mysql

Migreren van Oracle naar MySQL

Oracle levert geen kant-en-klaar hulpprogramma voor het verwijderen.

Houd er rekening mee dat zonder uitgebreide informatie over uw omgeving (oracle-versie? serverplatform? hoeveel gegevens? welke datatypes?) alles hier YMMV is en dat u het op uw systeem wilt proberen voor prestaties en timing.

Mijn punten 1-3 zijn slechts algemene ideeën voor gegevensverplaatsing. Punt 4 is een methode die de downtime of onderbreking tot minuten of seconden zal terugbrengen.

1) Er zijn hulpprogramma's van derden beschikbaar. Ik heb er een paar gebruikt, maar u kunt ze het beste zelf bekijken voor uw beoogde doel. Een paar producten van derden worden hier vermeld:OraFaq . Helaas draaien veel van hen op Windows, wat het proces voor het verwijderen van gegevens zou vertragen, tenzij uw DB-server op Windows stond en u het laadhulpprogramma rechtstreeks op de server zou kunnen uitvoeren.

2) Als u geen complexe datatypes zoals LOB's heeft, kunt u uw eigen datatypes gebruiken met SQLPLUS. Als je een tabel tegelijk hebt gedaan, kun je deze gemakkelijk parallelliseren. Het onderwerp is op deze site waarschijnlijk meer dan eens bezocht, hier is een voorbeeld:Linky

3) Als u 10g+ bent, kunnen externe tabellen een efficiënte manier zijn om deze taak uit te voeren. Als u enkele lege externe tabellen maakt met dezelfde structuur als uw huidige tabellen en de gegevens ernaar kopieert, worden de gegevens geconverteerd naar het externe tabelformaat (een tekstbestand). Nogmaals, OraFAQ aan de redding .

4) Als u systemen dagen/weken/maanden parallel moet houden, gebruik dan een tool voor het vastleggen/toepassen van wijzigingsgegevens voor vrijwel nul uitvaltijd. Wees bereid om $$$ te betalen. Ik heb de tool van Golden Gate Software gebruikt die de Oracle redo-logs kan ontginnen en insert/update-statements kan leveren aan een MySQL-database. U kunt het grootste deel van de gegevens migreren zonder downtime in de week voordat u live gaat. Sluit vervolgens tijdens uw go-live-periode de brondatabase af, laat Golden Gate de laatste resterende transacties inhalen en open vervolgens de toegang tot uw nieuwe doeldatabase. Ik heb dit gebruikt voor upgrades en de inhaalperiode was slechts een paar minuten. We hadden al een site-licentie voor Golden Gate, dus het was niets uit eigen zak voor ons.

En ik zal hier de rol van Cranky DBA spelen en zeggen dat als u Oracle niet goed kunt laten presteren, ik graag zou zien hoe MySQL uw specifieke problemen heeft opgelost. Als je een applicatie hebt waar je de SQL niet kunt aanraken, zijn er nog veel manieren om Oracle af te stemmen. /soapbox



  1. Vergelijk datums in T-SQL, negeer het tijdsdeel

  2. Sortering op serverniveau van actieve SQL Server-instantie wijzigen

  3. Een database-e-mailprofiel bijwerken in SQL Server (T-SQL)

  4. Voorloopnullen verwijderen uit een veld in een SQL-instructie