Technological recipes that I've held to prepare some solutions DBA environment. (by Felipe Donoso Bastias)

1 Feb 2015

¿Como demonios puedo migrar un esquema Oracle hacia un base de datos SQL SERVER de manera rápida y fácil ?

¿Como  demonios puedo migrar un esquema Oracle hacia un base de datos SQL SERVER de manera rápida y fácil ?




Si se puede y no es tan difícil :p, gracias a la herramienta Sql Server Migration Assistanceo como le diremos ahora SSMA (ojo que es gratuita bueno como no, pues ese es justamente el enganche que hace microsoft para migrar bases de datos de otros proveedores hacia su base de datos sqlserver. Se puede migrar desde DB2, SYBASE y algunos otros más).


En este ejemplo muy básico haremos una pequeña migración de Oracle hacia SQL Server, los medios de instalación se pueden descargar desde los siguientes links:






En este proceso el ejemplo lo hice utilizando una máquina virtual Oracle VirtualBox con un sqlserver 2012 EE y con una instancia de base de datos Oracle 11gR2 dentre del mismo Sistema operativo Windows server 2008 R2.


En este ejemplo migraremos el esquema oracle ORDDATA hacia una base de datos sqlserver llamada del mismo nombre es decir ORDDATA.


El proceso de instalación es muy simple una vez descargado el ejecutable (Usen la instalación típica con esa es suficiente)




Después de terminada abran el ejecutable:


Una vez que se abra la herramienta deberemos crear un nuevo proyecto y para ejemplo dejaremos todo por defecto, eso si fijarse en la opción de Migrate to en donde se debe indicar la versión correcta del motor sql dónde importaremos.


Luego en el meno principal seleccionan la opcion “Connect to sqlserver” para conectarnos a la instancia donde importaremos la data y a continuación ingresamos los datos. Fijarse que crearemos una nueva base de datos llamada ORDDATA


Como la base de datos no existe le diremos que si:


SSMA utiliza el agente de sqlserver para realizar la migación asi que deberan subirlo y luego den continuar:


Podran ver luego la base de datos recién creada:


Luego que ya tenemos nuestro acceso al sqlserver, deberemos crear la otra parte es decir el acceso al motor de base de datos Oracle, seleccionado la opción Connect to oracle y llenando los datos necesarios para conectarnos al esquema ORDDATA el cual migraremos, sugiero usar un usuario con el ROL DBA para conectarnos a la instancia Oracle como por ejemplo el system:


Este proceso demora un poco pues SSMA empieza a cargar tablas y esquemas en al esquina inferior podrán ver el progreso de esta etapa:

Luego Chan Chan!!! podrán ver el esquema a migrar:


Seleccionenlo completo pues en este ejemplo trataremos de migrar todo lo que podamos tablas, secuencias, etc..


Ahora vienen los pasos a ejecutar, como podran ver los pasos secuenciales los pueden ver en la siguiente fotografia (en el menu el orden es desde arriba hacia abajo, es decir partiendo por create report hasta el migrate data)


Luego de esto es necesario analizar que se puede importar y que no y para eso esta la opción create report esto igual toma su tiempo asi que paciencia. En ese reporte podrán ver errores y advertencias que sqlserver muestra que pueden provocar problemas recuerden que no todo puede quedar 100% igual luego de importar.




Bueno sin más rodeos vamos a probar como queda la importación, sugiero en este momento en la parte de la base de datos sqlserver seleccionar la base de datos dónde importaremos para que luego vean el listado de tablas

Luego seleccionamos la opción convert Schema básicamente aquí se generaran los scripts



Luego proseguimos con esta opción para pasar los objetos hacia el sqlserver, de aparecer alguna otra ventana luego de esta opción es solo para indicarnos los objetos que serán creados en este ambiente sqlserver:


Podrán darse cuenta que luego en el management studio del sqlserver los objetos fueron creados pero la tablas estan sin registros (a excepción de algunas tablas propias que usa el SSMA)


Ahora si estamos en posición de migrar, en la parte de Oracle seleccionaremos la opción Migrate Data


Eso requiere de una nueva conexión por lo que pedira nuevamente conectarse a nivel de oracle y de sqlserver


y luego de esto aparecerá el siguiente reporte con información en detalle de los registros migrados en dónde se podrá apreciar aquellos que tuvieron problemas como por ejemplo a causa de tipos de datos incompatibles:




Para revisar los registros migrados pueden ejecutar esta consulta en el management studio:


y eso seria todo, claro la herramienta tiene muchas más opciones pero básicamente y resumidamente esto es lo necesario para migrar, jueguen, investiguen y apliquen estas migraciones con esas herramientas y quedarán como reyes en sus migraciones :p

Hasta la proximaaa :p

Share:

Copyright © DBA TIPS | Powered by Blogger
Design by SimpleWpThemes | Blogger Theme by NewBloggerThemes.com | Free Blogger Templates