Sei sulla pagina 1di 15

Arturo Tocarruncho T Copyright 2009 zonaoracle.

com 1



SQL Developer - Migrar una BD MYSQL a Oracle








Por:
Arturo Tocarruncho T
MsC OCP DBA
ZonaOracle.com
Enero-2009






Este documento busca servir de guia para realizar de manera muy sencilla una migracion de Una
BD MySQl a Oracle; sin embargo, puede ser tenido en cuenta para migrar desde otras fuentes
distintas de MySQL. Espero que sea del agrado del lector.









Ingredientes:
Oracle SQL Developer
www.oracle.com/technology/products/database/sql_developer/index.html
http://www.oracle.com/technology/software/products/sql/index.html

Drivers JDBC de MySQL
http://www.mysql.com/products/connector/j/
http://dev.mysql.com/downloads/connector/j/5.1.html


Arturo Tocarruncho T Copyright 2009 zonaoracle.com 2
Preparacin:

Descargue los Ingredientes:
Descargue SQL Developer de la url indicada.

Descargue el Driver JDBC de MYSQL de la url indicada, descomprima el Zip y coloque el archivo
mysql-connector-java-5.1.7-bin.jar en un directorio, digamos c:\drivers


Cree un usuario en la BD Oracle

Es en este usuario, donde almacenar el repositorio de migracin, es decir, informacin de los
objetos a migrar junto con sus propiedades. Es recomendable que este usuario no sea un usuario ya
existente, ya que podra tener objetos que eventualmente pudieran ser modificados tras el proceso
de migracin.

Por consiguiente, para la creacin de dicho usuario necesitamos el siguiente script

create user usuarioMigracion identified by clave;

grant connect, resource to usuarioMigracion with admin option;

grant create view to usuarioMigracion with admin option;

grant create role to usuarioMigracion;

grant create user to usuarioMigracion with admin option

grant create trigger to usuarioMigracion;

grant create session to usuarioMigracion with admin option



Cree una Conexin a la BD Oracle

En el panel de conexiones Connections Nueva Conexin (Botn secundario del mouse) y establezca
los valores correspondientes para username, password, hostname, port, y SID

Testear, y grabar la configuracin de conexin.

Arturo Tocarruncho T Copyright 2009 zonaoracle.com 3

Fig 1. Configuracin conexin Oracle

Con la nueva conexin establecida, (usando el botn secundario del mouse) click en migration
repository/ associate migration repository


Registre el Driver MySQL en Oracle SQL Developer
Como es bien sabido, SQL Developer nos permite interactuar con otras BD como Access, MySQL,
SQLServer. siempre y cuando se encuentren registrados en SQL Developer, los correspondientes
drivers JDBC de conexin a la respectiva BD.

Para este caso, se necesitar registrar el driver MySQL, lo cual se puede conseguir seleccionando la
opcin Tools y luego Preferences, en SQL Developer

Como lo muestra la Fig 2, desde preferencias se registra el driver de MYSQL en la opcin
Database / Third Party JDBC Drivers. Basta con clickear el botn add Entry y seleccionar el
driver Ingrediente en la ubicacin c:\drivers (Figs 3 y 4)

Arturo Tocarruncho T Copyright 2009 zonaoracle.com 4

Fig 2. Adicin de driver MySQL



Fig 3. Seleccin del driver MySQL


Arturo Tocarruncho T Copyright 2009 zonaoracle.com 5

Fig 4. Lista de Drivers registrados


Cree una conexin a la BD MySQL
Ahora que ha incorporado el conector jdbc, podr crear una conexin a la BD MYSQL que desea
migrar. Simplemente basta indicar en la ventana de configuracin de la conexin los parmetros:
Usuario y contrasea de acceso a mysql, nombre del host, puerto (3306 por defecto) e indicar la
base de datos en Mysql, Probar, y Guardar. Para el ejemplo, se ha llamado dicha conexin
ConexionOrigenMySQL


Arturo Tocarruncho T Copyright 2009 zonaoracle.com 6

Fig 5. ventana configuracin conexin a MySQL

Ahora puede desplegar la conexin y explorar los objetos en dicha BD desde MYSQL.

Capturar info de MYSQL
Ahora que se tienen las dos conexiones, se procede a capturar la informacin de la BD MYSQL, es
decir, recoger la informacin de la metadata e MYSQL sobre los distintos objetos: triggers, vistas,
tablas, ndices,


Arturo Tocarruncho T Copyright 2009 zonaoracle.com 7
Fig 6. Inicio captura de BD

Eventualmente si no estuviera abierta la conexin al repositorio (esquema usuarioMigracion), se
tendra el error que aparece en la Fig 7. Para solucionar esto desde el inicio del proceso, puede
indicar, en el momento de configurar la conexin, que la contrasea sea guardada.


Fig 7. Advertencia de conexin al repositorio


Ahora, simplemente esperar a que termine el proceso de captura de la BD (Fig 8)


Fig 8. Fin Proceso Captura de BD MySQL

En la pestaa Captured Models, ya se puede ver entonces la informacin sobre la metadata de
MySQL


Fig 9. Modelos Capturados en el repositorio
Arturo Tocarruncho T Copyright 2009 zonaoracle.com 8
Convertir a un Modelo Oracle

El siguiente paso entonces es pedirle a Oracle SQL Developer que me transcriba esa metadata a un
Modelo propio de Oracle; es decir, entre otras cosas:

Conversin de tipos de datos
Gestin de secuencias cuando encuentre campos autonumricos en MYSQL
Reescritura de procedimientos
Y otros

Para nuestro, haremos la conversin de la bd drupsmf (simplemente una de las BD que tenia en
mysql), clickeando la opcin Convert to Oracle Model, botn secundario del mouse Fig 10.


Fig 10. Men Convertir a Oracle

A continuacin podr, si as lo desea, personalizar la conversin de los tipos de datos. Por defecto,
SQL Developer seala una tabla de conversin, la cual es susceptible de cambio, de acuerdo a los
datos que se estn migrando y a la intencin del experto que la esta realizando Fig 11. La fig 12
Seala que el proceso de conversin ha finalizado, con el respectivo log de sucesos.

Arturo Tocarruncho T Copyright 2009 zonaoracle.com 9

Fig 11. Mapeo de tipos de datos



Fig 12. Fin Proceso de conversin de modelo MySQL a modelo Oracle

Perfecto, hasta aqu hemos ledo la BD Externa (MySQL), hemos ledo la metadata y se ha
convertido a una estructura Oracle. nicamente falta implementarla


Generar los Scripts de Migracin (Migrar Estructura)
Bien, una vez se ha convertido a un modelo Oracle, se puede apreciar en la pestaa Converted
Models, la definicin de los distintos objetos (tablas, vistas, ndices) con las caractersticas del
motor Oracle. Ahora es hora de generar el script para la creacin real de los elementos. Seleccione
Arturo Tocarruncho T Copyright 2009 zonaoracle.com 10
la opcin generate, botn secundario del mouse Fig 13, y se generar el script de creacin de los
objetos (DDL) Fig 14. Como puede notarse en la imagen, oracle crea objetos tipo secuencia para
resolver los campos incrementales que tiene MySQL.



Fig 13. Generacin del Script de creacin de usuario DDL de objetos



Fig 14. Script de Creacin generado


Seleccionar el contenido del script y click en Run Script (Fig 15)
Tambin puede verse en la imagen, que el script se inicia con la creacin de un usuario (para
nuestro ejemplo el usuario drupsmf), seguido de grants a los permisos de connect, resource, entre
otros.


Arturo Tocarruncho T Copyright 2009 zonaoracle.com 11

Fig 15. Ejecucin de Script (Seleccin de script)



Fig 16. Ejecucin de Script (Seleccin de conexin repositorio)

La Fig 17, seala la salida del script de creacin del Modelo, el cual por supuesto puede ser
susceptible de errores, dependiendo de:

El mapeo de datos realizado
privilegios otorgados al usuario usuarioMigracion



Arturo Tocarruncho T Copyright 2009 zonaoracle.com 12

Fig 17. Resultados Creacin Objetos

Si todo te ha salido bien, entonces hasta ac tienes migrada la estructura de la BD MySQL en
Oracle, faltando slo migrar los datos. Para ello, ser necesario crear una nueva conexin en SQL
Developer al usuario donde se cre la estructura (drupsmf, para nuestro ejemplo), probar y guardar,
listo. Dicha conexin la llamaremos EsquemaDestino.


Arturo Tocarruncho T Copyright 2009 zonaoracle.com 13

Fig 18. Creacin de conexin al esquema Destino en Oracle


Se verifican ahora las tres conexiones sealadas.


Fig 19. Lista de conexiones


Migrar Datos
El ltimo escaln, men Migration opcin Migrate data, permite configurar tanto la fuente de
datos origen (nuestra bd MySQL), el esquema Destino en Oracle, y el Modelo Oracle (Fig 20).


Arturo Tocarruncho T Copyright 2009 zonaoracle.com 14

Fig 20. Configuracin de orgenes y destinos para copiado de DATOS

Ahora, espera que el proceso de copiado de datos finalice (Fig 21). La imagen muestra adems el
nmero de filas copiadas al esquema Destino y la ocurrencia de errores en el copiado.



Fig 21.Progreso Copiado de Datos


Finalmente, podremos ver tanto los objetos migrados como su contenido en el navegador de
conexiones, desplegando o abriendo la conexin al esquema destino (Fig 22)

Arturo Tocarruncho T Copyright 2009 zonaoracle.com 15

Fig 22. Verificacin datos migrados


Conclusiones
Bajo Costo: Tanto Oracle SQL Developer, como el driver jdbc de MySQL son de distribucin libre
Sencillez: El proceso es realmente simple, aunque requiere de mucha atencin.
Proceso de migracin intuitivo


Mas informacin:
http://download.oracle.com/docs/cd/E12151_01/doc.150/e12152/toc.htm
http://www.oracle.com/technology/software/products/sql/index.html

Potrebbero piacerti anche