Recrear registros después de caída

Recrear registros (online redo logs) despúes de caída del servidor.

Un servidor fue reiniciado y el banco de datos que se alojaba en el se cayó.  Los registros (online redo logs) fueron borrados y me tocó recrearlos.

Startup con errores

Después de reiniciar el servidor, intenté reiniciar el banco de datos, pero faltaban los registros (online redo logs):

SQL> startup
ORACLE instance started.

Total System Global Area 2137886720 bytes
Fixed Size     2230072 bytes
Variable Size  1325402312 bytes
Database Buffers   788529152 bytes
Redo Buffers    21725184 bytes
Database mounted.
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1:
‘/u01/app/oracle/fast_recovery_area/ORADB/onlinelog/o1_mf_2_989ok9q3_.log’
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 2 thread 1:
‘/u01/app/oracle/oradata/ORADB/onlinelog/o1_mf_2_989ok45f_.log’
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

Los registros no estaban en el servidor:

SQL>!ls -lt /u01/app/oracle/oradata/ORADB/onlinelog/o1_mf_2_989ok45f_.log

 

Recrear los registros (online redo logs)

Apagar el banco de datos y reiniciarlo en “mount.”
SQL> shutdown immediate
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.

SQL>startup mount;

El banco de datos está configurado con OMF (Oracle managed files).  Hay dos opciones para reconstruir los registros (online redo logs):

alter database drop logfile group #
alter database add logfile group #
o
alter database clear logfile group #

Aquí borré y añadí los grupos 1 y 3.  Empecé con estos porque ninguno era el grupo actual (current.)

SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE   MEMBERS ARC
———- ———- ———- ———- ———- ———- —
STATUS  FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
—————- ————- ——— ———— ———
 1     1     3592   52428800    512 2 NO
INACTIVE       28715010 16-JAN-14     28721218 16-JAN-14
 
 3     1     3591   52428800    512 2 NO
INACTIVE       28701594 16-JAN-14     28715010 16-JAN-14
 
 2     1     3593   52428800    512 2 NO
CURRENT        28721218 16-JAN-14   2.8147E+14
SQL> alter database drop logfile group 1;
Database altered.
SQL> alter database add logfile group 1;
Database altered.
SQL> alter database drop logfile group 3;
Database altered.
SQL> alter database add logfile group 3;
Database altered.
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE   MEMBERS ARC
———- ———- ———- ———- ———- ———- —
STATUS  FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
—————- ————- ——— ———— ———
 1     1        0  104857600    512 2 YES
UNUSED      0     0
 
 3     1        0  104857600    512 2 YES
UNUSED      0     0
 
 2     1     3593   52428800    512 2 NO
CURRENT        28721218 16-JAN-14   2.8147E+14

Aquí despejé y reinicié el grupo 2:

SQL> alter database clear logfile group 2;

Database altered.
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE   MEMBERS ARC
———- ———- ———- ———- ———- ———- —
STATUS  FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
—————- ————- ——— ———— ———
 1     1     3594  104857600    512 2 NO
CURRENT        28721219 16-JAN-14   2.8147E+14
 
 3     1        0  104857600    512 2 YES
UNUSED      0     0
 
 2     1        0   52428800    512 2 NO
UNUSED       28721218 16-JAN-14     28721219 16-JAN-14
Los registros (online redo logs) fueron reconstruidos.  Los archivos se pueden ver en el servidor:
SQL> !ls -ltr /u01/app/oracle/oradata/ORADB/onlinelog
total 256276
-rw-r—– 1 oracle oinstall 104858112 Jan 16 11:42 o1_mf_3_9fj305xj_.log
-rw-r—– 1 oracle oinstall 104858112 Jan 16 11:43 o1_mf_1_9fj2yok2_.log

-rw-r—– 1 oracle oinstall  52429312 Jan 16 11:43 o1_mf_2_9fj325gx_.log

Ya con los registros (online redo logs) reconstruidos, se puede abrir el banco de datos:

SQL> alter database open;
Database altered.
SQL> exit

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s