jueves, 17 de febrero de 2011

Migrando desde Sql Server 2005 Hacia Oracle

Algunos hemos tenido la necesidad de migrar desde Bases de datos de SQL Server hacia Oracle,  cuando son tablas sencillas, bastaría un DTS pero en esquemas más complejos esta opción no es viable, Oracle ha ampliado su herramienta de Oracle SQL developer para incorporar esta  funcionalidad.
Aquí va un pequeño Ejemplo con la base de datos de Sql Server AdventureWorks :).

El primer paso es descargar el sql developer de la página de oracle http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

Luego vamos a necesitar un driver JDBC para SQL Server, lo podemos descargar de la pagina  http://sourceforge.net/projects/jtds/files/jtds/1.2.5/

Despues de abrir el SQL Developer vamos a la opción Preferences del menu Tools


Importamos el driver JDBC de SQL Sever  -

Una vez importado el driver aparecerá en las nuevas conexiones de Bases de Datos, creamos la conexión a SQL SERVER 


y si abrimos la conexión a la base de datos veremos toda la estructura de objetos de SQL SERVER
 
Luego creamos la conexión a Oracle (con el usuario previamente creado) Adventureworks

Asociamos la conexión que acabamos de hacer con el repositorio de migración

El usario de oracle que contendrá el repositorio de migración, debe tener estos permisos y tambien el permiso de "create user" , "create table" , "create procedure"


Una vez otorgados los permisos empezara la creación del respositorio de migración

En la conexión de SqlServer seleccionamos la opción Capturar Microsoft SQL Server
Despues Capturarlo, se genera un modelo de la base de datos de sqlserver y lo podemos convertir a un Modelo Oracle

 Los tipos de datos que migrará

Modelos Convertidos 
Generar Scripts Para Oracle
Elegir el usuario que contiene el Repositorio
Ejecución de Scripts
Despues de Generada la estructura,cargamoslos datos desde sqlserver hacia Oracle
 

Se crean 6 Esquemas en Oracle  que son  similares a los esquemas de sqlserver :

DBO_ADVENTUREWORKS  
HUMANRESOURCES_ADVENTUREWORKS
PERSON_ADVENTUREWORKS
PRODUCTION_ADVENTUREWORKS
PURCHASING_ADVENTUREWORKS
SALES_ADVENTUREWORKS

Aqui está el export para Oracle:

Con Esto terminanos la Migración, algunos procedimientos
no quedan perfectos, pero ayuda en un alto porcentaje ;) 








9 comentarios:

  1. Hola , necesito el adventureworksdw (data warehouse) , lo tendras para exportar , lo quiero pasar a Oracle , saludos

    ResponderEliminar
  2. Hola!
    en este link pudes descargar el mdf de adventureworksdw 2008
    http://www.4shared.com/file/E5wfQ8Jc/AdventureWorksDW2008R2_Data.html
    Recuerda que para incorporarlo a tu base de datos sql server , debes hacerlo con attach_rebuild_log
    para reconstruir el log. :)

    ResponderEliminar
  3. Muchas Gracias , existe una forma de pasar AdventureWorks DW directo a Oracle , asi evitarme instalar windows server y sql server para que funcione bien y luego exportarlo?, gracias saludos

    ResponderEliminar
  4. Hola amigo , he intentado migrar de sql server 2008 a oracle y no puedo instale la version oracle 10g standart , no puedo lograrlo funciona con oracle 11g express , saludos

    ResponderEliminar
  5. Hola!!
    Siempre lo he probado con la version SQL server 2005 hacia oracle y funciona sin problemas, aquí puedes descargar el AdventureWorksDW en un export para oracle http://www.4shared.com/file/JFguCu7-/adventureworksdw.html
    el usuario es dbo_AdventureWorksDW, espero te sirva

    ResponderEliminar
  6. intento capturar el modelo SQL SERVER una vez establecidas las conexiones y creado el repositorio de migracion pero no me hace nada. Cuando ejecuto boton derecho/capturar microsoft sql server no hace nada el Developer. ¿?
    Intento migrar de SQL Server 2008 a oracle usando el developer 2.1.0.63

    gracias

    ResponderEliminar
  7. Hola Coronel!!
    Segun la documentacion de oracle, esto es solo soportado para sql server 7.0 ,2000 y 2005
    con bases de datos Oracle 10 y 11g. :(
    Puedes consultar la parte de supported Migration Platforms
    http://www.oracle.com/technetwork/database/migration/sqlserver-095136.html

    ResponderEliminar
  8. Para descargar todas las versiones de AdventureWorks estan en
    http://msftdbprodsamples.codeplex.com/releases/view/4004

    ResponderEliminar
  9. Hola estoy migrando desde sql server 2010 hacia oracle 10g, pero no he podido lograr la conexion

    ResponderEliminar