Mysql
 sql >> Database >  >> RDS >> Mysql

Migra da Oracle a MySQL

Oracle non fornisce un'utilità di scaricamento pronta all'uso.

Tieni presente che senza informazioni complete sul tuo ambiente (versione Oracle? piattaforma server? quanti dati? quali tipi di dati?) tutto qui è YMMV e vorresti provarlo sul tuo sistema per prestazioni e tempi.

I miei punti 1-3 sono solo idee generiche sul movimento dei dati. Il punto 4 è un metodo che ridurrà i tempi di inattività o le interruzioni a minuti o secondi.

1) Sono disponibili utilità di terze parti. Ne ho usati alcuni, ma è meglio che tu li controlli tu stesso per lo scopo previsto. Alcuni prodotti di terze parti sono elencati qui:OraFaq . Sfortunatamente molti di loro funzionano su Windows, il che rallenterebbe il processo di scaricamento dei dati a meno che il tuo server DB non fosse su Windows e tu potessi eseguire l'utilità di caricamento direttamente sul server.

2) Se non si dispone di tipi di dati complessi come i LOB, è possibile eseguire il roll proprio con SQLPLUS. Se hai creato una tabella alla volta, puoi facilmente parallelizzarla. L'argomento è stato visitato su questo sito probabilmente più di una volta, ecco un esempio:Linky

3) Se hai più di 10 g, le tabelle esterne potrebbero essere un modo efficiente per svolgere questo compito. Se crei delle tabelle esterne vuote con la stessa struttura delle tabelle correnti e ci copi i dati, i dati verranno convertiti nel formato tabella esterna (un file di testo). Ancora una volta, OraFAQ al salvataggio .

4) Se è necessario mantenere i sistemi in parallelo per giorni/settimane/mesi, utilizzare uno strumento di acquisizione/applicazione dei dati di modifica per tempi di inattività prossimi allo zero. Preparati a pagare $$$. Ho utilizzato lo strumento di Golden Gate Software in grado di estrarre i registri di ripristino di Oracle e fornire istruzioni di inserimento/aggiornamento a un database MySQL. Puoi migrare la maggior parte dei dati senza tempi di inattività la settimana prima del go-live. Quindi, durante il tuo periodo di inizio, spegni il database di origine, fai in modo che Golden Gate raggiunga le ultime transazioni rimanenti, quindi apri l'accesso al tuo nuovo database di destinazione. L'ho usato per gli aggiornamenti e il periodo di recupero è stato di pochi minuti. Avevamo già le licenze di un sito per Golden Gate, quindi per noi non era niente di tasca nostra.

E interpreterò il ruolo di Cranky DBA qui e dirò che se non riesci a far funzionare bene Oracle, mi piacerebbe vedere un resoconto di come MySQL ha risolto i tuoi problemi particolari. Se hai un'applicazione in cui non puoi toccare l'SQL, ci sono ancora molti modi possibili per ottimizzare Oracle. /portasapone