Guía de migración: de Oracle a Azure SQL Database

Se aplica a: Azure SQL Database

Con esta guía aprenderá a migrar su esquema de Oracle a Azure SQL Database 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 el esquema de Oracle a SQL Database:

Antes de la migración

Una vez cumplidos los requisitos previos, estará listo para detectar la topología del entorno y evaluar la viabilidad de la migración a la nube de Azure. Esta parte del proceso implica la elaboración de un inventario de las bases de datos que se deben migrar, la evaluación de las bases de datos en busca de posibles problemas de migración o bloqueadores y la resolución de cualquier aspecto que pueda haber descubierto.

Evaluar

Al usar SSMA para Oracle, puede revisar los objetos y datos de base de datos, evaluar las bases de datos para la migración, migrar los objetos de base de datos a SQL Database y, por último, migrar los datos a la base de datos.

Para crear una evaluación:

  1. Abra SSMA para Oracle.

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

  3. Escriba el nombre del proyecto y elija una ubicación para guardar el proyecto. Después, seleccione Azure SQL Database como destino de la migración en la lista desplegable y seleccione Aceptar.

    Captura de pantalla que muestra el cuadro de diálogo Conectarse a Oracle.

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

  5. Seleccione los esquemas de Oracle que quiera migrar.

    Captura de pantalla que muestra la selección de esquema de Oracle.

  6. 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 para generar un informe HTML. En lugar de ello, puede seleccionar una base de datos y luego la pestaña Crear informe.

    Captura de pantalla en la que se muestra la opción Create Report (Crear informe).

  7. Revise el informe en 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, vea drive:\<username>\Documents\SSMAProjects\MyOracleMigration\report\report_2020_11_12T02_47_55\.

    Captura de pantalla que muestra un informe de valoración.

Validación de los tipos de datos

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

  1. En SSMA para Oracle, seleccione Herramientas y luego Configuración del proyecto.

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

    Captura de pantalla en la que se muestra la opción Type Mapping (Asignación de tipos).

  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:

  1. (Opcional) Agregue consultas dinámicas o ad hoc a las instrucciones. Haga clic con el botón derecho en el nodo y seleccione Agregar instrucciones.

  2. Seleccione la pestaña Conectar a Azure SQL Database.

    1. En SQL Database, escriba los detalles de la conexión para conectar la base de datos.
    2. Seleccione la instancia de destino de SQL Database en la lista desplegable o escriba un nombre nuevo, en cuyo caso se creará una base de datos en el servidor de destino.
    3. Escriba los detalles de autenticación y seleccione Conectar.

    Captura de pantalla que muestra la pestaña Conectarse a Azure SQL Database.

  3. En Explorador de metadatos de Oracle, haga clic con el botón derecho en el esquema de Oracle y seleccione Convertir esquema. O bien, puede seleccionar el esquema y luego la pestaña Convertir esquema.

    Captura de pantalla en la que se muestra la opción Convert Schema (Convertir esquema).

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

    Captura de pantalla que muestra el esquema de revisión de las recomendaciones.

  5. Compare el texto de Transact-SQL convertido con el procedimiento almacenado original y revise las recomendaciones.

    Captura de pantalla que muestra la opción Revisar recomendaciones.

  6. En el panel de resultados, seleccione Revisar resultados y revise los errores en el panel Lista de errores.

  7. Guarde el proyecto localmente para un ejercicio de corrección de esquema sin conexión. En el menú Archivo, seleccione Guardar proyecto. Este paso le ofrece la oportunidad de evaluar los esquemas de origen y de destino sin conexión, y realizar correcciones antes de publicar el esquema en SQL Database.

Migrar

Después de evaluar las bases de datos y de solucionar las discrepancias, el siguiente paso consiste en ejecutar el proceso de migración. La migración conlleva dos pasos: publicar el esquema y migrar los datos.

Para publicar el esquema y migrar los datos, haga lo siguiente:

  1. Para publicar el esquema, haga clic con el botón derecho en la base de datos desde el nodo Bases de datos del Explorador de metadatos de Azure SQL Database y seleccione Sincronizar con la base de datos.

    Captura de pantalla en la que se muestra la sincronización con la base de datos.

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

    Captura de pantalla que muestra la revisión de Sincronizar con base de datos.

  3. Para migrar los datos, haga clic con el botón derecho en la base de datos o el objeto que quiera migrar en el Explorador de metadatos de Oracle y seleccione Migrar datos. O bien, 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.

    Captura de pantalla en la que se muestra la opción Migrate Data (Migrar datos).

  4. Especifique los detalles de la conexión para las instancias de Oracle y SQL Database.

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

    Captura de pantalla en la que se muestra el informe de migración de datos.

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

    Captura de pantalla en la que se muestra la validación en SQL Server Management Studio.

O bien, puede usar SQL Server Integration Services para realizar la migración. Para obtener más información, consulte:

Después de 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

Cuando se hayan migrado los datos al entorno de destino, todas las aplicaciones que antes utilizaban el origen deben empezar a utilizar el destino. En algunos casos, completar esta tarea requerirá la realización de cambios en las aplicaciones.

Data Access Migration Toolkit es una extensión para Visual Studio Code que permite 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 lo que se debe solucionar para admitir el nuevo back-end de base de datos. Para obtener más información, consulte la entrada de 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.

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). Captura de pantalla que muestra cómo crear un nuevo caso de prueba.

  2. Proporcione la siguiente información para el nuevo caso de prueba:

    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.

    Captura de pantalla que muestra los pasos para inicializar un caso de prueba.

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

    Captura de pantalla en la que se muestra el paso necesario para seleccionar y configurar el objeto.

    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. A continuación, seleccione las tablas, las claves externas y otros objetos dependientes del árbol de objetos de Oracle en la ventana izquierda.

    Captura de pantalla que muestra el paso para seleccionar y configurar el objeto afectado.

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

  5. Revise la secuencia de evaluación de objetos. Para cambiar el orden, haga clic en los botones de la cuadrícula.

    Captura de pantalla que muestra el paso para secuenciar la ejecución de objetos de prueba.

  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.

    Captura de pantalla que muestra el paso para finalizar el objeto.

    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. Haga clic en Finalizar para crear el caso de prueba.

    Captura de pantalla en la que se muestra el paso necesario para probar el repositorio.

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, después, haga clic en Ejecutar.

    Captura de pantalla en la que se muestra cómo revisar el repositorio de pruebas.

  2. Revise el caso de prueba de inicio y haga clic en Ejecutar.

    Captura de pantalla que muestra el paso para ejecutar el caso de prueba

  3. A continuación, proporcione las credenciales de origen de Oracle. Haga clic en Conectar después de escribirlas.

    Captura de pantalla que muestra el paso necesario para conectarse al origen de Oracle

  4. Proporcione las credenciales de SQL Server de destino y haga clic en Conectar.

    Captura de pantalla en la que se muestra el paso necesario para conectarse al destino de SQL.

    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.

    Captura de pantalla en la que se muestra el progreso de la prueba del evaluador.

  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.

    Captura de pantalla que muestra un informe de prueba del evaluador de ejemplo

  7. Haga clic en detalles para obtener más información.

    Ejemplo de validación de datos positivos. Captura de pantalla en la que se muestra un informe correcto del evaluador de ejemplo.

    Ejemplo de validación de datos con errores.

    Captura de pantalla en la que se muestra el informe de errores del evaluador.

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.

Nota:

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/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 el nivel de corrección de la 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 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 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 una 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.
Utilidad Comparación de bases de datos de Oracle a SQL DB 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.

Pasos siguientes