Error ORA-00600: internal error code, arguments: [19004], [], [], [], [], [], []... despues de imp
Publicado por pabusa (3 intervenciones) el 31/05/2018 08:56:06
Hola, antes que nada pues saludos a todos ya que acabo de acceder a esta comunidad. En este caso por unos problemas que estoy teniendo con Oracle.
Antes de nada comentar que mis conocimientos no son especialmente avanzados, tal vez más lo contrario.
La cuestión es que me ha tocado migrar un aplicativo que tenemos en un servidor a otro nuevo con más prestaciones pero me está dando buenos dolores de cabeza.
Os cuento... hago un exp de un esquema.... en el .log sin errores...
En el servidor destino hago el imp ... en el log aparecen avisos de que hay procedimientos sin validar, pero nada más... después del imp los valido y listo... pero la cosa no queda así...
Cuando el aplicativo lanza ciertas consultas oracle devuelve el error:
ORA-00600: internal error code, arguments: [19004], [], [], [], [], [], [], [], [], [], [], [].....
Revisando la consulta que hace nos damos cuenta que cuando cruza datos entre ciertas tablas... oracle tira el error...
Si reviso los datos de las tablas implicadas con el origen son iguales... y puedo acceder tanto a una como a otra... lo dicho, los datos son "aparentemente" correctas (en el destino)... pero cuando trato de cruzar... pummm salta el error....
He conseguido subsanar el problema haciendo un REBUILD de las TABLAS conflictivas (probamos con los indices y no iba), (nos dimos cuenta porque si copiamos los datos de las tablas implicadas en 2 nuevas tablas... la consulta iba va perfecta)... el Rebuild lo que hace prácticamente es eso... crea 2 tablas pivote... vuelca los datos... borrar las tablas originales.... las crea de nuevo y copia los datos de las temporales...
Pero esquema tiene pechá de tablas, el aplicativo es de terceros.... y no sería viable cada vez que nos encontramos con un problema tener que andar analizando la select implicada... todas las tablas que se puedan estar cruzando... sería un trabajo interminable... y todo ello sin saber si queda 1 conflico más o 1 millón ....
La cuestión es:
- ¿Por qué el "import" está provocando esos errores ... si las tablas son las que son y tienen los datos que deben tener (el REBUILD lo hago a partir de ellas mismas)? Errores que a priori no aparecen en los .logs de los imp/exp
- ¿Podría subsanar la situación automáticamente con algún procedimiento? Si es es la única solución al problema... querría lanzarla a todo el esquema pero son más de 600 tablas por unos 30-40 segundos que tarda en hacer el Rebulid... unas cuantas horas de parada que no son viables....
- ¿Cómo puedo darle solución al problema?
Gracias.
Antes de nada comentar que mis conocimientos no son especialmente avanzados, tal vez más lo contrario.
La cuestión es que me ha tocado migrar un aplicativo que tenemos en un servidor a otro nuevo con más prestaciones pero me está dando buenos dolores de cabeza.
Os cuento... hago un exp de un esquema.... en el .log sin errores...
En el servidor destino hago el imp ... en el log aparecen avisos de que hay procedimientos sin validar, pero nada más... después del imp los valido y listo... pero la cosa no queda así...
Cuando el aplicativo lanza ciertas consultas oracle devuelve el error:
ORA-00600: internal error code, arguments: [19004], [], [], [], [], [], [], [], [], [], [], [].....
Revisando la consulta que hace nos damos cuenta que cuando cruza datos entre ciertas tablas... oracle tira el error...
Si reviso los datos de las tablas implicadas con el origen son iguales... y puedo acceder tanto a una como a otra... lo dicho, los datos son "aparentemente" correctas (en el destino)... pero cuando trato de cruzar... pummm salta el error....
He conseguido subsanar el problema haciendo un REBUILD de las TABLAS conflictivas (probamos con los indices y no iba), (nos dimos cuenta porque si copiamos los datos de las tablas implicadas en 2 nuevas tablas... la consulta iba va perfecta)... el Rebuild lo que hace prácticamente es eso... crea 2 tablas pivote... vuelca los datos... borrar las tablas originales.... las crea de nuevo y copia los datos de las temporales...
Pero esquema tiene pechá de tablas, el aplicativo es de terceros.... y no sería viable cada vez que nos encontramos con un problema tener que andar analizando la select implicada... todas las tablas que se puedan estar cruzando... sería un trabajo interminable... y todo ello sin saber si queda 1 conflico más o 1 millón ....
La cuestión es:
- ¿Por qué el "import" está provocando esos errores ... si las tablas son las que son y tienen los datos que deben tener (el REBUILD lo hago a partir de ellas mismas)? Errores que a priori no aparecen en los .logs de los imp/exp
- ¿Podría subsanar la situación automáticamente con algún procedimiento? Si es es la única solución al problema... querría lanzarla a todo el esquema pero son más de 600 tablas por unos 30-40 segundos que tarda en hacer el Rebulid... unas cuantas horas de parada que no son viables....
- ¿Cómo puedo darle solución al problema?
Gracias.
Valora esta pregunta
0