21 dic 2007

Recuperando mi Base de Datos Oracle8.1.7

Hoy dia me he propuesto recuperar de alguna manera la base de datos en un servidor
oracle8i. Afortunadamente es de pruebas .... pero que mejor oportunidad que prepararse para lo peor antes de que suceda ;-).
Voy a empezar describiendo el problema:

1° - Comienzo verificando si la intancia esta arriba

xxx > ps -ef | grep smo

usr 21160 1 0 09:23:47 - 0:00 ora_smon_SID

2° - Inicio sqlplus como sysdba.

xxx > sqlplus '/as sysdba'

3° - Paro la base y todos los procesos que hacen a la instancia

SQL> shutdown immediate
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.

4° - Al no estar funcionando la base completamente ahora pruebo levantarla.

SQL> startup
ORACLE instance started.

Total System Global Area 72429460 bytes
Fixed Size 73620 bytes
Variable Size 55406592 bytes
Database Buffers 16777216 bytes
Redo Buffers 172032 bytes
Database mounted.
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

5° - Mato todos los procesos con shutdown abort y comienzo a levantar la base por partes para ver en que momento se produce el error.

SQL> startup nomount # Solo inicializo los procesos de la instancia.
ORACLE instance started.

Total System Global Area 72429460 bytes
Fixed Size 73620 bytes
Variable Size 55406592 bytes
Database Buffers 16777216 bytes
Redo Buffers 172032 bytes

SQL> startup force mount # Reinicio la instancia (procesos) y abro los controlfiles
. Lo que tambien se puede obtener con un 
SQL> alter database open;

ORACLE instance started

Total System Global Area 72429460 bytes
Fixed Size 73620 bytes
Variable Size 55406592 bytes
Database Buffers 16777216 bytes
Redo Buffers 172032 bytes
Database mounted.

6° - Al tratar de levantar la instacia completamente ( procesos, controlfiles, datafiles) vuelvo a
obtener el mismo error. En este punto puedo pensar que el error se produce cuando se leen los controlfiles o el recover datafile 'datafile/path' until cancel anterior dejo mas inconvenientes que soluciones. Por el momento me pongo a investigar el error anterior.