Guía de migración: Oracle a SQL Server en Azure Virtual Machines

Se aplica a:Azure SQL Database

En esta guía se explica cómo migrar los esquemas de Oracle a SQL Server en Azure Virtual Machines mediante SQL Server Migration Assistant para Oracle.

Para ver otras guías de migración, consulte Migración de bases de datos.

Requisitos previos

Para migrar el esquema de Oracle a SQL Server en Azure Virtual Machines, necesita:

Antes de la migración

Para preparar la migración a la nube, compruebe que el entorno de origen es compatible y que cumple los requisitos previos. Esto le va a ayudar a garantizar una migración correcta y eficaz.

Esta parte del proceso conlleva:

  • Realizar un inventario de las bases de datos que se necesita migrar.
  • Evaluar esas bases de datos para detectar posibles problemas u obstáculos de migración.
  • Resolver los problemas detectados.

Descubra

Use MAP Toolkit para identificar orígenes de datos existentes y detalles sobre las características que usa la empresa. Esto le va a ayudar a entender mejor la migración y a planearla. Este proceso conlleva examinar la red para identificar las instancias de Oracle de la organización y las versiones y las características que se usan.

Para usar MAP Toolkit para hacer un examen de inventario, siga estos pasos:

  1. Abra MAP Toolkit.

  2. Seleccione Create/Select database (Crear o seleccionar base de datos):

    Screenshot that shows the Create/Select database option.

  3. Seleccione Create an inventory database (Crear una base de datos de inventario). Escriba el nombre para la nueva base de datos de inventario y una breve descripción; después, seleccione Aceptar.

    Screenshot that shows the interface for creating an inventory database.

  4. Seleccione Collect inventory data (Recopilar datos de inventario) para abrir Inventory and Assessment Wizard (Asistente para el inventario y evaluación):

    Screenshot that shows the Collect inventory data link.

  5. En Inventory and Assessment Wizard (Asistente para el inventario y la evaluación), seleccione Oracle y luego Next (Siguiente):

    Screenshot that shows the Inventory Scenarios page of the Inventory and Assessment Wizard.

  6. Seleccione la opción de búsqueda de equipos que mejor se adapte a su entorno y a sus necesidades empresariales y luego seleccione Next (Siguiente):

    Screenshot that shows the Discovery Methods page of the Inventory and Assessment Wizard.

  7. Escriba las credenciales o cree unas nuevas para los sistemas que quiera explorar y, a continuación, seleccione Next (Siguiente):

    Screenshot that shows the All Computers Credentials page of the Inventory and Assessment Wizard.

  8. Establezca el orden de las credenciales y, a continuación, seleccione Next (Siguiente):

    Screenshot that shows the Credentials Order page of the Inventory and Assessment Wizard.

  9. Especifique las credenciales de cada equipo que quiera detectar. Puede usar unas credenciales únicas para cada equipo o máquina o bien la lista de credenciales de todos los equipos.

    Screenshot that shows the Specify Computers and Credentials page of the Inventory and Assessment Wizard.

  10. Compruebe las selecciones y seleccione Finish (Finalizar):

    Screenshot that shows the Summary page of the Inventory and Assessment Wizard.

  11. Una vez completado el examen, vea el resumen Data Collection (Recopilación de datos). El examen puede tardar unos minutos, en función del número de bases de datos. Seleccione Close (Cerrar) cuando haya terminado:

    Screenshot that shows the Data Collection summary.

  12. Seleccione Options (Opciones) para generar un informe sobre la evaluación de Oracle y los detalles de la base de datos. Seleccione ambas opciones, una a una, para generar el informe.

Evaluar

Después de identificar los orígenes de datos, use SQL Server Migration Assistant para Oracle para evaluar las instancias de Oracle que se van a migrar a la VM con SQL Server. El asistente le ayuda a entender las diferencias entre las bases de datos de origen y de destino. Puede revisar los datos y los objetos de base de datos, evaluar las bases de datos para la migración, migrar objetos de base de datos a SQL Server y luego migrar datos a SQL Server.

Para crear una evaluación, siga estos pasos:

  1. Abra SQL Server Migration Assistant para Oracle.

  2. En el menú Archivo, seleccione Nuevo proyecto.

  3. Facilite un nombre de proyecto y una ubicación para el proyecto y seleccione un destino de migración de SQL Server en la lista. Seleccione OK (Aceptar):

    Screenshot that shows the New Project dialog box.

  4. Seleccione Connect to Oracle (Conectarse a Oracle). Escriba los valores de la conexión de Oracle en el cuadro de diálogo Conectarse a Oracle:

    Screenshot that shows the Connect to Oracle dialog box.

    Seleccione los esquemas de Oracle que quiere migrar:

    Screenshot that shows the list of Oracle schemas that can be migrated.

  5. En Explorador de metadatos de Oracle, haga clic con el botón derecho en el esquema de Oracle que quiere migrar y seleccione Crear informe. Se genera un informe HTML. También puede seleccionar la base de datos y luego Crear informe en el menú superior.

    Screenshot that shows how to create a report.

  6. Revise el informe HTML para ver las estadísticas de conversión, los errores y las advertencias. Analícelo para entender los problemas de conversión y las soluciones.

    También puede abrir el informe en Excel para obtener un inventario de objetos de Oracle y conocer el esfuerzo necesario para realizar las conversiones de esquema. La ubicación predeterminada del informe es la carpeta de informes de SSMAProjects.

    Por ejemplo: drive:\<username>\Documents\SSMAProjects\MyOracleMigration\report\report_2016_11_12T02_47_55\

    Screenshot that shows a conversion report.

Validación de los tipos de datos

Valide las asignaciones predeterminadas de los tipos de datos y cámbielas según los requisitos, si fuera necesario. Para hacerlo, siga estos pasos:

  1. En el menú Herramientas, seleccione Configuración del proyecto.

  2. Seleccione la pestaña Asignación de tipo.

    Screenshot that shows the Type Mappings tab.

  3. Puede cambiar la asignación de tipo de cada tabla si selecciona la tabla en Explorador de metadatos de Oracle.

Conversión del esquema

Para convertir el esquema, siga estos pasos:

  1. (Opcional) Para convertir consultas dinámicas o ad hoc, haga clic con el botón derecho en el nodo y seleccione Agregar instrucción.

  2. Seleccione Conectarse a SQL Server en el menú superior.

    1. Escriba los detalles de la conexión de SQL Server en Azure VM.
    2. Seleccione la base de datos de destino en la lista o proporcione un nombre nuevo. Si facilita un nombre nuevo, se crea una base de datos en el servidor de destino.
    3. Proporcione los detalles de la autenticación.
    4. Seleccione Conectar.

    Screenshot that shows how to connect to SQL Server.

  3. Haga clic con el botón derecho en el esquema de Oracle en Explorador de metadatos de Oracle y seleccione Convertir esquema. También puede seleccionar Convertir esquema en el menú superior:

    Screenshot that shows how to convert the schema.

  4. Una vez completada la conversión del esquema, revise los objetos convertidos y compárelos con los originales para identificar posibles problemas. Use las recomendaciones para solucionar cualquier problema:

    Screenshot that shows a comparison of two schemas.

    Compare el texto de Transact-SQL convertido al código original y revise las recomendaciones:

    Screenshot that shows Transact-SQL, stored procedures, and a warning.

    Puede guardar el proyecto localmente para un ejercicio de corrección de esquema sin conexión. Para ello, seleccione Guardar proyecto en el menú Archivo. Guardar el proyecto en local le permite evaluar los esquemas de origen y de destino sin conexión y hacer correcciones antes de publicar el esquema en SQL Server.

  5. Seleccione Revisar resultados en el panel Salida y revise los errores en el panel Lista de errores.

  6. Guarde el proyecto localmente para un ejercicio de corrección de esquema sin conexión. Seleccione Guardar proyecto en el menú Archivo. Esto le ofrece la oportunidad de evaluar los esquemas de origen y de destino sin conexión y de hacer correcciones antes de publicar el esquema en SQL Server en Azure Virtual Machines.

Migrar

Una vez aplicados los requisitos previos necesarios y completadas las tareas asociadas a la fase de premigración, está listo para iniciar la migración del esquema y los datos. La migración conlleva dos pasos: publicar el esquema y migrar los datos.

Para publicar el esquema y migrar los datos, siga estos pasos:

  1. Publique el esquema: haga clic con el botón derecho en la base de datos en Explorador de metadatos de SQL Server y seleccione Sincronizar con base de datos. Al hacerlo, se publica el esquema de Oracle en SQL Server en Azure Virtual Machines.

    Screenshot that shows the Synchronize with Database command.

    Revise la asignación entre el proyecto de origen y el de destino:

    Screenshot that shows the synchronization status.

  2. Migre los datos: haga clic con el botón derecho en la base de datos o el objeto que quiere migrar en Explorador de metadatos de Oracle y seleccione Migrar datos. También puede seleccionar la pestaña Migrar datos. Para migrar datos de una base de datos completa, active la casilla situada junto al nombre de la base de datos. Para migrar datos de tablas concretas, expanda la base de datos, expanda Tablas y, después, active las casillas que hay junto a las tablas. Para omitir datos de tablas concretas, desactive las casillas.

    Screenshot that shows the Migrate Data command.

  3. Proporcione los detalles de conexión de Oracle y SQL Server en Azure Virtual Machines en el cuadro de diálogo.

  4. Una vez terminada la migración, vea el Informe de migración de datos:

    Screenshot that shows the Data Migration Report.

  5. Conéctese a la instancia de SQL Server en Azure Virtual Machines mediante SQL Server Management Studio. Para validar la migración, revise los datos y el esquema:

    Screenshot that shows a SQL Server instance in SSMA.

En lugar de usar SSMA, podría utilizar SQL Server Integration Services (SSIS) para migrar los datos. Para obtener más información, consulte:

Etapa posterior a la migración

Cuando haya completado la fase de migración, debe realizar una serie de tareas postmigración para asegurarse de que todo funcione de la forma más fluida y eficaz posible.

Corrección de las aplicaciones

Cuando se hayan migrado los datos al entorno de destino, todas las aplicaciones que antes utilizaban el origen deben empezar a usar el destino. Esos cambios pueden exigir modificaciones en las aplicaciones.

Data Access Migration Toolkit es una extensión para Visual Studio Code. Permite analizar el código fuente de Java y detectar llamadas API y consultas de acceso a datos. El kit de herramientas proporciona una vista de un solo panel de lo que se debe solucionar para admitir el nuevo back-end de base de datos. Para obtener más información, vea Migración de la aplicación Java desde Oracle.

Realización de pruebas

Para probar la migración de la base de datos, realice estas actividades:

  1. Desarrollar pruebas de validación. para probar la migración de bases de datos, debe utilizar consultas SQL. Cree las consultas de validación para que se ejecuten en las bases de datos de origen y destino. Las consultas de validación deben abarcar el ámbito definido.

  2. Configure un entorno de prueba. el entorno de prueba debe contener una copia de la base de datos de origen y la base de datos de destino. Asegúrese de aislar el entorno de prueba.

  3. Ejecutar pruebas de validación. ejecute las pruebas de validación en el origen y el destino y, luego, analice los resultados.

  4. Ejecutar pruebas de rendimiento. ejecute la prueba de rendimiento en el origen y el destino y, luego, analice y compare los resultados.

Validación de objetos migrados

Microsoft SQL Server Migration Assistant para Oracle Tester (evaluador de SSMA) permite probar objetos de base de datos migrados. El evaluador de SSMA se usa para comprobar que los objetos convertidos se comportan de la misma manera.

Crear caso de prueba

  1. Abra SSMA para Oracle, seleccione Tester (Evaluador) seguido de New Test Case (Nuevo caso de prueba).

    Screenshot that shows new test case.

  2. En el Asistente para casos de prueba, proporcione la información siguiente:

    Name (Nombre): escriba el nombre para identificar el caso de prueba.

    Creation date (Fecha de creación): fecha actual de hoy, definida automáticamente.

    Last Modified date (Fecha de última modificación): se rellena automáticamente; no debe cambiarse.

    Description (Descripción): escriba cualquier información adicional para identificar la finalidad del caso de prueba.

    Screenshot that shows step to initialize a test case.

  3. Seleccione los objetos que forman parte del caso de prueba en el árbol de objetos de Oracle situado en el lado izquierdo.

    Screenshot that shows step to select and configure object.

    En este ejemplo, se seleccionan el procedimiento almacenado ADD_REGION y la tabla REGION.

    Para obtener más información, consulte Selección y configuración de objetos de prueba (OracleToSQL).

  4. Después, seleccione las tablas, las claves externas y otros objetos dependientes del árbol de objetos de Oracle en la ventana izquierda.

    Screenshot that shows step to select and configure affected object.

    Para obtener más información, vea Selección y configuración de objetos afectados.

  5. Revise la secuencia de evaluación de objetos. Cambie el orden seleccionando los botones de la cuadrícula.

    Screenshot that shows step to sequence test object execution.

  6. Para finalizar el caso de prueba, revise la información proporcionada en los pasos anteriores. Configure las opciones de ejecución de pruebas en función del escenario de prueba.

    Screenshot that shows step to finalize object.

    Para obtener más información sobre la configuración del caso de prueba, vea Finalización de la preparación del caso de prueba

  7. Seleccione Finalizar para crear el caso de prueba.

    Screenshot that shows step to test repo.

Ejecución de un caso de prueba

Cuando el evaluador de SSMA ejecuta un caso de prueba, el motor de pruebas ejecuta los objetos seleccionados para las pruebas y genera un informe de comprobación.

  1. Seleccione el caso de prueba en el repositorio de pruebas y seleccione Ejecutar.

    Screenshot that shows to review test repo.

  2. Revise el caso de prueba de inicio y seleccione Ejecutar.

    Screenshot that shows step to launch test case.

  3. A continuación, proporcione las credenciales de origen de Oracle. Seleccione Conectar después de escribir las credenciales.

    Screenshot that shows step to connect to oracle source.

  4. Proporcione las credenciales de SQL Server de destino y seleccione Conectar.

    Screenshot that shows step to connect to sql target.

    Si se realiza correctamente, el caso de prueba pasa a la fase de inicialización.

  5. Una barra de progreso en tiempo real muestra el estado de ejecución de la serie de pruebas.

    Screenshot that shows tester test progress.

  6. Revise el informe una vez completada la prueba. El informe proporciona las estadísticas, los errores durante la ejecución de pruebas y un informe detallado.

    Screenshot that shows a sample tester test report

  7. Seleccione Detalles para obtener más información.

    Ejemplo de validación de datos positivos.

    Screenshot that shows a sample tester success report.

    Ejemplo de validación de datos con errores.

    Screenshot that shows tester failure report.

Optimización

La fase de postmigración es vital para resolver problemas de precisión de los datos y para comprobar su integridad. También es fundamental para solucionar problemas de rendimiento de la carga de trabajo.

Nota:

Para obtener más información sobre estos problemas y los pasos concretos para mitigarlos, vea la Guía de optimización y validación posterior a la migración.

Recursos de migración

Para obtener más ayuda a fin de completar este escenario de migración, vea los siguientes recursos, desarrollados como apoyo en un proyecto de migración real.

Título o vínculo Descripción
Herramienta y modelo de evaluación de la carga de trabajo de datos Esta herramienta proporciona sugerencias de plataformas de destino ideales, preparación para la nube y niveles de corrección de aplicación o base de datos para una carga de trabajo determinada. Ofrece un cálculo sencillo con un solo clic y una función de generación de informes que ayuda a acelerar las evaluaciones de grandes volúmenes, ya que proporciona un proceso de toma de decisiones de plataforma de destino uniforme y automatizado.
Artefactos de script de inventario de Oracle Este recurso incluye una consulta PL/SQL destinada a las tablas del sistema de Oracle y proporciona un recuento de objetos por tipo de esquema, tipo de objeto y estado. También proporciona una estimación aproximada de datos sin procesar en cada esquema y del tamaño de las tablas de cada esquema; almacena los resultados en formato CSV.
Automatización de la recopilación y consolidación de evaluaciones de SSMA para Oracle Este conjunto de recursos usa un archivo .csv como entrada (sources.csv en las carpetas del proyecto) para generar los archivos XML necesarios para ejecutar la evaluación de SSMA en modo de consola. El archivo source.csv se proporciona al realizar un inventario de las instancias de Oracle existentes. Los archivos de salida son AssessmentReportGeneration_source_1.xml, ServersConnectionFile.xml y VariableValueFile.xml.
Problemas de SSMA y posibles soluciones al migrar bases de datos de Oracle Con Oracle, puede asignar una condición no escalar en una cláusula WHERE. SQL Server no admite este tipo de condición. Por tanto, SSMA para Oracle no convierte las consultas que tienen una condición no escalar en la cláusula WHERE, sino que genera un error: O2SS0001. Estas notas del producto proporcionan detalles sobre el problema y maneras de resolverlo.
Manual de migración de Oracle a SQL Server Este documento se centra en las tareas asociadas a la migración de un esquema de Oracle a la versión más reciente de SQL Server. Si la migración requiere cambios en las características o la funcionalidad, se debe considerar cuidadosamente el posible efecto de cada cambio en las aplicaciones que usan la base de datos.
Utilidad Comparación de bases de datos de Oracle a SQL Server SSMA para Oracle Tester es la herramienta recomendada para validar automáticamente la conversión de objetos de base de datos y la migración de datos. Se trata de un superconjunto de la funcionalidad Comparación de bases de datos.

Si busca una opción alternativa de validación de datos, puede usar la utilidad Comparación de bases de datos para comparar los datos hasta el nivel de fila o de columna en todas las tablas, filas y columnas o únicamente en las seleccionadas.

El equipo de ingeniería de datos SQL ha desarrollado estos recursos. El objetivo principal de este equipo es desbloquear y acelerar la modernización compleja de proyectos de migración de una plataforma de datos a la plataforma de datos de Microsoft Azure.

Pasos siguientes