Tengo un servidor con Oracle Database 10g sobre Microsoft Windows Server 2008. Hasta hace unos días me iba sin problemas pero ahora vi que me había quedado sin espacio y, revisando, vi el fichero Alert.log de Oracle, en este fichero aparece contínuamente el error:
Errors in file E:\Oracle\Contabilidad\bdump\contabilidad_j000_3064.trc:
ORA-00604: se ha producido un error a nivel 1 de SQL recursivo
ORA-08102: no se ha encontrado la clave de índice, objeto número 239, archivo 1, bloque 126 (2)
ORA-12012: error en la ejecución automática del trabajo 21
ORA-08102: no se ha encontrado la clave de índice, objeto número 239, archivo 1, bloque 126 (2)
Además he visto que en esa carpeta "bdump" me está creando miles de ficheros .trc con tamaños variables (10MB, 20MB) que ocupan una barbaridad (30GB) y que supongo que son los que me han dejado el disco duro sin espacio.
No tengo conocimientos de Oracle ¿estos ficheros .trc son necesarios? ¿se pueden eliminar o mover a otro sitio? ¿por qué se producen? ¿cómo puedo solucionar los errores que aparecen en el fichero alert.log?
Tengo un servidor con Oracle Database 10g sobre Microsoft Windows Server 2008. Hasta hace unos días me iba sin problemas pero ahora vi que me había quedado sin espacio y, revisando, vi el fichero Alert.log de Oracle, en este fichero aparece contínuamente el error:
Errors in file E:\Oracle\Contabilidad\bdump\contabilidad_j000_3064.trc:
ORA-00604: se ha producido un error a nivel 1 de SQL recursivo
ORA-08102: no se ha encontrado la clave de índice, objeto número 239, archivo 1, bloque 126 (2)
ORA-12012: error en la ejecución automática del trabajo 21
ORA-08102: no se ha encontrado la clave de índice, objeto número 239, archivo 1, bloque 126 (2)
Además he visto que en esa carpeta "bdump" me está creando miles de ficheros .trc con tamaños variables (10MB, 20MB) que ocupan una barbaridad (30GB) y que supongo que son los que me han dejado el disco duro sin espacio.
No tengo conocimientos de Oracle ¿estos ficheros .trc son necesarios? ¿se pueden eliminar o mover a otro sitio? ¿por qué se producen? ¿cómo puedo solucionar los errores que aparecen en el fichero alert.log?
Los ficheros .trc son ficheros de traza de error, en ellos Oracle guarda información útil para solucionar los errores que se producen en la base de datos. Estos ficheros son de texto plano y puedes moverlos a otra unidad pero no debes eliminarlos hasta que no estés seguro de que hayas solucionado el error, pues te pueden servir para solucionarlo. De momento, para liberar espacio corta estos ficheros a otra unidad y carpeta.
En cuanto al error que nos comentas, lo primero que debes hacer es averiguar qué objeto de la base de datos está corrupto. Ejecuta la siguiente select para averiguarlo:
Código:
select segment_name, segment_type, owner
from dba_extents
where file_id=1 and 126 between block_id and block_id + blocks -1;
Esto te devolverá el nombre del segmento, el tipo de segmento y el propietario. Dependiendo del tipo de segmento corrupto tendrás que hacer una cosa u otra para solucionarlo. Ejecuta la select anterior e intentaremos ayudarte.
Los ficheros .trc son ficheros de traza de error, en ellos Oracle guarda información útil para solucionar los errores que se producen en la base de datos. Estos ficheros son de texto plano y puedes moverlos a otra unidad pero no debes eliminarlos hasta que no estés seguro de que hayas solucionado el error, pues te pueden servir para solucionarlo. De momento, para liberar espacio corta estos ficheros a otra unidad y carpeta.
En cuanto al error que nos comentas, lo primero que debes hacer es averiguar qué objeto de la base de datos está corrupto. Ejecuta la siguiente select para averiguarlo:
Código:
select segment_name, segment_type, owner
from dba_extents
where file_id=1 and 126 between block_id and block_id + blocks -1;
Esto te devolverá el nombre del segmento, el tipo de segmento y el propietario. Dependiendo del tipo de segmento corrupto tendrás que hacer una cosa u otra para solucionarlo. Ejecuta la select anterior e intentaremos ayudarte.
Ahora debes eliminar y volver a crear el índice corrupto I_JOB_NEXT, antes de nada debes hacer copia de seguridad de la base de datos, tanto un export (copia lógica) como un RMAN o copia física de los ficheros.
Ejecuta la siguiente consulta que te devolverá todos los índices de la tabal JOB$ y todos los datos de los índices:
Si no estás seguro de cómo volver a crear el índice utiliza alguna herramienta como TOAD que te mostrará la consulta SQL necesaria para crear el índice.
En el caso del índice I_JOB_NEXT, para eliminarlo y volver a crearlo, ejecuta estas dos consultas:
Para eliminarlo:
Código:
drop index sys.i_job_next;
Para volver a crearlo:
Código:
create index i_job_next on job$ (next_date);
Con lo anterior de te debería solucionar el problema.
Ahora debes eliminar y volver a crear el índice corrupto I_JOB_NEXT, antes de nada debes hacer copia de seguridad de la base de datos, tanto un export (copia lógica) como un RMAN o copia física de los ficheros.
Ejecuta la siguiente consulta que te devolverá todos los índices de la tabal JOB$ y todos los datos de los índices:
Si no estás seguro de cómo volver a crear el índice utiliza alguna herramienta como TOAD que te mostrará la consulta SQL necesaria para crear el índice.
En el caso del índice I_JOB_NEXT, para eliminarlo y volver a crearlo, ejecuta estas dos consultas:
Para eliminarlo:
Código:
drop index sys.i_job_next;
Para volver a crearlo:
Código:
create index i_job_next on job$ (next_date);
Con lo anterior de te debería solucionar el problema.
Muchísimas gracias, ya se ha solucionado, he ejecutado las dos últimas consultas en SQLPlus eliminando y volviendo a crear el índice y ya no aparecen errores en el Alert.log ni se crean ficheros .trc.
Publicado:
Mie Jun 22, 2011 8:07 pm
elopezch Usuario
Registrado: Jul 23, 2012 Mensajes: 1
Asunto: Ayuda urgente error
Hola tengo ese mismo problema con una BD 10g.
Ya ejecuté las consultas y me devolvió que el objeto con problemas es: OBJ$, del esquema de SYS.
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A