Blog

Noticias

Lanzamiento de Ora2Pg v23.0

Grenoble, Francia – 15 de noviembre de 2021

Lanzamiento de Ora2Pg v23.0

Ha sido lanzada oficialmente, y está disponible para su descarga, la versión 23.0 de Ora2Pg, una herramienta gratuita y fiable para la migración de bases de datos Oracle a PostgreSQL. 

Esta versión corrige varios problemas reportados en los últimos tres meses y añade varias nuevas características y mejoras.

Nuevas características y mejoras:

  • Añade una función de validación de datos que consiste en comparar los datos recuperados de una tabla foránea que apunta a la tabla Oracle de origen y los de una tabla PostgreSQL local obtenida de la exportación de datos.
  • Añade el reemplazo de UTL_RAW.CAST_TO_RAW con encode().
  • Añade la reescritura de XMLTYPE() con xmlparse(DOCUMENT convert_from(…, ‘utf-8’)).
  • Añade la detección de la función XML para el coste de evaluación de la migración.
  • Añade DBMS_RANDOM a la lista de oraclismos manejados por Orafce.
  • Añade soporte para el conector de datos externos mysql_fdw que permite exportar datos de tablas PostgreSQL.
  • Permite transformar todos los NUMBER(,scale) a otro tipo de datos mediante una redefinición del tipo NUMBER(\,2):decimal en la directiva de configuración DATA_TYPE.
  • Añade a la documentación información sobre cómo utilizar la conexión cifrada SSL.
  • Añade la acción TEST_COUNT para reportar únicamente la diferencia en el número de filas entre tablas Oracle y PostgreSQL.
  • Permite procesos múltiples con la acción TEST_DATA para validar la migración de datos. Se utiliza -P o PARALLEL_TABLES para establecer el número de tablas paralelas verificadas.

Nuevas opciones de línea de comandos:

  • Añade la nueva opción –blob_to_lo que puede ser utilizada para exportar BLOB como objetos de gran tamaño. Al utilizarla con la acción TABLE, la columna BLOB será convertida al tipo de datos oid de PostgreSQL. Cuando se utiliza con la acción de exportación INSERT, los datos BLOB se almacenarán como objetos de gran tamaño en la tabla pg_largeobjects y el oid que hace referencia a este objeto de gran tamaño será almacenado en la tabla principal en lugar de un bytea.
  • Añade la opción de línea de comandos -W | –where que permite definir las cláusulas WHERE que serán aplicadas a la consulta de Oracle para recuperar los datos. Puede ser utilizada repetidas veces. Anulará la directiva de configuración WHERE.

Nuevas directivas de configuración:

  • Añade la directiva de configuración DATA_VALIDATION_ORDERING, habilitada por defecto. El orden de los registros entre ambos lados es distinto una vez que los datos han sido modificados. En este caso los datos deben ser ordenados utilizando una clave primaria o un índice único, lo que significa que una tabla sin dicho objeto no puede ser comparada. La validación podrá ser aplicada a todas las tablas sin ningún tipo de ordenación, siempre y cuando se realice justo después de la importación de datos, en modo proceso único, y sin ninguna modificación de los mismos datos.
  • Añade DATA_VALIDATION_ERROR para detener la validación de los datos de una tabla, tras producirse un determinado número de errores de validación de registros. Por defecto se detiene después de 10 errores de validación.
  • Añade la directiva de configuración VARCHAR_TO_TEXT. Por defecto, los VARCHAR2 sin restricción de tamaño se convierten en tipo de datos de texto PG. Si se desea utilizar varchar en su lugar, deberá deshabilitarse esta directiva.

Compatibilidad con versiones anteriores:

  • Añade la directiva de configuración FORCE_PLSQL_ENCODING. La versión anterior de Ora2Pg codificaba todo el código de las funciones a ut8. Esto ya no ocurre, puesto que podría resultar en una doble codificación. Para restablecer el comportamiento anterior (aunque no es recomendable) deberá habilitarse esta directiva.
  • Cambia el comportamiento de las columnas RAW. Ahora las columnas RAW(16) y RAW(32) o las columnas RAW con «SYS_GUID()» como valor por defecto serán convertidas automáticamente en uuid. Los datos se migrarán automáticamente como tipo de datos uuid de PostgreSQL proporcionado por la extensión «uuid-ossp».