Hola Amig@s pues lo que les cuento un paso a paso de como recuperar/eliminar/limpiar un fichero de REDO de una BBDD oracle 10 y 11g:
NOTA: como ya sabemos, RMAN no realiza copia de seguridad de los ficheros REDO por lo que o se generan con el comando ALTER DATABASE OPEN RESETLOGS o no hay forma, a menos claro que tengan una copia en frio de la bbdd.
1-Nos conectamos a la base de datos con nuestro SQL y la paramos:
C:\>SQLPLUS sys/sys as sysdba
SQL> shutdown immediate
2-Montamos la base de datos sin abrirla:
SQL> startup mount;
3-Ahora debemos saber si alguno de los REDO esta con el atributo INVALID o cual esta ACTIVO (CURRENT), para ello , ejecutamos la siguiente query:
SQL> SELECT GROUP#, STATUS, MEMBER FROM V$LOGFILE;
SQL> SELECT GROUP#, MEMBERS, STATUS, ARCHIVED
FROM V$LOG;
Si el REDO 2 por ejemplo esta dañado y esta inactivo ejecutaremos:
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2;
Si el grupo entero del REDO 2 esta dañado entonces ejecutaremos:
SQL> ALTER DATABASE CLEAR LOGFILE UNARCHIVED GROUP 2;
Si el grupo REDO 2 esta offline y necesita ser limpiado entonces ejecutaremos:
SQL> ALTER DATABASE CLEAR LOGFILE UNARCHIVED GROUP 2 UNRECOVERABLE DATAFILE;
Una vez terminado hay que hacer una copia completa de la bbdd.
4-En el caso de que el REDO este activo hay que realizar la siguiente operacion:
SQL> ALTER SYSTEM CHEKPOINT;
SQL> STARTUP MOUNT
SQL> RECOVER DATABASE UNTIL CANCEL
Escribimos: CANCEL
SQL>ALTER DATABASE OPEN RESETLOGS
5-En el caso de que hayamos perdido un REDO es decir el propio fichero, podemos copiar uno y renombrarlo a otra ruta, por ejemplo:
SQL> ALTER DATABASE RENAME FILE '/oradata/trgt/redo01.log' TO '/tmp/redo01.log';
SQL> ALTER DATABASE OPEN RESETLOGS;
En fin, espero que les resulte util.
ORA-00333 ¿Como recuperar un Redo log corrupto?.
-
Base de datos
,
Brico
,
Cursos Paso a Paso
,
Noticias
,
Oracle
Edit
0 comentarios:
Publicar un comentario