Acciones del lugar de trabajo de conversión

Los lugares de trabajo de conversión te permiten solucionar problemas de conversión, modificar tus objetos con el editor interactivo y aplicar el esquema convertido a tu base de datos de destino. En esta página, se proporciona una descripción general de todas las acciones que puedes realizar con los espacios de trabajo de conversiones.

Quita objetos del esquema de la fuente

Quita objetos del esquema de fuente para excluirlos de la conversión. Más adelante, puedes añadir objetos quitados si es necesario.

  1. En la consola de Google Cloud, ve a Lugares de trabajo de conversión y selecciona tu lugar de trabajo.

    Ve a Lugares de trabajo de conversión

  2. En la pestaña Oracle, junto al objeto que quieres quitar, selecciona Más > Quitar.
  3. En el diálogo de confirmación Quitar objeto, haz clic en Quitar.
  4. Actualiza el esquema convertido. Haz clic en Convertir fuente. Database Migration Service ahora analiza tus cambios y genera el esquema de PostgreSQL actualizado.

    Puedes inspeccionar el esquema convertido en la pestaña Borrador de Cloud SQL para PostgreSQL.

Agrega objetos al esquema de origen

Puedes agregar objetos que se quitaron anteriormente del esquema de origen para agregarlos a la conversión.

  1. En la consola de Google Cloud, ve a Lugares de trabajo de conversión y selecciona tu lugar de trabajo.

    Ve a Lugares de trabajo de conversión

  2. En la pestaña Oracle, haz clic en Agregar objetos.
  3. En la sección Agregar objetos, usa la lista de origen para seleccionar todas las entidades que deseas agregar al esquema de origen.

    Puedes usar el botón Filtrar objetos para reducir la cantidad de objetos que se muestran. Consulta Filtra objetos en la vista del esquema de origen.

  4. Haz clic en Agregar objetos.
  5. Actualiza el esquema convertido. Haz clic en Convertir fuente. Database Migration Service ahora analiza tus cambios y genera el esquema de PostgreSQL actualizado.

    Puedes inspeccionar el esquema convertido en la pestaña Borrador de Cloud SQL para PostgreSQL.

Extraer el esquema de origen y la instantánea del código

Puedes extraer el esquema y el código de tu base de datos de origen al lugar de trabajo de conversión en cualquier momento. Extraer la fuente te brinda la oportunidad de agregar objetos nuevos o actualizar los existentes en la conversión.

Extraer el esquema y el código de la base de datos actualizada no restablece ninguna asignación personalizada que exista en el lugar de trabajo de conversión, a menos que elijas quitarlas expresamente.

Además, extraer la fuente no anula los cambios de SQL en tus objetos de código. Puedes restablecer estos cambios directamente a nivel del objeto.

  1. En la consola de Google Cloud, ve a Lugares de trabajo de conversión y selecciona tu lugar de trabajo.

    Ve a Lugares de trabajo de conversión

  2. Haz clic en Editar configuración > Vuelve a obtener la instantánea del esquema de origen.
  3. En el cuadro de diálogo, haz lo siguiente:
    1. (Opcional) Selecciona Restablecer asignación personalizada para quitar las asignaciones personalizadas y las modificaciones de DDL existentes.
    2. Haz clic en Extraer instantánea del esquema.

      Database Migration Service extrae la nueva instantánea de tu base de datos de origen.

  4. Actualiza el esquema convertido. Haz clic en Convertir fuente. Database Migration Service ahora analiza tus cambios y genera el esquema de PostgreSQL actualizado.

    Puedes inspeccionar el esquema convertido en la pestaña Borrador de Cloud SQL para PostgreSQL.

Cómo usar asignaciones de conversiones personalizadas

Puedes personalizar la lógica de conversión con un archivo de asignación de conversiones. El archivo de asignación de conversiones es un archivo de texto que contiene instrucciones precisas (denominadas directivas de conversión) para indicar cómo se deben convertir tus objetos de Oracle en objetos de PostgreSQL.

Cómo escribir un archivo de asignación personalizado

Para escribir tus archivos de asignación personalizados, sigue estos pasos:

  1. Consulta la lista de directivas de conversión compatibles.

  2. Usa el archivo de configuración de ejemplo como referencia.

  3. Escribe tus asignaciones de conversiones personalizadas en un editor de texto y súbelas al lugar de trabajo de conversiones.

Cómo agregar archivos de asignación personalizados

Para agregar un archivo de asignación de conversiones personalizado a tu lugar de trabajo, haz lo siguiente:

  1. En la consola de Google Cloud, ve a Lugares de trabajo de conversión y selecciona tu lugar de trabajo.

    Ve a Lugares de trabajo de conversión

  2. En la página del editor de conversiones, selecciona Editar configuración > Personalizar asignación con un archivo de configuración.
  3. En el cuadro Archivo de configuración, haz clic en Explorar y usa el selector de archivos del sistema para seleccionar el archivo de configuración.
  4. Haz clic en Agregar archivo > Crear asignación.

Cómo quitar archivos de asignación personalizados

Para quitar un archivo de asignación de conversiones personalizado de tu espacio de trabajo, haz lo siguiente:

  1. En la consola de Google Cloud, ve a Lugares de trabajo de conversión y selecciona tu lugar de trabajo.

    Ve a Lugares de trabajo de conversión

  2. En la página del editor de conversiones, selecciona Editar configuración > Quitar asignación personalizada.

Revisar los resultados de conversiones

Después de realizar la conversión de origen, puedes revisar los resultados de la conversión y los posibles problemas de cada objeto convertido individual en el área del editor del lugar de trabajo. También puedes usar Google Cloud CLI para guardar todos los resultados y problemas en forma masiva en un archivo de texto.

Console

  1. En la consola de Google Cloud, ve a Lugares de trabajo de conversión.

    Ir a Lugares de trabajo de conversión

  2. Haz clic en el nombre visible del lugar de trabajo de conversión con el que deseas trabajar.

    Se abrirá el editor del lugar de trabajo de conversión.

  3. Selecciona la pestaña Oracle y busca el objeto para el que deseas revisar los resultados de las conversiones en la tabla de vista de árbol.

  4. Selecciona el objeto. Usa las pestañas SQL y Problemas de conversión para revisar la conversión.

gcloud

Con Google Cloud CLI, puedes imprimir todos los resultados o problemas de conversión en la terminal. Redirecciona el resultado a un archivo para realizar revisiones de objetos en bloque más convenientes.

Obtén una lista de los resultados de conversiones

La CLI de gcloud muestra los resultados de la conversión en la terminal en forma de sentencias del lenguaje de definición de datos (DDL). Para guardar los resultados de las conversiones en un archivo, ejecuta el siguiente comando:

  gcloud database-migration conversion-workspaces describe-ddls \
  CONVERSION_WORKSPACE_ID \
  --region=REGION_ID \
  > OUTPUT_FILE_PATH

Reemplaza lo siguiente:

  • CONVERSION_WORKSPACE_ID con el identificador del lugar de trabajo de conversión. Para obtener información sobre cómo recuperar los identificadores de los lugares de trabajo de conversión, consulta Ver los detalles del lugar de trabajo de conversión.
  • REGION_ID por el nombre de la región en la que se encuentra el lugar de trabajo de conversión.
  • OUTPUT_FILE_PATH por la ruta de acceso al archivo de texto en el que deseas guardar el resultado.

    Ejemplo:

    gcloud database-migration conversion-workspaces describe-issues \
    my-conversion-workspace \
    --region=us-central1 \
    > ./my-conversion-issues.txt
    

    Resultado:

    Los resultados de la conversión de esquemas se guardan en un formato de texto en el que la primera línea dice DDLs y las líneas posteriores están ocupadas por instrucciones de SQL:

    DDLs
    CREATE SCHEMA IF NOT EXISTS "SCHEMA1";
    ALTER TABLE "SCHEMA1"."EMPLOYEES" ADD CONSTRAINT PK_ID PRIMARY KEY ("ID");
    CREATE OR REPLACE FUNCTION mockschema.func_test_datatype(str1 VARCHAR(65000))
      RETURNS DECIMAL
      LANGUAGE plpgsql
      AS $$
        DECLARE
          str2 VARCHAR(100);
        BEGIN
          SELECT
              employees.first_name
            INTO STRICT
              STR2
            FROM
              mockschema.employees
            WHERE employees.employee_id = CAST(FUNC_TEST_DATATYPE.str1 as DECIMAL)
          ;
          RAISE NOTICE '%', concat('Input : ', FUNC_TEST_DATATYPE.str1, ' Output : ', str2);
          RETURN 0;
        END;
      $$;
    CREATE OR REPLACE PROCEDURE greetings AS BEGIN dbms_output.put_line('Hello World!'); END;
    CREATE SYNONYM TABLE "SCHEMA1"."SYNONYM1" ON "SCHEMA1"."EMPLOYEES";
    CREATE OR REPLACE VIEW "SCHEMA1"."VIEW1" AS SELECT * FROM JOBS;
    

Obtén una lista de problemas de conversiones

Para guardar los problemas de conversión en un archivo, ejecuta el siguiente comando:

  gcloud database-migration conversion-workspaces describe-issues \
  CONVERSION_WORKSPACE_ID \
  --region=REGION_ID \
  > OUTPUT_FILE_PATH

Reemplaza lo siguiente:

  • CONVERSION_WORKSPACE_ID con el identificador del lugar de trabajo de conversión. Para obtener información sobre cómo recuperar los identificadores de los lugares de trabajo de conversión, consulta Ver los detalles del lugar de trabajo de conversión.
  • REGION_ID por el nombre de la región en la que se encuentra el espacio de trabajo de conversiones.
  • OUTPUT_FILE_PATH por la ruta de acceso al archivo de texto en el que deseas guardar el resultado.

Ejemplo:

  gcloud database-migration conversion-workspaces describe-issues \
  my-conversion-workspace \
  --region=us-central1 \
  > ./my-conversion-issues.txt

Resultado:

Todos los problemas de conversión que se incluyen en tu espacio de trabajo se guardan en un formato de texto en el que la primera línea contiene encabezados de columna y cada línea posterior contiene un problema de conversión independiente:

  PARENT   NAME               ENTITY_TYPE       ISSUE_TYPE  ISSUE_SEVERITY  ISSUE_CODE  ISSUE_MESSAGE
  SCHEMA1  EMPLOYEES          TABLE             DDL         ERROR           500         unable to parse DDL.
  SCHEMA1  EMPLOYEES          TABLE             CONVERT     WARNING         206         no conversion done.
  SCHEMA1  STORED_PROCEDURE1  STORED_PROCEDURE  DDL         ERROR           500         invalid DDL.
  SCHEMA1  SYNONYM1           SYNONYM           CONVERT     WARNING         206         synonym warning message.

Corregir problemas de conversiones

Es posible que Database Migration Service no pueda convertir automáticamente toda tu fuente. Para la mayoría de los objetos de Oracle, puedes usar el editor de conversiones directamente en Database Migration Service para ajustar el SQL generado. En otros casos, es posible que debas cambiar el objeto directamente en la base de datos de origen y, luego, volver a extraer la instantánea de origen.

Para obtener una lista completa de los objetos que Database Migration Service admite para editar directamente en el lugar de trabajo de conversión, consulta Objetos de Oracle editables.

Cómo solucionar problemas con objetos compatibles con el editor integrado

Para solucionar problemas con objetos que no son compatibles con el editor de Workspace, realiza una de las siguientes acciones:

  1. Revisa los resultados de las conversiones y, luego, identifica los posibles problemas.

    Puedes usar la consola de Google Cloud para revisar objetos individuales o la CLI de gcloud para revisar todos los objetos de forma masiva.

  2. En la pestaña Cloud SQL para PostgreSQL, usa el editor de SQL para actualizar el código generado.
  3. Prueba tu esquema para verificar que Database Migration Service pueda aplicar correctamente tu código a la base de datos de destino.

Cómo solucionar problemas con objetos que no son compatibles con el editor integrado

Para solucionar problemas con objetos que no son compatibles con el editor de Workspace, realiza una de las siguientes acciones:

Actualiza los objetos defectuosos de tu fuente
En algunos casos, es posible que debas cambiar la sentencia de Oracle directamente en la base de datos de origen. Haz lo siguiente:
  1. Actualiza el esquema y el código directamente en tu base de datos de origen.
  2. Extrae las fuentes actualizadas a Database Migration Service.
  3. Vuelve a convertir las fuentes y comprueba si los problemas persisten.
Proporciona asignaciones adicionales con un archivo de asignación de conversiones

Puedes usar un archivo de asignación de conversiones para proporcionar definiciones precisas de cómo Database Migration Service debe convertir ciertos objetos de PostgreSQL. Para usar un archivo de asignación de conversiones, haz lo siguiente:

  1. Escribe un archivo de asignación de conversiones.
  2. Agrega tu archivo de configuración al espacio de trabajo.
Intenta quitar el objeto de la pestaña de fuentes.
Database Migration Service te permite convertir . Para desbloquear el proceso de conversión, puedes decidir analizar con mayor detalle el objeto defectuoso más adelante. Quita el objeto de la pestaña de fuentes.

Prueba tu esquema en el destino

Antes de aplicar el esquema a la base de datos de destino, primero puedes realizar una prueba para verificar de forma proactiva si hay posibles problemas. Para realizar la prueba, Database Migration Service crea una base de datos temporal. La ejecución de prueba no afecta a tu instancia de Cloud SQL de destino.

  1. Asegúrate de que el usuario dedicado a la migración tenga el permiso CREATEDB. Para obtener más información, consulta Crea y configura tu instancia de Cloud SQL de destino.

  2. En la consola de Google Cloud, ve a Lugares de trabajo de conversión.

    Ir a Lugares de trabajo de conversión

  3. Haz clic en el nombre visible del lugar de trabajo de conversión con el que deseas trabajar.

    Se abrirá el editor del lugar de trabajo de conversión.

  4. Haz clic en Aplicar a destino > Probar (recomendado).

    Aparecerá el asistente para aplicar el esquema a la base de datos de destino.

  5. En la sección Definir destino, selecciona el perfil de conexión que apunta a tu base de datos de destino.

  6. Haz clic en Definir y continuar.

  7. En la sección Selecciona objetos y prueba la aplicación, selecciona los esquemas de las entidades de base de datos que deseas probar para tu base de datos de destino.

    Puedes usar el botón Filtrar objetos para reducir la cantidad de objetos que se muestran. Consulta Filtra objetos en la vista del esquema de origen.

  8. Haz clic en Probar aplicación.

    Puedes revisar el estado de la solicitud en la pestaña Cloud SQL para PostgreSQL.

Aplica el esquema al destino

Cuando el esquema que deseas usar en la base de datos de destino se convierte según tus requisitos y asignaciones, puedes aplicar los resultados a la base de datos de destino. Aplicar el esquema en el destino no altera ningún dato de la base de datos de origen.

  1. En la consola de Google Cloud, ve a Lugares de trabajo de conversión.

    Ir a Lugares de trabajo de conversión

  2. Haz clic en el nombre visible del lugar de trabajo de conversión con el que deseas trabajar.

    Se abrirá el editor del lugar de trabajo de conversión.

  3. Haz clic en Aplicar a destino > Aplicar.

    Aparecerá el asistente para aplicar el esquema a la base de datos de destino.

  4. En la sección Definir destino, selecciona el perfil de conexión que apunta a tu base de datos de destino.

  5. Haz clic en Definir y continuar.

  6. En la sección Revisar objetos y aplicar conversión al destino, selecciona los esquemas de las entidades de base de datos que deseas crear en tu base de datos de destino.

    Puedes usar el botón Filtrar objetos para reducir la cantidad de objetos que se muestran. Consulta Filtra objetos en la vista del esquema de origen.

  7. Haz clic en Aplicar al destino.

    Puedes revisar el estado de la solicitud en la pestaña Cloud SQL para PostgreSQL.

Crea un trabajo de migración desde el editor de conversiones

Puedes crear un trabajo de migración que use tu lugar de trabajo de conversión directamente desde la interfaz del editor de conversiones.

  1. En la consola de Google Cloud, ve a Lugares de trabajo de conversión.

    Ir a Lugares de trabajo de conversión

  2. Haz clic en el nombre visible del lugar de trabajo de conversión con el que deseas trabajar.

    Se abrirá el editor del lugar de trabajo de conversión.

  3. Haz clic en Crear trabajos de migración.

  4. Continúa con los pasos estándar del trabajo de migración, como se describe en Crea un trabajo de migración.

Cómo filtrar objetos en la vista del esquema de origen

Los esquemas de bases de datos suelen contener miles de objetos, lo que dificulta la partición del trabajo de conversión. Cuando agregas objetos de la instantánea del esquema a la vista del esquema de origen, puedes usar filtros para limitar la cantidad de objetos que se muestran. Los filtros te permiten agregar objetos de forma más detallada y enfocarte en convertir un subconjunto seleccionado de tu esquema.

Usa la vista filtrada cuando agregues objetos a la vista del esquema de origen:

  1. En el campo Filtro, usa uno de los siguientes métodos de filtrado:
  2. En la lista Propiedades, selecciona una de las siguientes opciones sugeridas automáticamente:
    1. Nombre del objeto para filtrar los objetos por un nombre, por ejemplo, ADMIN.
    2. Tipo de objeto para filtrar los objetos por varios tipos, como Función o Tabla.
    3. Estado de conversión para filtrar los objetos por el estado de conversión, como Acción requerida o Sin problemas.

      Puedes combinar propiedades de filtro con operadores lógicos.

  3. Ingresa tu consulta. Por ejemplo: type=table.

    Para obtener más información sobre la sintaxis de filtros, consulta Sintaxis de filtros admitida.

  4. Selecciona los objetos que deseas agregar a la vista del esquema de origen.

Sintaxis de filtrado admitida

Puedes filtrar objetos por nombre con la búsqueda básica de texto libre o usar una propiedad type dedicada. Ambos enfoques admiten la especificación formal de la API de Google para filtrar, lo que significa que puedes usar literales con comodines, así como operadores lógicos y de comparación.

Usa texto libre para filtrar los objetos por nombre. Este enfoque distingue mayúsculas de minúsculas y admite comodines.

Ejemplo:

La consulta *JOB* usa comodines para buscar entidades que contengan la substring JOB. La vista filtrada muestra algunas tablas y un procedimiento almacenado:

Captura de pantalla de los resultados de ejemplo para filtrar objetos por nombre.
Cómo filtrar con la propiedad type

Puedes filtrar objetos por todos los tipos estándar admitidos en Database Migration Service.

La propiedad type admite las siguientes literales con los operadores de igualdad (=) y desigualdad (!=): database, schema, table, column, index, sequence, stored_procedure, function, view, synonym, materialized_view, udt, constraint, database_package, trigger y event_trigger.

Ejemplo:

El filtro type=table solo muestra las tablas presentes en tu esquema:

Captura de pantalla de los resultados de ejemplo para filtrar objetos por propiedad de tipo.
Combina condiciones de filtrado

Puedes especificar varias condiciones combinándolas con operadores lógicos.

Por ejemplo, para buscar exclusivamente tablas cuyos nombres contengan las subcadenas JOB o EMPLOYEE, usa esta consulta:

  type=table AND (*JOB* OR *EMPLOYEE*)

Como resultado, el filtro muestra todas las tablas que coinciden:

Captura de pantalla de resultados de ejemplo para filtrar objetos por una combinación de propiedades de tipo y nombre.