Los espacios de trabajo de conversión heredados son un tipo de espacio de trabajo de conversión más antiguo y limitado. Los espacios de trabajo de conversión heredados no admiten las funciones de conversión mejoradas de Gemini ni el editor SQL interactivo. Solo puedes usarlos para convertir tu esquema fuente con la herramienta de migración Ora2Pg.
No recomendamos utilizar el tipo heredado de espacios de trabajo de conversión para sus migraciones, ya que presentan muchas otras limitaciones al flujo de trabajo de conversión:
Espacio de trabajo de conversión interactivo | Espacio de trabajo de conversión heredado |
---|---|
La conversión de objetos de esquema y código ocurre en el Servicio de migración de bases de datos. | Las conversiones de objetos de código y esquema se realizan fuera del Servicio de migración de bases de datos mediante la herramienta de migración Ora2Pg. |
Puede aplicar fuentes convertidas a la base de datos de destino directamente en el Servicio de migración de bases de datos. | Usted es responsable de aplicar el esquema convertido a la base de datos de destino en su instancia de destino de Cloud SQL para PostgreSQL. |
Puede probar su borrador de esquema y código directamente en el Servicio de migración de bases de datos para asegurarse de que se puedan aplicar correctamente a su instancia de destino. | No puede probar su esquema y código borrador sin afectar la instancia de destino. |
Agrega automáticamente las columnas de rowid que faltan para las tablas que no tienen claves principales ni restricciones únicas. | Debe agregar las claves principales que faltan a las tablas de destino después de aplicar el esquema. |
Utilice espacios de trabajo de conversión heredados
Si su escenario requiere el uso de áreas de trabajo de conversión heredadas, modifique el proceso de migración con las siguientes acciones:
Escriba un archivo de configuración de Ora2Pg.
Consulte la documentación de Ora2Pg para obtener orientación sobre cómo utilizar la herramienta de conversión Ora2Pg. Amplíe las siguientes secciones para obtener la lista completa de directivas admitidas en el Servicio de migración de bases de datos.
Configuración de Ora2Pg compatible con el servicio de migración de bases de datos
El Servicio de migración de bases de datos admite los siguientes elementos de configuración para archivos 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 utiliza perfiles de conexión para definir los detalles de conectividad, por lo que no necesita definir la siguiente información en su archivo de configuración de Or2Pg:
-
ORACLE_DSN
-
ORACLE_HOME
-
ORACLE_PWD
-
ORACLE_USER
-
PG_DSN
-
PG_PWD
-
PG_USER
Además, el Servicio de migración de bases de datos no utiliza la directiva de configuración
WHERE
para limitar los registros a migrar.-
- Cree un espacio de trabajo de conversión heredado y cargue el archivo Ora2Pg para convertir su esquema .
Aplique manualmente el esquema convertido a la base de datos de destino.
Después de crear la configuración de Ora2Pg y crear el espacio de trabajo, debe aplicar el código generado usted mismo directamente en la base de datos de destino.
Migrar tablas sin claves primarias.
El Servicio de migración de bases de datos migra solo tablas que tienen claves principales. Si su base de datos de origen incluye tablas que no tienen claves principales, deberá crear manualmente claves principales o restricciones únicas en las tablas convertidas en la base de datos de destino después de aplicar el esquema convertido. Amplíe la siguiente sección para obtener más detalles.
Agregar restricciones de clave principal en la base de datos de destino
Para migrar tablas de Oracle sin claves primarias, haga lo siguiente:
- Conéctese a su instancia de Cloud SQL de destino con un cliente SQL. Puede utilizar los siguientes métodos:
- Cliente
psql
. Puede utilizar este método para conectarse a la IP privada de su instancia, pero es posible que requiera que cree una máquina virtual de Compute Engine. - Comando
gcloud sql connect
. Este comando solo funciona para instancias de Cloud SQL que tienen una dirección IP pública habilitada.
- Cliente
- Cree las restricciones de clave principal que faltan para sus tablas. Para obtener más información sobre las claves primarias, consulte Claves primarias en la documentación de PostgreSQL.
También puede expandir las siguientes secciones para ver comandos SQL de ejemplo:
Crear claves primarias usando columnas existentes
Es posible que su tabla ya tenga una clave primaria lógica basada en una columna o una combinación de columnas. Por ejemplo, puede haber columnas con una restricción o índice único configurado. Utilice estas columnas para generar una nueva clave principal para las tablas de su base de datos de origen. Por ejemplo:
ALTER TABLE TABLE_NAME ADD PRIMARY KEY (COLUMN_NAME);
Cree una clave principal usando todas las columnas
Si no tiene una restricción preexistente que pueda servir como clave principal, cree claves principales utilizando todas las columnas de la tabla. Asegúrese de no exceder la longitud máxima de la clave principal permitida por su 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 primaria compuesta como esta, debe enumerar explícitamente todos los nombres de las columnas que desea utilizar. No es posible utilizar una declaración para recuperar todos los nombres de las columnas para este propósito.
Cree una restricción única con la pseudocolumna
ROWID
Las bases de datos Oracle utilizan la pseudocolumna
ROWID
para almacenar la ubicación de cada fila en una tabla. Para migrar tablas de Oracle que no tienen claves principales, puede agregar una columnaROWID
en la base de datos PostgreSQL de destino. El servicio de migración de base de datos completa la columna con los valores numéricos correspondientes de la pseudocolumnaROWID
de Oracle de origen.Para agregar la columna y establecerla como clave principal, ejecute 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);
- Conéctese a su instancia de Cloud SQL de destino con un cliente SQL. Puede utilizar los siguientes métodos:
¿Qué sigue?
Después de realizar el flujo de trabajo de conversión con el espacio de trabajo heredado, puede continuar con los procedimientos de migración estándar. Consulte Crear un trabajo de migración .
,Los espacios de trabajo de conversión heredados son un tipo de espacio de trabajo de conversión más antiguo y limitado. Los espacios de trabajo de conversión heredados no admiten las funciones de conversión mejoradas de Gemini ni el editor SQL interactivo. Solo puedes usarlos para convertir tu esquema fuente con la herramienta de migración Ora2Pg.
No recomendamos utilizar el tipo heredado de espacios de trabajo de conversión para sus migraciones, ya que presentan muchas otras limitaciones al flujo de trabajo de conversión:
Espacio de trabajo de conversión interactivo | Espacio de trabajo de conversión heredado |
---|---|
La conversión de objetos de esquema y código ocurre en el Servicio de migración de bases de datos. | Las conversiones de objetos de código y esquema se realizan fuera del Servicio de migración de bases de datos mediante la herramienta de migración Ora2Pg. |
Puede aplicar fuentes convertidas a la base de datos de destino directamente en el Servicio de migración de bases de datos. | Usted es responsable de aplicar el esquema convertido a la base de datos de destino en su instancia de destino de Cloud SQL para PostgreSQL. |
Puede probar su borrador de esquema y código directamente en el Servicio de migración de bases de datos para asegurarse de que se puedan aplicar correctamente a su instancia de destino. | No puede probar su esquema y código borrador sin afectar la instancia de destino. |
Agrega automáticamente las columnas de rowid que faltan para las tablas que no tienen claves principales ni restricciones únicas. | Debe agregar las claves principales que faltan a las tablas de destino después de aplicar el esquema. |
Utilice espacios de trabajo de conversión heredados
Si su escenario requiere el uso de áreas de trabajo de conversión heredadas, modifique el proceso de migración con las siguientes acciones:
Escriba un archivo de configuración de Ora2Pg.
Consulte la documentación de Ora2Pg para obtener orientación sobre cómo utilizar la herramienta de conversión Ora2Pg. Amplíe las siguientes secciones para obtener la lista completa de directivas admitidas en el Servicio de migración de bases de datos.
Configuración de Ora2Pg compatible con el servicio de migración de bases de datos
El Servicio de migración de bases de datos admite los siguientes elementos de configuración para archivos 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 utiliza perfiles de conexión para definir los detalles de conectividad, por lo que no necesita definir la siguiente información en su archivo de configuración de Or2Pg:
-
ORACLE_DSN
-
ORACLE_HOME
-
ORACLE_PWD
-
ORACLE_USER
-
PG_DSN
-
PG_PWD
-
PG_USER
Además, el Servicio de migración de bases de datos no utiliza la directiva de configuración
WHERE
para limitar los registros a migrar.-
- Cree un espacio de trabajo de conversión heredado y cargue el archivo Ora2Pg para convertir su esquema .
Aplique manualmente el esquema convertido a la base de datos de destino.
Después de crear la configuración de Ora2Pg y crear el espacio de trabajo, debe aplicar el código generado usted mismo directamente en la base de datos de destino.
Migrar tablas sin claves primarias.
El Servicio de migración de bases de datos migra solo tablas que tienen claves principales. Si su base de datos de origen incluye tablas que no tienen claves principales, deberá crear manualmente claves principales o restricciones únicas en las tablas convertidas en la base de datos de destino después de aplicar el esquema convertido. Amplíe la siguiente sección para obtener más detalles.
Agregar restricciones de clave principal en la base de datos de destino
Para migrar tablas de Oracle sin claves primarias, haga lo siguiente:
- Conéctese a su instancia de Cloud SQL de destino con un cliente SQL. Puede utilizar los siguientes métodos:
- Cliente
psql
. Puede utilizar este método para conectarse a la IP privada de su instancia, pero es posible que requiera que cree una máquina virtual de Compute Engine. - Comando
gcloud sql connect
. Este comando solo funciona para instancias de Cloud SQL que tienen una dirección IP pública habilitada.
- Cliente
- Cree las restricciones de clave principal que faltan para sus tablas. Para obtener más información sobre las claves primarias, consulte Claves primarias en la documentación de PostgreSQL.
También puede expandir las siguientes secciones para ver comandos SQL de ejemplo:
Crear claves primarias usando columnas existentes
Es posible que su tabla ya tenga una clave primaria lógica basada en una columna o una combinación de columnas. Por ejemplo, puede haber columnas con una restricción o índice único configurado. Utilice estas columnas para generar una nueva clave principal para las tablas de su base de datos de origen. Por ejemplo:
ALTER TABLE TABLE_NAME ADD PRIMARY KEY (COLUMN_NAME);
Cree una clave principal usando todas las columnas
Si no tiene una restricción preexistente que pueda servir como clave principal, cree claves principales utilizando todas las columnas de la tabla. Asegúrese de no exceder la longitud máxima de la clave principal permitida por su 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 primaria compuesta como esta, debe enumerar explícitamente todos los nombres de las columnas que desea utilizar. No es posible utilizar una declaración para recuperar todos los nombres de las columnas para este propósito.
Cree una restricción única con la pseudocolumna
ROWID
Las bases de datos Oracle utilizan la pseudocolumna
ROWID
para almacenar la ubicación de cada fila en una tabla. Para migrar tablas de Oracle que no tienen claves principales, puede agregar una columnaROWID
en la base de datos PostgreSQL de destino. El servicio de migración de base de datos completa la columna con los valores numéricos correspondientes de la pseudocolumnaROWID
de Oracle de origen.Para agregar la columna y establecerla como clave principal, ejecute 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);
- Conéctese a su instancia de Cloud SQL de destino con un cliente SQL. Puede utilizar los siguientes métodos:
¿Qué sigue?
Después de realizar el flujo de trabajo de conversión con el espacio de trabajo heredado, puede continuar con los procedimientos de migración estándar. Consulte Crear un trabajo de migración .