Asunto: RMAN-06059 expected archived log not found Oracle
Tengo una BD de Oracle 10g x64 sobre Windows Server 2008 x64, la recuperé con un RMAN tras un fallo en los ficheros de control y los redo log, todo ha funcionado bien y la BD está OPEN y funcionando. Pero en el alert.log he visto este error:
Corrupt block seq: 9678 blocknum=1.
Bad header found during deleting archived log
Data in bad block - seq:0. bno:0. time:0
beg:0 cks:0
calculated check value: 0
Reread of seq=9678, blocknum=1, file=D:\ORAW\ORASID\ARCHIVELOG\ARC09678_0771954905.001, found same corrupt data
Reread of seq=9678, blocknum=1, file=D:\ORAW\ORASID\ARCHIVELOG\ARC09678_0771954905.001, found same corrupt data
Sun Mar 17 04:03:19 Hora estándar romance 2013
Thread 1 advanced to log sequence 17 (LGWR switch)
¿Es un error grave? ¿cómo puedo revisarlo?
Publicado:
Dom Mar 17, 2013 10:36 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Error Corrupt block seq found same corrupt data Oracle
Anuncios
No parece grave pero en Oracle nunca se sabe, decimos que no parece grave porque parece ser una corrupción en los ficheros de log archivado, no parece que sea en ficheros de datos.
De todas formas, para asegurarte de la gravedad, ejecuta esta consulta SQL y dinos el resultado:
select * from v$database_block_corruption;
Haz pruebas de carga en la BD, ejecuta consultas SQL "gordas" y si puedes haz alguna inserción en tablas para que cambie de secuencia y ver si se vuelve a producir el error.
Publicado:
Dom Mar 17, 2013 10:42 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Error Corrupt block seq found same corrupt data Oracle
Anuncios
alonsojpd escribió:
No parece grave pero en Oracle nunca se sabe, decimos que no parece grave porque parece ser una corrupción en los ficheros de log archivado, no parece que sea en ficheros de datos.
De todas formas, para asegurarte de la gravedad, ejecuta esta consulta SQL y dinos el resultado:
select * from v$database_block_corruption;
Haz pruebas de carga en la BD, ejecuta consultas SQL "gordas" y si puedes haz alguna inserción en tablas para que cambie de secuencia y ver si se vuelve a producir el error.
La consulta SQL que comentas no me devuelve ningún registro, he estado insertando registros y haciendo consultas SQL, se siguen creando ficheros de log archivado y parece que el error no se vuelve a reproducir.
Publicado:
Dom Mar 17, 2013 11:07 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Error Corrupt block seq found same corrupt data Oracle
Anuncios
Abre RMAN y ejecuta el siguiente comando:
Código:
BACKUP VALIDATE DATABASE ARCHIVELOG ALL;
Y dinos el resultado.
Publicado:
Dom Mar 17, 2013 11:22 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Error Corrupt block seq found same corrupt data Oracle
Anuncios
alonsojpd escribió:
Abre RMAN y ejecuta el siguiente comando:
Código:
BACKUP VALIDATE DATABASE ARCHIVELOG ALL;
Y dinos el resultado.
Me devuelve esto:
Microsoft Windows [Versión 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Reservados todos los derechos.
C:\Users\usuoracle>rman target=/
Recovery Manager: Release 10.2.0.5.0 - Production on Sun Mar 17 13:28:48 2013
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: ORASID (DBID=2652350038)
RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL;
Starting backup at 17-MAR-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=2127 devtype=DISK
RMAN-00571:============================================
RMAN-00569:====== ERROR MESSAGE STACK FOLLOWS ==============
RMAN-00571:============================================
RMAN-03002: failure of backup command at 03/17/2013 13:29:12
RMAN-06059: expected archived log not found, lost of archived log compromises recoverability
ORA-19625: error al identificar el archivo C:\ORAW\ORASID\ARCHIVELOG\ARC09664_0771954905.001
ORA-27041: no se ha podido abrir el archivo
OSD-04002: unable to open file
O/S-Error: (OS 2) El sistema no puede encontrar el archivo especificado.
Publicado:
Dom Mar 17, 2013 11:24 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Error Corrupt block seq found same corrupt data Oracle
Anuncios
Ejecuta este comando en RMAN, validará los ficheros de log archivado:
Código:
crosscheck archivelog all;
El comando anterior compruebará si te falta algún fichero de archive log (log archivado) comparándolo con los que tiene en su catálogo. Dinos qué resultado obtienes.
Aparentemente parece que tienes algunos ficheros de archive log inexistentes según el catálogo, tal vez por la recuperación.
Publicado:
Dom Mar 17, 2013 11:41 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Error Corrupt block seq found same corrupt data Oracle
Anuncios
alonsojpd escribió:
Ejecuta este comando en RMAN, validará los ficheros de log archivado:
Código:
crosscheck archivelog all;
He ejecutado el comando que me dices y, efectivamente, me indica que algunos ficheros no son válidos y no existen en la carpeta de archive log:
rman target sys/xxx@oraw NOCATALOG
Recovery Manager: Release 10.2.0.5.0 - Production on Sun Mar 17 13:38:13 2013
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: ORAW (DBID=2652350038)
using target database control file instead of recovery catalog
Asunto: Re: Error Corrupt block seq found same corrupt data Oracle
Anuncios
Sí, da la impresión de que tienes ficheros de log archivado que no existen en disco y que Oracle los tiene como válidos en su catálogo. Puedes eliminar las referencias a estos archivos inexistentes de archive log, desde RMAN, con el comando:
Código:
delete expired archivelog all;
Si te funciona correctamente te pedirá confirmación para eliminar los ficheros no sincronizados, pulsas "Y" si estás de acuerdo.
Cuando acabe el proceso vuelve a ejecutar:
Código:
crosscheck archivelog all;
Si ya no te aparecen errores vuelve a intentar lanzar el comando:
Código:
backup validate database archivelog all;
Y nos dices el resultado.
Publicado:
Dom Mar 17, 2013 11:56 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Error Corrupt block seq found same corrupt data Oracle
Anuncios
He ejecutado los comandos que dices y este es el resultado, parece que ha funcionado bien. Tengo una duda ¿qué hace exactamente el comando crosscheck?
rman target sys/xxx@orasid
RMAN> delete expired archivelog all;
released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=2128 devtype=DISK
List of Archived Log Copies
Key Thrd Seq S Low Time Name
------- ---- ------- - --------- ----
9663 1 9664 X 14-MAR-13 C:\ORAW\ORASID\ARCHIVELOG\ARC09664_0771954905.001
9664 1 9665 X 15-MAR-13 C:\ORAW\ORASID\ARCHIVELOG\ARC09665_0771954905.001
9665 1 9666 X 15-MAR-13 C:\ORAW\ORASID\ARCHIVELOG\ARC09666_0771954905.001
Do you really want to delete the above objects (enter YES or NO)? y
deleted archive log
archive log filename=C:\ORAW\ORASID\ARCHIVELOG\ARC09664_0771954905.001 recid=9663 stamp=810087937
deleted archive log
archive log filename=C:\ORAW\ORASID\ARCHIVELOG\ARC09665_0771954905.001 recid=9664 stamp=810117280
deleted archive log
archive log filename=C:\ORAW\ORASID\ARCHIVELOG\ARC09666_0771954905.001 recid=9665 stamp=810122713
deleted archive log
Deleted 3 EXPIRED objects
RMAN> crosscheck archivelog all;
released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=2128 devtype=DISK
validation succeeded for archived log
archive log filename=C:\ORAW\ORASID\ARCHIVELOG\ARC09681_0771954905.001 recid=9688 stamp=810225484
validation succeeded for archived log
archive log filename=C:\ORAW\ORASID\ARCHIVELOG\ARC09682_0771954905.001 recid=9689 stamp=810225485
validation succeeded for archived log
archive log filename=C:\ORAW\ORASID\ARCHIVELOG\ARC09683_0771954905.001 recid=9690 stamp=810225485
validation succeeded for archived log
archive log filename=C:\ORAW\ORASID\ARCHIVELOG\ARC00001_0810225482.001 recid=9691 stamp=810226188
validation succeeded for archived log
Crosschecked 52 objects
RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL;
Starting backup at 17-MAR-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00009 name=C:\ORAW\ORASID\APXXX001.DBF
input datafile fno=00010 name=C:\ORAW\ORASID\APXXX002.DBF
input datafile fno=00011 name=C:\ORAW\ORASID\APXXX003.DBF
input datafile fno=00001 name=C:\ORAW\ORASID\SYSTEM01.DBF
input datafile fno=00002 name=C:\ORAW\ORASID\UNDOTBS01.DBF
input datafile fno=00003 name=C:\ORAW\ORASID\SYSAUX01.DBF
input datafile fno=00004 name=C:\ORAW\ORASID\USERS01.DBF
channel ORA_DISK_1: backup set complete, elapsed time: 00:05:26
channel ORA_DISK_1: starting archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=1 recid=9691 stamp=810226188
input archive log thread=1 sequence=2 recid=9692 stamp=810226419
input archive log thread=1 sequence=3 recid=9693 stamp=810226446
input archive log thread=1 sequence=4 recid=9694 stamp=810226472
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:17
channel ORA_DISK_1: starting archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=9681 recid=9688 stamp=810225484
input archive log thread=1 sequence=9682 recid=9689 stamp=810225485
input archive log thread=1 sequence=9683 recid=9690 stamp=810225485
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 17-MAR-13
Publicado:
Dom Mar 17, 2013 2:57 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Error Corrupt block seq found same corrupt data Oracle
Anuncios
varios escribió:
He ejecutado los comandos que dices y este es el resultado, parece que ha funcionado bien. Tengo una duda ¿qué hace exactamente el comando crosscheck?
rman target sys/xxx@orasid
RMAN> delete expire...
El comando crosscheck sincroniza de forma real los ficheros de log archivado que actualmente existen físicamente en el disco duro con los del catálogo. De esta forma no se producirán errores de falta de fichero. Esta desincronización suele producirse tras una recuperación con RMAN o bien si se han eliminado y movido de ubicación ficheros de log archivado.
Según el resultado de la ejecución de los comandos que nos has posteado parece que se ha solucionado tu problema. Sigue revisando períodicamente los ficheros de log y asegúrate de que ya no se produce más el error.
Si te es posible ejecuta un backup completo con RMAN.
Publicado:
Dom Mar 17, 2013 3:26 pm
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: [RESUELTO] Error Corrupt block seq found same corrupt data
Anuncios
Ok, muchas gracias, ya funciona sin problemas, en el alert.log no indica errores y he lanzado varios RMAN completos.
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