sql >> Databáze >  >> RDS >> Mysql

Migrujte z Oracle na MySQL

Oracle nedodává přednastavený nástroj pro uvolnění.

Mějte na paměti, že bez komplexních informací o vašem prostředí (verze Oracle? platforma serveru? kolik dat? jaké datové typy?) je zde všechno YMMV a chtěli byste to vyzkoušet na svém systému z hlediska výkonu a načasování.

Moje body 1-3 jsou jen obecné nápady na přesun dat. Bod 4 je metoda, která zkrátí prostoje nebo přerušení na minuty nebo sekundy.

1) K dispozici jsou nástroje třetích stran. Použil jsem několik z nich, ale nejlepší je, když si je pro svůj zamýšlený účel zkontrolujete sami. Zde je uvedeno několik produktů třetích stran:OraFaq . Bohužel mnoho z nich běží na Windows, což by zpomalilo proces stahování dat, pokud by váš DB server nebyl na Windows a nemohli byste spustit nástroj pro načítání přímo na serveru.

2) Pokud nemáte žádné složité datové typy, jako jsou LOB, můžete si vytvořit vlastní pomocí SQLPLUS. Pokud jste vytvořili tabulku najednou, můžete ji snadno paralelizovat. Téma bylo na tomto webu navštíveno pravděpodobně více než jednou, zde je příklad:Linky

3) Pokud máte 10g+, pak mohou být externí stoly účinným způsobem, jak tento úkol splnit. Pokud vytvoříte nějaké prázdné externí tabulky se stejnou strukturou jako vaše aktuální tabulky a zkopírujete do nich data, budou data převedena do formátu externí tabulky (textový soubor). Ještě jednou, OraFAQ na záchranu .

4) Pokud musíte udržovat systémy paralelně po dobu dnů/týdnů/měsíců, použijte nástroj pro sběr/aplikaci změn dat pro téměř nulové prostoje. Buďte připraveni zaplatit $$$. Použil jsem nástroj Golden Gate Software, který dokáže těžit redo logy Oracle a dodávat příkazy pro vložení/aktualizaci do databáze MySQL. Týden před uvedením do provozu můžete migrovat většinu dat bez prostojů. Poté během období aktivace vypněte zdrojovou databázi, nechte Golden Gate dohnat poslední zbývající transakce a poté otevřete přístup ke své nové cílové databázi. Použil jsem to pro upgrady a doba dohánění byla jen několik minut. Už jsme měli licence na stránky pro Golden Gate, takže to pro nás nebylo nic z kapsy.

A já zde budu hrát roli Crankyho DBA a řeknu, že pokud se vám nepodaří zajistit dobrý výkon Oracle, rád bych viděl, jak MySQL vyřešilo vaše konkrétní problémy. Pokud máte aplikaci, kde se nemůžete dotknout SQL, stále existuje spousta možných způsobů, jak vyladit Oracle. /mýdelna



  1. Váš dokonalý průvodce SQL Join:INNER JOIN – Část 1

  2. Význam MySQL INT

  3. @BatchSize chytré nebo hloupé použití?

  4. Kdy se výkon Distinct a Group By liší?