La situación es la siguiente. Mi base de datos está operativa y en correcto funcionamiento pero, por algún motivo que en este momento no viene al caso, una o varias aplicaciones que acceden a esta base de datos dan un error tipo ORA-00376 e indican que no pueden acceder a un datafile. Si se realiza una consulta desde SQLPLUS para comprobar el estado del datafile, el resultado será algo como lo que sigue:
SQL> select file_name,status, online_status from dba_data_files where file_name
like '%nombre%';
FILE_NAME STATUS ONLINE_
------------------------------------------------------------ --------- -------
+DG/sid/datafile/nombre.366.650544699 AVAILABLE RECOVER
Como se puede observar, el datafile se encuentra en estado RECOVER (el fichero tiene algún tipo de corrupción). Lo inmediato en este momento sería lanzar un comando recover desde la propia consola de SQLPLUS. Si la corrupción es reciente, es posible que esto funcione, pero si la corrupción del fichero data de algunas horas, lo más probable es que el intento dé algún tipo de error, como el que se puede ver a continuación:
SQL> recover datafile ‘+DGANCD/ancri/datafile/know.366.650544699′;
ORA-00279: el cambio 7306246681017 generado en 05/24/2009 02:45:57 es necesario para el thread 1
ORA-00289: sugerencia: +DGANCF/ancri/1_15322_619033057.dbf
ORA-00280: el cambio 7306246681017 para el thread 1 está en la secuencia número 15322
Especificar log: {<RET>=sugerido | nombre_archivo | AUTO | CANCEL}
ORA-00308: no se puede abrir el archive log ‘+DGANCF/ancri/1_15322_619033057.dbf’
ORA-17503: ksfdopn:2 Fallo al abrir el archivo +DGANCF/ancri/1_15322_619033057.dbf
ORA-15173: entry ‘1_15322_619033057.dbf’ does not exist in directory ‘ancri’
SQL> recover datafile '+DG/sid/datafile/nombre.366.650544699';
ORA-00279: el cambio 7306246681017 generado en 05/24/2009 02:45:57 es necesario para el thread 1
ORA-00289: sugerencia: +DG/sid/1_15322_619033057.dbf
ORA-00280: el cambio 7306246681017 para el thread 1 está en la secuencia número 15322
Especificar log: {<RET>=sugerido | nombre_archivo | AUTO | CANCEL}
ORA-00308: no se puede abrir el archive log '+DG/sid/1_15322_619033057.dbf'
ORA-17503: ksfdopn:2 Fallo al abrir el archivo +DG/sid/1_15322_619033057.dbf
ORA-15173: entry '1_15322_619033057.dbf' does not exist in directory 'sid'
En este momento entra en juego RMAN.
Leer el resto de esta entrada »