Acerca de los espacios de trabajo de conversión antiguos

Los espacios de trabajo de conversión antiguos son un tipo de espacio de trabajo de conversión más antiguo y limitado. Los espacios de trabajo de conversión antiguos no admiten las funciones de conversión mejoradas con Gemini ni el editor de SQL interactivo. Solo puedes usarlas para convertir tu esquema de origen con la herramienta de migración Ora2Pg.

No recomendamos usar el tipo antiguo de espacios de trabajo de conversión para tus migraciones, ya que presentan otras limitaciones en el flujo de trabajo de conversión:

Espacio de trabajo de conversión interactivoEspacio de trabajo de conversión antiguo
La conversión de esquemas y objetos de código se realiza en Database Migration Service. Las conversiones de esquemas y objetos de código se realizan fuera de Database Migration Service mediante la herramienta de migración Ora2Pg.
Puedes aplicar las fuentes convertidas directamente a la base de datos de destino en Database Migration Service. Eres responsable de aplicar el esquema convertido a la base de datos de destino en tu instancia de destino de Cloud SQL para PostgreSQL.
Puedes probar tu borrador de esquema y código directamente en Database Migration Service para asegurarte de que se pueden aplicar correctamente a tu instancia de destino. No puedes probar el esquema y el código del borrador sin que afecte a la instancia de destino.
Añade automáticamente las columnas rowid que faltan en las tablas que no tienen claves principales ni restricciones únicas. Debe añadir las claves principales que faltan a las tablas de destino después de aplicar el esquema.
Tabla 1: Comparación de las funciones del espacio de trabajo de conversión

Usar espacios de trabajo de conversión antiguos

Si tu situación requiere el uso de espacios de trabajo de conversiones antiguos, modifica el proceso de migración con las siguientes acciones:

  1. Escribe un archivo de configuración de Ora2Pg.

    Consulta la documentación de Ora2Pg para obtener información sobre cómo usar la herramienta de conversión Ora2Pg. Despliega las siguientes secciones para ver la lista completa de directivas admitidas en Database Migration Service.

    Configuración de Ora2Pg admitida en Database Migration Service

    Database Migration Service admite los siguientes elementos de configuración para los archivos de Ora2Pg:

    • BOOLEAN_VALUES
    • DATA_TYPE
    • DEFAULT_NUMERIC
    • ENABLE_MICROSECOND
    • EXPORT_SCHEMA
    • MODIFY_STRUCT
    • MODIFY_TYPE
    • PG_INTEGER_TYPE
    • PG_NUMERIC_TYPE
    • PG_SCHEMA
    • PRESERVE_CASE
    • REPLACE_AS_BOOLEAN
    • REPLACE_COLS
    • REPLACE_TABLES
    • REPLACE_ZERO_DATE
    • SCHEMA

    El servicio de migración de bases de datos usa perfiles de conexión para definir los detalles de la conectividad, por lo que no es necesario que definas la siguiente información en tu archivo de configuración de Oracle a PostgreSQL:

    • ORACLE_DSN
    • ORACLE_HOME
    • ORACLE_PWD
    • ORACLE_USER
    • PG_DSN
    • PG_PWD
    • PG_USER

    Además, Database Migration Service no usa la directiva de configuración WHERE para limitar los registros que se van a migrar.

  2. Crea un espacio de trabajo de conversión antiguo y sube el archivo Ora2Pg para convertir tu esquema.
  3. Aplica manualmente el esquema convertido a la base de datos de destino.

    Después de crear la configuración de Ora2Pg y el espacio de trabajo, debes aplicar el código generado directamente en la base de datos de destino.

  4. Migrar tablas sin claves principales.

    Database Migration Service solo migra las tablas que tienen claves principales. Si la base de datos de origen incluye tablas que no tienen claves principales, debe crear manualmente claves principales o restricciones únicas en las tablas convertidas de la base de datos de destino después de aplicar el esquema convertido. Despliega la sección siguiente para obtener más información.

    Añadir restricciones de clave principal en la base de datos de destino

    Para migrar tablas de Oracle sin claves principales, haga lo siguiente:

    1. Conéctate a tu instancia de Cloud SQL de destino con un cliente SQL. Puedes usar los siguientes métodos:
      • psql cliente. Puedes usar este método para conectarte a la IP privada de tu instancia, pero es posible que tengas que crear una máquina virtual de Compute Engine.
      • comando gcloud sql connect. Este comando solo funciona en instancias de Cloud SQL que tengan habilitada una dirección IP pública.
    2. Crea las restricciones de clave principal que faltan en tus tablas. Para obtener más información sobre las claves principales, consulta Claves principales en la documentación de PostgreSQL.

      También puedes desplegar las siguientes secciones para ver comandos SQL de ejemplo:

      Crear claves principales con columnas ya creadas

      Es posible que tu tabla ya tenga una clave principal lógica basada en una columna o en una combinación de columnas. Por ejemplo, puede haber columnas con una restricción única o un índice configurado. Usa estas columnas para generar una nueva clave principal para las tablas de tu base de datos de origen. Por ejemplo:

      ALTER TABLE TABLE_NAME
      ADD PRIMARY KEY (COLUMN_NAME);

      Crear una clave principal con todas las columnas

      Si no tienes una restricción que pueda servir como clave principal, crea claves principales con todas las columnas de la tabla. Asegúrate de no superar la longitud máxima de la clave principal que permite tu instancia de PostgreSQL. Por ejemplo:

      ALTER TABLE TABLE_NAME
      ADD PRIMARY KEY (COLUMN_NAME_1, COLUMN_NAME_2, COLUMN_NAME_3, ...);

      Al crear una clave principal compuesta como esta, debes enumerar explícitamente todos los nombres de columna que quieras usar. No es posible usar una instrucción para obtener todos los nombres de las columnas con este fin.

      Crear una restricción UNIQUE con la pseudocolumna ROWID

      Las bases de datos de Oracle usan la pseudocolumna ROWID para almacenar la ubicación de cada fila de una tabla. Para migrar tablas de Oracle que no tengan claves principales, puedes añadir una columna ROWID en la base de datos PostgreSQL de destino. Database Migration Service rellena la columna con los valores numéricos correspondientes de la pseudocolumna ROWID de Oracle de origen.

      Para añadir la columna y definirla como clave principal, ejecuta lo siguiente:

      ALTER TABLE TABLE_NAME ADD COLUMN rowid numeric(33,0) NOT NULL;
      CREATE SEQUENCE TABLE_NAME_rowid_seq INCREMENT BY -1 START WITH -1 OWNED BY TABLE_NAME.rowid;
      ALTER TABLE TABLE_NAME ALTER COLUMN rowid SET DEFAULT nextval('TABLE_NAME_rowid_seq');
      ALTER TABLE TABLE_NAME ADD CONSTRAINT CONSTRAINT_DISPLAY_NAME PRIMARY KEY (rowid);

Siguientes pasos

Una vez que hayas completado el flujo de trabajo de conversión con el espacio de trabajo antiguo, puedes continuar con los procedimientos de migración estándar. Consulta Crear una tarea de migración.