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.
- En la consola de Google Cloud, ve a Lugares de trabajo de conversión y selecciona tu lugar de trabajo.
- En la pestaña Oracle, junto al objeto que quieres quitar, selecciona > Quitar. Más
- En el diálogo de confirmación Quitar objeto, haz clic en Quitar.
- Actualiza el esquema convertido. Haz clic en
Puedes inspeccionar el esquema convertido en la pestaña Borrador de Cloud SQL para PostgreSQL.
Convertir fuente.
Database Migration Service ahora analiza tus cambios y genera el esquema de PostgreSQL actualizado.
Agrega objetos al esquema de origen
Puedes agregar objetos que se quitaron anteriormente del esquema de origen para agregarlos a la conversión.
- En la consola de Google Cloud, ve a Lugares de trabajo de conversión y selecciona tu lugar de trabajo.
- En la pestaña Oracle, haz clic en Agregar objetos.
- 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.
- Haz clic en Agregar objetos.
- Actualiza el esquema convertido. Haz clic en
Puedes inspeccionar el esquema convertido en la pestaña Borrador de Cloud SQL para PostgreSQL.
Convertir fuente.
Database Migration Service ahora analiza tus cambios y genera el esquema de PostgreSQL actualizado.
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.
- En la consola de Google Cloud, ve a Lugares de trabajo de conversión y selecciona tu lugar de trabajo.
- Haz clic en > Vuelve a obtener la instantánea del esquema de origen. Editar configuración
- En el cuadro de diálogo, haz lo siguiente:
- (Opcional) Selecciona Restablecer asignación personalizada para quitar las asignaciones personalizadas y las modificaciones de DDL existentes.
- Haz clic en Extraer instantánea del esquema.
Database Migration Service extrae la nueva instantánea de tu base de datos de origen.
- Actualiza el esquema convertido. Haz clic en
Puedes inspeccionar el esquema convertido en la pestaña Borrador de Cloud SQL para PostgreSQL.
Convertir fuente.
Database Migration Service ahora analiza tus cambios y genera el esquema de PostgreSQL actualizado.
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:
Usa el archivo de configuración de ejemplo como referencia.
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:
- En la consola de Google Cloud, ve a Lugares de trabajo de conversión y selecciona tu lugar de trabajo.
- En la página del editor de conversiones, selecciona > Personalizar asignación con un archivo de configuración. Editar configuración
- 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.
- Haz clic en > Crear asignación. Agregar archivo
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:
- En la consola de Google Cloud, ve a Lugares de trabajo de conversión y selecciona tu lugar de trabajo.
- En la página del editor de conversiones, selecciona > Quitar asignación personalizada. Editar configuración
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
En la consola de Google Cloud, ve a Lugares de trabajo de conversión.
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.
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.
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:
-
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.
- En la pestaña Cloud SQL para PostgreSQL, usa el editor de SQL para actualizar el código generado.
- 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:
- Actualiza el esquema y el código directamente en tu base de datos de origen.
- Extrae las fuentes actualizadas a Database Migration Service.
- 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:
- 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.
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.En la consola de Google Cloud, ve a Lugares de trabajo de conversión.
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.
Haz clic en Aplicar a destino > Probar (recomendado).
Aparecerá el asistente para aplicar el esquema a la base de datos de destino.
En la sección Definir destino, selecciona el perfil de conexión que apunta a tu base de datos de destino.
Haz clic en Definir y continuar.
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.
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.
En la consola de Google Cloud, ve a Lugares de trabajo de conversión.
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.
Haz clic en Aplicar a destino > Aplicar.
Aparecerá el asistente para aplicar el esquema a la base de datos de destino.
En la sección Definir destino, selecciona el perfil de conexión que apunta a tu base de datos de destino.
Haz clic en Definir y continuar.
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.
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.
En la consola de Google Cloud, ve a Lugares de trabajo de conversión.
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.
Haz clic en Crear trabajos de migración.
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:
- En el campo Filtro, usa uno de los siguientes métodos de filtrado:
- En la lista Propiedades, selecciona una de las siguientes opciones sugeridas automáticamente:
- Nombre del objeto para filtrar los objetos por un nombre, por ejemplo,
ADMIN
. - Tipo de objeto para filtrar los objetos por varios tipos, como Función o Tabla.
- 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.
- Nombre del objeto para filtrar los objetos por un nombre, por ejemplo,
- Ingresa tu consulta. Por ejemplo:
type=table
.Para obtener más información sobre la sintaxis de filtros, consulta Sintaxis de filtros admitida.
- 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.
- Filtrado de texto libre
-
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 substringJOB
. La vista filtrada muestra algunas tablas y un procedimiento almacenado: - 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
yevent_trigger
.Ejemplo:
El filtro
type=table
solo muestra las tablas presentes en tu esquema:
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:
