Pesadilla

Ayer dejé corriendo una creación de índices en una instancia Oracle 10.2.0.1 recién instalada en un Windows 2003 Server… Al llegar esta mañana, veo que en la última línea de la ventana del SQL*plus aparece el mensaje ‘índice creado’. ‘Todo OK’, pienso. Pero cuando empiezo con la primera ‘SELECT’ me encuentro con el ORA-03113.

La Instancia está caída y no se levanta. El ‘alert log’ está lleno de

ORA-00600: codigo de error interno, argumentos: [kghstack_free2]

y de

ORA-07445: se ha encontrado una excepcion: volcado de memoria [ACCESS_VIOLATION] [_kghstack_err+104] [PC:0x603CC782] [ADDR:0xFFFFFFF0] [UNABLE_TO_READ] []

La instancia se puede montar, pero cada vez que intenta abrir la base de datos… ¡BAM!.

Miro los controlfiles y hay DOS iguales y UNO distinto! Mal rollito. Copio uno bueno (de los que son iguales) sobre el malo (el distinto). La instancia sigue sin poder abrir la base de datos.

Siguiente paso: DBVerify. Me canta errores en tres ficheros de un tablespace de datos y en un fichero de un tablespace de índices (datafiles 5,6,7 y 8).

¿Qué hacer? La base de datos era nueva, recién instalada para desarrollo y (¡snif!) en NOARCHIVELOG. No hay backup, no hay export…

Consigo que por fin abra la base de datos a base de ALTER DATABASE DATAFILE … OFFLINE DROP

Y luego :

carlos@db01.xxxxxx> recover automatic datafile 5;
Recuperación del medio físico terminada.
carlos@db01.xxxxxx> recover automatic datafile 6;
Recuperación del medio físico terminada.
carlos@db01.xxxxxx> recover automatic datafile 7;
Recuperación del medio físico terminada.
carlos@db01.xxxxxx> recover automatic datafile 8;
Recuperación del medio físico terminada.
carlos@db01.xxxxxx> alter database datafile 5 ONLINE;

Base de datos modificada.

carlos@db01.xxxxxx> alter database datafile 6 ONLINE;

Base de datos modificada.

carlos@db01.xxxxxx> alter database datafile 7 ONLINE;

Base de datos modificada.

carlos@db01.xxxxxx> alter database datafile 8 ONLINE;

Base de datos modificada.

carlos@db01.xxxxxx> alter database open;

Base de datos modificada.

carlos@db01.xxxxxx>

Después de esto, consigo ver algunas tablas, pero al cabo de un rato:

ERROR en línea 1:
ORA-03113: fin de archivo en el canal de comunicación

ERROR:
ORA-03114: no conectado a ORACLE

Y a partir de entonces, no arranca.

Otra vez:

carlos@db01.xxxxxx> connect / as sysdba
Conectado a una instancia inactiva.
carlos@db01.xxxxxx> STARTUP mount
Instancia ORACLE iniciada.

Total System Global Area  612368384 bytes
Fixed Size                  1250452 bytes
Variable Size              67111788 bytes
Database Buffers          541065216 bytes
Redo Buffers                2940928 bytes
Base de datos montada.
carlos@db01.xxxxxx> alter database datafile 5 offline drop
  2  /

Base de datos modificada.

carlos@db01.xxxxxx> alter database datafile 6 offline drop
  2  /

Base de datos modificada.

carlos@db01.xxxxxx> alter database datafile 7 offline drop
  2  /

Base de datos modificada.

carlos@db01.xxxxxx> alter database datafile 8 offline drop
  2  /

Base de datos modificada.

carlos@db01.xxxxxx> alter database open;

Base de datos modificada.

carlos@db01.xxxxxx>

La base de datos está abierta, pero todos los objetos (¡todos los que me importan!) que están en esos datafiles están kaputt, K.O., muertos sin remisión.

El culpable parece ser el ‘hardware’: han venido apareciendo errores varios (y extraños) en diferentes aplicaciones. Un ejemplo: tras copiar datos de un CD al HD, los ficheros cantan errores de CRC!

Resultado: Pedir un equipo nuevo y reinstalar todo desde cero (y el trabajo de varios días a la basura…)

Hay días en los que uno no se debería levantar de la cama…

Nota para mí: Si estamos en ‘NOARCHIVELOG’ hacer ‘backups’ frecuentemente.

Saludos.

Carlos.

5 respuestas a Pesadilla

  1. Hector Gabriel Ulloa Ligarius dice:

    Hola Carlos

    Por lo que mencionas la recuperación la hiciste desde tus Redo, ¿tuviste la suerte de que no se sobreescribieron?

    Eso

    Atte
    Hector Gabriel Ulloa Ligarius
    http://ligarius.wordpress.com

  2. carlosal dice:

    Héctor:

    La verdad es que no hubo ‘recover’ ni nada: al intentar poner un datafile de ‘offline’ a ‘online’ siempre te pide ‘recovery’.

    Y no: no pude recuperar. Los datafiles están corruptos sin remisión.

    Saludos.

    Carlos.

  3. mariaig dice:

    Buenas

    Yo tuve errores similares al trabajar con Toad, y se solucionaron todos cambiando la versión del cliente de Oracle

  4. carlosal dice:

    María:

    Yo he visto al TOAD hacer cosas raras, pero nunca corromper datafiles !!.

    En este caso, el problema estaba en los discos duros (creo).

    Saludos.

    Carlos

  5. carlosal dice:

    Para los que hayan seguido la saga:

    Ayer recibí una llamada del fabricante del equipo defectuoso (estaba en garantía) en la cual me dijo que había detectado errores en una de las tarjetas (bancos) de memoria. Eso explica la gran cantidad de errores aleatorios que se producían (alguna vez el Windows cantaba errores en DLL’s). No obstante, le sugerí que pasara alguna utilidad de comprobación de los discos duros (serial ata en RAID).

    Así pues, el problema sí estaba en el ‘hardware’, aunque parece que era la memoria lo que fallaba y no los discos duros, como yo creía.

    Saludos.

    Carlos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: