Lanzamiento de Ora2Pg 25.0
Antananarivo, Madagascar- 20 de abril de 2025
Ora2Pg
Ha sido lanzada oficialmente, y está disponible para su descarga, la versión 25.0 de Ora2Pg, una herramienta gratuita y confiable para la migración de bases de datos Oracle a PostgreSQL.
Esta versión principal corrige varios problemas notificados desde el lanzamiento de la última versión y añade algunas nuevas características y mejoras:
- Añade la salida simultánea de varios formatos de reporte de evaluación.
- Soporte para más mapeos de excepciones de Oracle a PostgreSQL.
- Permite anular los ajustes de PG_SUPPORTS_* tal y como están establecidos en el archivo de configuración. PG_VERSION no tendrá efecto en este caso.
- Añade el análisis de la sentencia ALTER desde el archivo para la acción QUERY.
- Añade soporte para oracle_fdw COPY a través del formato CSV
- Añade la exportación paralela de cada partición. Hasta ahora todas las particiones de una tabla particionada se exportaban en serie en un único proceso.
- Permite que la migración de datos en línea continúe si la tabla de destino no existe cuando ON_ERROR_STOP está desactivado.
- La exportación de datos de tablas se realiza ahora utilizando el SCN activo para disponer de la misma instantánea de datos entre la exportación multiproceso.
- Añade la sustitución de la llamada USERENV con MODULE por current_setting con application_name.
- Añade soporte para transferir datos usando el comando copy de psql a través de oracle_fdw:
- Usando INSERT (cuando FDW_SERVER está activado) se mantiene el comportamiento anterior de INSERT y COPY.
- Usando COPY (cuando FDW_SERVER está configurado) se utilizará un nuevo modo de emplear el
psql
con\copy
junto aTO PROGRAM...FROM STDIN BINARY...BINARY
- Añade soporte para oracle_fdw en combinación con el comando psql «\copy» y COPY del lado del servidor usando un flujo BINARIO para la transferencia de datos. Incorpora en una misma rama la copia binaria de oracle_fdw local y la del lado del servidor. El control sobre la modalidad utilizada se proporciona a través de la configuración ORACLE_FDW_COPY_MODE, que por defecto es «local».
- Convierte el uso simple de cursor/parsing/execute de DBMS_SQL a la ejecución dinámica de consultas en PostgreSQL.
- Añade la sustitución del operador MOD.
- Añade algunas puntuaciones adicionales de migración para la evaluación de objetos/dificultades:
- La cláusula de excepción WHEN OTHER THEN que oculta el problema real durante la migración.
- ‘SSSSS’ y ‘J’ para to_char() que podrían necesitar reescrituras.
- Añade la acción SCRIPT para procesar los scripts sqlplus en su totalidad, en lugar de línea por línea.
- Cambia los ajustes por defecto en el archivo de configuración generado por la opción –init_project con:
- PG_NUMERIC_TYPE 0
- NULL_EQUAL_EMPTY 1
Nuevas opciones y directivas de configuración:
- Añade la opción –no_clean_comment que impide la eliminación de comentarios en el archivo fuente antes de analizarlo. Con un archivo DDL de gran tamaño que contenga comentarios, podría tardar mucho tiempo.
- Añade -O | –options para anular cualquier parámetro de configuración. Es posible utilizarlo varias veces. Sintaxis: -O «PARAM1_NAME=value» -O «PARAM2_NAME=value» o -O «PARAM1_NAME=value|PARAM2_NAME=value»
- Añade la opción –no_start_scn que impide que Ora2Pg utilice un SCN para exportar datos a menos que se utilice –snc. Por defecto, el SCN actual se utiliza para exportar datos de todas las tablas.
- Añade la directiva de configuración ORACLE_FDW_COPY_MODE. Cuando se utiliza Ora2Pg COPY con oracle_fdw es posible utilizar dos modalidades diferentes:
- 1) «local», que utiliza psql en el host que ejecuta Ora2Pg para el flujo binario «TO»;
- 2) «server», que utiliza COPY del lado del servidor PostgreSQL para el flujo binario «TO». Ambos modos utilizan psql para «FROM STDIN BINARY». Sin embargo, oracle_fdw copia binarios en una sola rama. El control sobre la modalidad utilizada es el siguiente: «local» ejecuta el psql «FROM STDIN BINARY» en el host desde el que se ejecuta Ora2Pg, mientras que «server» ejecuta el psql «FROM STDIN BINARY» en el servidor PostgreSQL. El modo «local» debería funcionar en cualquier sistema basado en PostgreSQL, incluyendo los sistemas administrados, los cuales no deberían soportar el uso del modo «server» debido a los permisos. El valor predeterminado es «local», ya que es compatible con más configuraciones.
- Añade la directiva de configuración ORACLE_FDW_COPY_FORMAT. Cuando se utiliza Ora2Pg COPY con oracle_fdw es posible utilizar el formato de datos BINARY o CSV. BINARY proporciona un mejor rendimiento, sin embargo, requiere una coincidencia exacta del tipo de datos entre el FDW y la tabla de destino. CSV proporciona una mayor flexibilidad con respecto a la coincidencia de tipos de datos: si los tipos de datos de FDW y destino son funcionalmente compatibles, las columnas pueden copiarse. El valor por defecto es «binary».
La lista completa de cambios se encuentra en https://github.com/darold/ora2pg/blob/master/changelog
Gracias a todos los contribuidores. Todos están citados en el archivo changelog.
Enlaces y créditos
Se agradece a todos los usuarios que enviaron parches, reportaron errores o solicitaron características. Todos están citados en el archivo ChangeLog.
Ora2Pg es un proyecto abierto. Se agradece cualquier contribución que nos ayude a mejorar la herramienta. Pueden enviar sus ideas, solicitudes de características o parches a través de las herramientas de GitHub o directamente a ora2pg@darold.net.
Enlaces:
- Página web: https://www.ora2pg.com/
- Descargas: https://github.com/darold/ora2pg/releases
- Desarrollo: https://github.com/darold/ora2pg
- ChangeLog: https://github.com/darold/ora2pg/blob/master/changelog
- Documentación: https://github.com/darold/ora2pg/blob/master/README
Información sobre Ora2Pg :
Ora2Pg es una herramienta sencilla y confiable para migrar de Oracle a PostgreSQL. Desarrollada desde 2001, permite exportar la mayoría de los objetos de Oracle a un código compatible con PostgreSQL.
Ora2Pg funciona en cualquier plataforma y está disponible bajo licencia GPL v3.
Documentos, descargas y soporte están disponibles en http://www.ora2pg.com/