Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configuración de conversión de Oracle a PostgreSQL
La configuración de conversión de Oracle a PostgreSQL en la conversión de esquemas de DMS incluye lo siguiente:
-
AWS DMSpuede convertir vistas materializadas de Oracle en tablas o vistas materializadas en PostgreSQL. Para las vistas materializadas, elija cómo convertir las vistas materializadas de origen.
-
La base de datos Oracle de origen puede utilizar la
ROWID
pseudocolumna. PostgreSQL no admite funciones similares. La conversión de esquemas DMS puede emular laROWID
pseudocolumna del código convertido mediante el tipo decharacter varying
datosbigint
o. Para ello, elija Usar el tipo de datos bigint para emular la pseudocolumna ROWID o Utilizar el tipo de datos que varía de caracteres para emular la pseudocolumna ROWID para el ID de fila.Si el código fuente de Oracle no usa la
ROWID
pseudocolumna, elija No generar. En este caso, el código convertido funciona más rápido. -
El código fuente de Oracle puede incluir las
TO_CHAR
TO_DATE
, yTO_NUMBER
funciones con parámetros que PostgreSQL no admite. De forma predeterminada, DMS Schema Conversion emula el uso de estos parámetros en el código convertido.Puede usar PostgreSQL
TO_CHAR
yTO_NUMBER
funciones nativas cuando el código fuente de Oracle carece de parámetros que PostgreSQL no admite.TO_DATE
En este caso, el código convertido funciona más rápido. Para ello, seleccione los siguientes valores:Utilice una función TO_CHAR nativa de PostgreSQL
Utilice una función TO_DATE nativa de PostgreSQL
Utilice una función TO_NUMBER nativa de PostgreSQL
-
La base de datos y las aplicaciones pueden ejecutarse en diferentes zonas horarias. De forma predeterminada, DMS Schema Conversion emula las zonas horarias del código convertido. Sin embargo, no necesita esta emulación cuando la base de datos y las aplicaciones utilizan la misma zona horaria. En este caso, seleccione Mejorar el rendimiento del código convertido en el que la base de datos y las aplicaciones usen la misma zona horaria.
-
Para seguir usando secuencias en el código convertido, selecciona Rellenar secuencias convertidas con el último valor generado en el lado de origen.
-
En algunos casos, la base de datos Oracle de origen puede almacenar solo valores enteros en las columnas de clave principal o externa del tipo de
NUMBER
datos. En estos casos,AWS DMS puede convertir estas columnas al tipo deBIGINT
datos. Este enfoque mejora el rendimiento del código convertido. Para ello, seleccione Convertir las columnas de clave principal y externa del tipo de datos NUMBER al tipo de datos BIGINT. Asegúrese de que su fuente no incluya valores de punto flotante en estas columnas para evitar la pérdida de datos. -
Para omitir los desencadenantes y restricciones desactivados en el código fuente, elija Convertir solo los desencadenantes y restricciones activos.
-
Puede utilizar la conversión de esquemas DMS para convertir variables de cadena denominadas SQL dinámico. El código de la base de datos puede cambiar los valores de estas variables de cadena. Para asegurarse de queAWS DMS siempre convierte el valor más reciente de esta variable de cadena, seleccione Convertir el código SQL dinámico que se crea en las rutinas llamadas.
-
Las versiones 10 y anteriores de PostgreSQL no admiten procedimientos. Si no está familiarizado con el uso de procedimientos en PostgreSQL,AWS DMS puede convertir los procedimientos de Oracle en funciones de PostgreSQL. Para ello, seleccione Convertir procedimientos en funciones.
-
Para ver información adicional sobre los elementos de acción ocurridos, puede añadir funciones específicas al paquete de extensión. Para ello, seleccione Agregar funciones de paquete de extensiones que generen excepciones definidas por el usuario. A continuación, elija los niveles de gravedad para aumentar las excepciones definidas por el usuario. Asegúrese de aplicar el esquema del paquete de extensión después de convertir los objetos de la base de datos de origen. Para obtener más información sobre los Service Packs, consulteUso de Packs de Extensión.
-
La base de datos Oracle de origen puede incluir restricciones con los nombres generados automáticamente. Si el código fuente usa estos nombres, asegúrese de seleccionar Conservar los nombres de las restricciones generadas por el sistema. Si el código fuente usa estas restricciones, pero no usa sus nombres, desactive esta opción para aumentar la velocidad de conversión.
-
Si las bases de datos de origen y destino se ejecutan en zonas horarias diferentes, la función que emula la función Oracle
SYSDATE
integrada devuelve valores diferentes en comparación con la función de origen. Para asegurarse de que las funciones de origen y destino devuelven los mismos valores, elija Establecer la zona horaria de la base de datos de origen. -
Puedes usar las funciones de la extensión orafce en tu código convertido. Para ello, para las rutinas integradas de Oracle, seleccione las funciones que desee utilizar. Para obtener más información sobre orafce, consulte orafce
en GitHub.