Guía de migración de Oracle a SQL Server

Se aplica a:SQL Server

En esta guía aprenderá a migrar las bases de datos de Oracle a SQL Server mediante SQL Server Migration Assistant para Oracle (SSMA para Oracle).

Para ver otras guías de migración, consulte la Guía de Azure Database Migration.

Importante

Pruebe la nueva extensión para la evaluación de migraciones de bases de datos para Oracle de Azure Data Studio, con la que puede evaluar previamente las migraciones de Oracle a SQL y clasificar las cargas de trabajo. Pruebe esta nueva extensión si está en una fase inicial de migración de Oracle a SQL y necesita realizar una evaluación de alto nivel de las cargas de trabajo, si le interesa cambiar el tamaño del destino de Azure SQL para la carga de trabajo de Oracle o si quiere conocer la paridad de la migración de características. Para quiere una conversión y evaluación de código detalladas, continúe con SSMA para Oracle.

Requisitos previos

Antes de empezar a migrar la base de datos de Oracle a SQL Server, siga los pasos que se describen a continuación:

Antes de la migración

Al preparar la migración a la nube, compruebe que el entorno de origen sea compatible y que cumple el resto de requisitos previos. Esto ayuda a garantizar una migración correcta y eficaz.

Esta parte del proceso implica la elaboración de un inventario de las bases de datos que se deben migrar, la evaluación de estas en busca de posibles problemas de migración o bloqueadores, y la resolución de cualquier aspecto que pueda haber descubierto.

Descubra

Para comprender mejor y planear la migración, use Microsoft Assessment and Planning (MAP) Toolkit para identificar los orígenes de datos existentes y los detalles sobre las características que usa su organización. Este proceso conlleva examinar la red para identificar todas las instancias, versiones y características de Oracle de su organización.

Para usar MAP Toolkit para hacer un análisis de inventario, siga los pasos que se describen a continuación:

  1. Abra MAP Toolkit.

  2. En el panel Overview (Información general), seleccione Create/Select database (Crear/Seleccionar base de datos).

    Screenshot of the 'Create/Select database' link on the MAP Toolkit Overview pane.

  3. En Create/Select a database (Crear/Seleccionar base de datos), seleccione Create an inventory database (Crear una base de datos de inventario), escriba un nombre de la base de datos de inventario que va a crear, proporcione una breve descripción y, después, seleccione OK (Aceptar).

    Screenshot of the 'Create an inventory database' option in the MAPS Toolkit.

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

    Screenshot of the 'Collect inventory data' link in the Inventory and Assessment Wizard.

  5. En el asistente, seleccione Oracle y, a continuación, Next (Siguiente).

    Screenshot of the Oracle option and Next button in the Inventory and Assessment Wizard.

  6. Elija la opción de búsqueda de equipos que mejor se adapte al entorno y las necesidades de su organización y, a continuación, seleccione Next (Siguiente).

    Screenshot of the list of computer-discovery methods that best suit your organization's needs.

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

    Screenshot of the wizard pane for entering your computer credentials.

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

    Screenshot of the wizard pane for setting the order of credentials.

  9. Especifique las credenciales de cada equipo que quiera detectar. Puede usar credenciales únicas para cada equipo o máquina, o bien puede seleccionarlas en la lista Computers (Equipos).

    Screenshot of the 'Use all computers credential list' option for specifying the credentials for each computer you want to discover.

  10. Compruebe el resumen de la selección y, a continuación, seleccione Finish (Finalizar).

    Screenshot of the wizard summary page for reviewing your selections.

  11. Una vez completado el análisis, vea el informe de resumen Data Collection (Recopilación de datos). El examen puede tardar unos minutos, en función del número de bases de datos. Cuando haya finalizado, seleccione Close (Cerrar).

    Screenshot of the Data Collection summary report page.

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

Evaluar

Después de identificar los orígenes de datos, use SSMA para Oracle para evaluar las instancias de Oracle que se van a migrar a la maquina virtual de SQL Server, de modo que reconozca las diferencias entre ambos. Mediante el asistente para migración, puede revisar los datos y los objetos de las bases de datos, evaluar las bases de datos para la migración, migrar los objetos de la base de datos a SQL Server y, a continuación, migrar los datos a SQL Server.

Para crear una valoración, siga estos pasos:

  1. Abra SSMA para Oracle.

  2. Seleccione Archivo y, a continuación, Nuevo proyecto.

  3. Facilite el nombre del proyecto y una ubicación y, luego, en la lista desplegable, seleccione un destino para la migración de SQL Server. Seleccione Aceptar.

    Screenshot of the New Project pane in SSMA for Oracle.

  4. Seleccione Conectarse a Oracle, escriba los detalles de la conexión de Oracle y, a continuación, seleccione Conectar.

    Screenshot of the Connect to Oracle pane.

  5. En el panel Objetos de filtro, seleccione los esquemas de Oracle que quiera migrar y, a continuación, seleccione Aceptar.

    Screenshot of the 'Filter objects' pane for selecting the schemas to load.

  6. En el panel Explorador de metadatos de Oracle, seleccione los esquemas de Oracle con los que está trabajando y, a continuación, seleccione Crear informe para generar un informe HTML con estadísticas de conversión y errores y advertencias, si los hay. También puede seleccionar la pestaña Crear informe en la parte superior derecha.

    Screenshot of the 'Create Report' links in Oracle Metadata Explorer.

  7. Revise el informe HTML para comprender las estadísticas de conversión, y los errores o advertencias. 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 dentro de SSMAProjects. Por ejemplo:

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

    Screenshot of a conversion report in SSMA.

Validación de los tipos de datos

Valide las asignaciones de tipos de datos predeterminadas y cámbielas según los requisitos, si es necesario. Para ello:

  1. Seleccione Herramientas y, luego, Configuración del proyecto.

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

    Screenshot of the 'Type Mapping' pane in SSMA for Oracle.

  3. Puede cambiar la asignación de tipo de cada tabla seleccionando la tabla en el panel Explorador de metadatos de Oracle.

Convertir esquema

Para convertir el esquema, siga estos pasos:

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

  2. Seleccione la pestaña Conectarse a SQL Server y, luego, escriba los detalles de conexión de la instancia de SQL Server.

    1. En la lista desplegable Base de datos, seleccione la base de datos de destino o proporcione un nombre nuevo para crear una base de datos en el servidor de destino.

    2. Proporcione los detalles de la autenticación.

    3. Seleccione Conectar.

      Screenshot of the Connect to SQL Server pane in SSMA for Oracle.

  3. En el panel Explorador de metadatos de Oracle, haga clic con el botón derecho en el esquema con el que está trabajando y, a continuación, seleccione Convertir esquema. Como alternativa, puede seleccionar la pestaña Convertir esquema en la esquina superior derecha.

    Screenshot of the 'Convert Schema' command on the 'Oracle Metadata Explorer' pane.

  4. Una vez finalizada la conversión, compare y revise los objetos convertidos con los originales para identificar posibles problemas y solucionarlos en función de las recomendaciones.

    Screenshot showing a comparison of the converted objects to the original objects.

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

    Screenshot showing a comparison of the converted text to the original code.

  5. En el panel de salida, seleccione el icono Revisar resultados y, a continuación, revise los errores del panel Lista de errores.

  6. Para un ejercicio de corrección de esquema sin conexión, guarde el proyecto localmente seleccionando Archivo>Guardar proyecto. Esto le ofrece la oportunidad de evaluar los esquemas de origen y de destino sin conexión y hacer correcciones para poder publicar el esquema en la instancia de SQL Server.

Migrar la base de datos

Una vez que haya cumplido los requisitos previos necesarios y completado las tareas asociadas a la fase de migración previa, estará a punto para ejecutar el esquema y la migración de datos. La migración implica dos pasos: publicar el esquema y migrar los datos.

Para publicar el esquema y migrar la base de datos, siga los pasos que se describen a continuación:

  1. Publique el esquema. En el panel Explorador de metadatos de SQL Server, haga clic con el botón derecho en la base de datos y, luego, seleccione Synchronize with Database (Sincronizar con la base de datos). Esta acción publica el esquema de Oracle en la instancia SQL Server.

    Screenshot of the 'Synchronize with Database' command on the SQL Server Metadata Explorer pane.

  2. Revise la asignación entre el proyecto de origen y el de destino, como se muestra aquí:

    Screenshot of the 'Synchronize with the Database' pane for reviewing database mapping.

  3. Migre los datos. En el panel Explorador de metadatos de Oracle, haga clic con el botón derecho en el esquema o el objeto que quiera migrar y, a continuación, seleccione Migrar datos. Como alternativa, puede seleccionar la pestaña Migrar datos en la esquina superior derecha.

    Para migrar datos de toda una base de datos, 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, a continuación, active la casilla situada junto a la tabla. Para omitir datos de tablas concretas, desactive la casilla.

    Screenshot of the Migrate Data links.

  4. En el panel Migrar datos, escriba los detalles de conexión para Oracle y SQL Server.

  5. Una vez completada la migración, vea el Informe de migración de datos.

    Screenshot of the Data Migration Report.

  6. Conéctese a la instancia de SQL Server mediante SQL Server Management Studio (SSMS) y a continuación, revise los datos y el esquema para validar la migración.

    Screenshot of SQL Server Management Server. Además de usar SSMA, también puede usar 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 correctamente la fase de migración, deberá realizar una serie de tareas posteriores para asegurarse de que todo funcione de la forma más fluida y eficaz posible.

Corrección de las aplicaciones

Después de realizar la migración de los datos al entorno de destino, todas las aplicaciones que antes utilizaban el origen deben empezar a utilizar el destino. En algunos casos, para completar este paso, es necesario realizar cambios en las aplicaciones.

Data Access Migration Toolkit es una extensión para Visual Studio Code con la que puede analizar el código fuente de Java, y detectar llamadas y consultas de la API de acceso a datos. El kit de herramientas proporciona una vista de un solo panel de los elementos que se van a tratar para admitir el nuevo back-end de bases de datos. Para obtener más información, consulte el blog Migración de la aplicación Java desde Oracle.

Realización de pruebas

El enfoque de prueba para la migración de bases de datos consta de las siguientes actividades:

  1. Desarrollar pruebas de validación: para probar la migración de bases de datos, debe utilizar consultas SQL. Debe crear 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. Configurar 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.

Optimización

La fase posterior a la migración es fundamental para reconciliar cualquier problema de precisión de datos y comprobar su integridad, así como para solucionar problemas de rendimiento con la carga de trabajo.

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

Recursos de migración

Para obtener más ayuda para completar este escenario de migración, consulte los siguientes recursos. Se han desarrollado para ayudar en la interacción con un proyecto de migración real.

Título Descripción
Herramienta y modelo de evaluación de la carga de trabajo de datos 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 cargas de trabajo especificadas. 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 Incluye una consulta PL/SQL que visita 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 el dimensionamiento de las tablas de cada esquema, con resultados almacenados en formato CSV.
Automatización de la recopilación y consolidación de evaluaciones de SSMA para Oracle Conjunto de recursos que 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 cliente proporciona el archivo source.csv basado en 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 Explica cómo Oracle permite asignar una condición no escalar en la cláusula WHERE. Sin embargo, SQL Server no admite este tipo de condición. Como resultado, SSMA para Oracle no convierte las consultas con una condición no escalar en la cláusula WHERE, sino que se genera un error O2SS0001. Estas notas del producto proporcionan más detalles sobre el problema y las maneras de resolverlo.
Manual de migración de Oracle a SQL Server Se centra en las tareas asociadas a la migración de un esquema de Oracle a la versión más reciente de la base SQL Server. Si la migración requiere cambios en las características y funcionalidades, se debe tener muy en cuenta 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 permitir y acelerar la modernización compleja de los proyectos de migración de la plataforma de datos a la de Azure, de Microsoft.