ORA-03113 end of file on communication file en Oracle con comando Analyze

El otro día comentaba un error de Oracle ORA-03113 el cual sinceramente, es uno de los más desagradables que puede dar Oracle, porque ciertamente, antes de ocurrir este error ocurrió otro previo.
En el post anterior refería a un renombrado de tablas y pérdida de estadísticas.
Bien, la solución era Analizar las tablas involucradas nuevamente.
Como prevención comenzamos a utilizar esta estrategia, pero nos encontramos con el mismo error, pero ahora desde el Sqlplus.
El problema era que algunas de las tablas que queríamos Analizar, tenían dentro de las columnas claves, “caracteres extraños” del tipo chr(10) chr(13), etc.
Para descubrir esto simplemente bastó hacer un group by por cada campo de la tabla y en algunos casos ya obtuvimos el ORA-03113

Ejemplo:

Tabla1
Col1 char(30)
Col2 char(30)
Col3 char(30)

Col1
A
A
B

Col2
A||B
A||C
AB

(Los || simulan los caracteres especiales que no los puedo reproducir en el post)

Col3
A
B
C

Al realizar un select Col1,count(*) from Tabla1 group by Col1;
El resultado es correcto

Idem para Col3

Pero al realizar la consulta para Col2, luego de no demorar mucho, obtenemos el ORA-03113

Por fortuna, estábamos a punto de instalar el patch 4547809 para Oracle 9.2.0.8 lo cual fue realizado, y para nuestra sorpresa… los analize comenzaron a funcionar perfectamente.

Entonces recomiendo actualizar este patch para quienes no lo hayan hecho y estén con Oracle 9 ya que además de este, soluciona un paquete grande de bugs.

Fabricio De los Santos
Gerencia de Proyectos – Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com

Deja un comentario