Upgrade Oracle 11g a 19c

En el siguiente ejemplo mostramos el impacto en las queries durante las pruebas para un upgrade Oracle de versión 11g a 19c utilizando Query-Performance. Para la prueba, necesitamos un entorno del que obtener las queries en versión 11 y otro con los mismos datos ya en 19 para poder probar la ejecución de las queries, y validar que su comportamiento es el esperado.  

Pasos para las pruebas en una migración de 11g a 19c

Lo primero que vamos a hacer para las pruebas, es crear un work en la aplicación que almacene los datos de ejecución de las queries en ambos entornos y de esta forma poder compararlas. Para ello, creamos un work llamado Test upgrade 11 to 19:

Upgrade Oracle 11g a 19c

Para empezar a rellenar los datos, realizamos un capture de queries desde el repositorio AWR de Oracle en versión 11g que almacenaremos en un snapshot llamado awr11:

Durante el proceso, podemos filtrar el tipo de queries, en este ejemplo solo se capturan las select y de un esquema en concreto:

En el siguiente paso, se seleccionan los intervalos de AWR en los que estamos interesados y ponemos el nombre del snapshot:

En el resumen de la captura podemos ver que hemos recogido 31 queries:

El siguiente paso ya es volver a ejecutar estas 31 queries en versión 19c y ver el rendimiento de las mismas:

Podemos utilizar la funcionalidad Schema remap si los esquemas tienen nombre diferente en los dos entornos. Esto puede suceder si utilizamos por ejemplo una máquina de preproducción con un schema TESTREPO2 en lugar de TESTREPO de origen:

Al revisar las queries ejecutadas en el nuevo snapshot, ya podemos ver por ejemplo que una ha fallado, pudiendo ver el detalle del error para corregirlo:

Con los dos snapshots generados ya podemos crear un informe que nos permita ver el rendimiento de las queries en el nuevo entorno. En el ejemplo que vamos a ver, vamos a comparar por Buffer Gets (lecturas a disco o memoria) que puede ser indicador de que las queries no se están realizando correctamente. Disponemos de otra serie de medidores (Tiempo de ejecución, CPU, etc) que también nos pueden indicar problemas de rendimiento.

Cuando tenemos el informe generado, nos dará una serie de información que nos permitirá de una forma rápida y sencilla ver en que queries podemos tener problemas durante la migración Oracle de 11g a 19c. En este caso, los datos que nos devuelve son:

Podemos ver que la ejecución general ha sido mejor al realizar menos lecturas en el segundo snapshot (19c) que en el primero, pero podemos afinar la migración revisando las queries que han tenido un plan distinto y mayor número de lecturas. En este caso las vemos pulsando sobre la columna amarilla del apartado regressed:

Vemos que hay 10 Queries que empeoran y podemos navegar sobre ellas para ver el problema. Si nos centramos en una de ellas, vemos que el plan es distinto y las lecturas a disco en memoria aumentan:

Al pulsar sobre el plan en ambos entornos vemos que cambia:

Esto nos permite identificar cambios de rendimiento en las queries que eviten encontrarnos con sorpresas/ problemas tras el upgrade Oracle de 11g a 19c. Además, nos puede ofrecer toda la información sobre posibles errores. De esta forma, podemos anticiparnos a su corrección modificando las Queries con errores (permisos, sintaxis, funciones no soportadas, etc.)

Hasta aquí el caso de upgrade Oracle de 11g a 19c. Puedes ver otros casos de uso aquí.

Contacta con nosotros

    Tags: No tags

    Comments are closed.