Migrazione dei dati tra 2 basi di dati in Oracle 9i
Domanda
Sono nuovo di Oracle. Dal momento che abbiamo riscritto una domanda precedente, dobbiamo migrare i dati dal database in precedenza in Oracle 9i in un nuovo database, anche in 9i, con strutture totalmente differenti. I nomi delle colonne ei tipi sarebbe totalmente diverso. Abbiamo bisogno di mappare le tabelle e le colonne, cerchiamo di esportare più dati possibile, eliminare i duplicati, e riempire i valori vuoti con le impostazioni predefinite.
Ci sono strumenti che possono aiutare nella mappatura degli elementi delle 2 basi di dati, con le regole per gestire i duplicati, e valori di default e la migrazione dei dati?
Grazie,
Chak.
Soluzione
Se il vostro obiettivo è quello di migrare i dati tra due schemi molto diversi, probabilmente avrete bisogno di una soluzione ETL (ETL = E Xtract T ransform L oad).
Un ETL vi permetterà di:
- Selezionare i dati dal database di origine (s) [Estratto]
- applicare la logica di business ai dati selezionati [TRASFORMA] (trattare con i duplicati, i valori di default, le tabelle di origine mappa / colonne con tabelle di destinazione / colonne ...)
- inserire i dati nel nuovo database [Carica]
La maggior parte delle ETL permettono anche una sorta di automatizzazione e reporting dei carichi (male / righe scartati ...)
ETL di Oracle si chiama Oracle Warehouse Builder (OWB). E 'incluso nella licenza del database e si può scaricare dal sito web di Oracle. Come la maggior parte dei prodotti Oracle è potente, ma la curva di apprendimento è un po 'ripida.
Si consiglia di esaminare la [ETL] sezione qui a SO, tra gli altri:
Altri suggerimenti
In molti casi, la creazione di un database link e alcuni script a'la
insert into newtable select distinct foo, bar, 'defaultvalue' from oldtable@olddatabase where xxx
dovrebbe fare il trucco