jueves, 30 de enero de 2014

Wait Event Classes

Compartimos con vosotros este documento que encontramos hace unos días por los mares de Internet a raíz de un problemilla de rendimiento en una base de datos Oracle 10g. El documento recoge algunas esperas típicas de Oracle, agrupadas por tipologías y nos da unas cuantas alternativas para mirar de reducir dichas esperas y mejorar el rendimiento global de nuestras bases de datos Oracle.

Esperamos que os pueda servir de ayuda!

Oscar Pin Niebla
Senior Oracle DBA

martes, 28 de enero de 2014

Select count(*) y select * no coinciden

Caso abierto: 10101


mystic query on RAC 11gRealizamos un select count(*) from table desde una sesión de base de datos y nos devuelve un valor. Realizamos la misma consulta para ver los datos (select * from table) y no nos devuelve ningún registro

Escenario de operaciones: Oracle RAC 11gR2

Sin solución para la versión 11gR2

Aplicado workaround con resultado favorable

En noviembre de 2013 los Servicios de Información reciben un comunicado en el cual se informa de un comportamiento anómalo en una de las bases de datos a su cargo. Dos usuarios al realizar la misma consulta contra dicha base de datos simultáneamente reciben datos diferentes.

Una vez descartado que estén aplicando diferentes filtros y/o que estén consumiendo sustancias estupefacientes, se aísla la consulta para proceder a investigar este extraño caso de desaparición de registro.

El problema viene dado por el bug 13004894 que afecta a la versión 11R2 y que en principio queda resuelto en la versión 12.1.0.1 aunque este punto no lo hemos podido confirmar. El workaround que propone Oracle es modificar el valor del parámetro STATISTICS_LEVEL=TYPICAL, en nuestro caso teníamos este parámetro con el valor STATISTICS_LEVEL=ALL. Este cambio se puede realizar en caliente.

Una vez realizado el cambio del valor de este parámetro el comportamiento de la consultas es el esperado: al realizar un select count(*) from table y select * from table devuelve el mismo número de registros.

Oscar Pin Niebla
Senior Oracle DBA