Vamos a mostrar como se realizaría una prueba de migración de Oracle 11 a PostgreSQL 12.5 con la nueva versión de la herramienta Query Performance. Para realizar la prueba de migración es necesario replicar los datos que tenemos en nuestra instancia Oracle en la de la Postgres, para ello hemos utilizado la migrationtoolkit de EDB que nos permite migrar tanto la estructura de objetos como los datos. Una vez realizada esta migración ya podemos probar las consultas de nuestra base de datos Oracle en Postgres.
Pasos a seguir para las pruebas para migrar de Oracle a PostgreSQL:
1-. Creación de un WORK para la pruebas de migración de Oracle a PostgreSQL
Desde la ventana de WORKS generamos uno nuevo:

En los datos del work introducimos:

Una vez que el trabajo ha sido creado procedemos a darle contenido. Lo que haremos será generar un snapshot con la captura de queries Oracle que queremos probar.
2-. Captura de queries desde memoria para un esquema en concreto:
Accedemos a nuestro trabajo recién creado y lanzamos una captura:

En el filtro de captura simplemente ponemos el esquema original del que queremos extraer las consultas. No filtramos por tipo de query ni ningún otro campo para obtener todas las consultas:

En este caso, capturamos las queries de memoria y creamos un snapshot llamado Capture Oracle

Cuando lanzamos el capture podemos ver el progreso en la pantalla principal y los datos de la captura:

Una vez terminado el proceso, vemos que hemos capturado 82 queries y que las tenemos en el snapshot:

3. Sobre las 82 queries de Oracle vamos a realizar un replay en Postgres para ver el compartimiento de las sentencias en el nuevo entorno. Para ello seleccionamos la opción de replay en el mismo work y seleccionamos la conexión al servidor Postgres:

Seleccionamos la opción replay de snapshot y un replay normal (no fast replay) ya que queremos medir el tiempo empleado por las queries y con el fast replay solo capturamos los planes de ejecución. Seleccionamos el snapshot de Capture Oracle y vamos a guardar la ejecución en Replay Postgres:

Lanzamos el replay y podemos ver la progresión del trabajo hasta que termine:

En los detalles del replay podemos ver las queries que se han ejecutado correctamente y las que han fallado:


Cuando volvemos al detalle del work podemos ver los dos snapshots con el número de queries de cada uno, en este caso vemos que se han ejecutado las mismas queries:

4. Una vez que tenemos los dos snapshots podemos generar un informe para ver el comportamiento que podemos prever en la migración.

Elegimos el work anterior y los dos snapshots que hemos cargado con datos. Como queremos comparar por tiempo de las queries elegimos el método Elapsed time y ponemos un nombre al informe:

Una vez generado, podemos ver los detalles del mismo eligiendo el informe:

En la cabecera del informe podemos ver los datos del mismo:

También tenemos una sección Summary con los datos de la comparativa:

Podemos ver el número de queries que se han ejecutado bien y con errores. También tenemos el dato con la previsión de mejora o regresión de las queries que se han ejecutado correctamente. En la sección inferior vemos las queries que se han ejecutado bien y cuales de ellas con error, para poder navegar a través de ellas y corregir los posibles errores:

Al pulsar en las queries con error podemos ver que mensaje se ha producido, en este caso parece que la estructura no se ha migrado correctamente:

También tenemos una sección que nos indica que consultas mejorar, empeoran o siguen con las mismas estadísticas:

Si revisamos la sección Improved queries podemos ver las que mejoran y una comparativa de los planes:


Lo mismo podemos hacer con las que empeoran:


Como se puede comprobar, de una forma muy rápida podemos hacer un estudio de como se comportarán las queries de nuestro aplicativo en una migración de Oracle a PostgreSQL, obteniendo las queries que fallarán así como el rendimiento de las mismas en el nuevo entorno. También podemos cuales queries funcionan mejor y las que necesitan una optimización de consultas de base de datos para tener una migración sin sorpresas.
Contacta con nosotros