Generalmente cuando uno apaga un equipo sin darlo de baja de manera ordenada, puede quedar un datafile con estatus RECOVER, aquí muestro como podemos recuperarnos de este error.

 

El error que podemos encontrar en el alert de oracle es el siguiente: 

ORA-00376: file 6 cannot be read at this time
ORA-01110: data file 6: '+DATA01/bd1/datafile/bd1_data.257.909657173'

La manera de diagnosticar el problema es haciendo un select sobre la vista v$datafile;

select name, status, file# from v$datafile;

Si encontramos algún datafile con status RECOVER, entonces necesitaremos recuperarlo, para eso siempre debemos de contar con nuestros respaldos completos y de redologs.

SQL> recover datafile '+DATA01/db1/datafile/db1_data.257.909657173';
ORA-00279: change 11036167507535 generated at 06/25/2016 02:59:03 needed for thread 1
ORA-00289: suggestion : /db/admin/db1/arch01/arch_db1_0001_0000001977_909664474.arc
ORA-00280: change 11036167507535 for thread 1 is in sequence #1977
 
Specify log: {=suggested | filename | AUTO | CANCEL}

ORA-00308: cannot open archived log '/db/admin/db1/arch01/arch_db_0001_0000001977_909664474.arc'
ORA-27037: unable to obtain file status
Solaris-AMD64 Error: 2: No such file or directory
Additional information: 3

En este caso requerimos del archivelog '/db/admin/db1/arch01/arch_db_0001_0000001977_909664474.arc', por lo que procederemos a recuperarlo.

 
1    1974    11036167505824 25-JUN-16 11036167506142 25-JUN-16
  1    1975    11036167506142 25-JUN-16 11036167506955 25-JUN-16
  1    1976    11036167506955 25-JUN-16 11036167507535 25-JUN-16
  1    1977    11036167507535 25-JUN-16 11036167507848 25-JUN-16
  1    1978    11036167507848 25-JUN-16 11036167508790 25-JUN-16
  1    1979    11036167508790 25-JUN-16 11036167510167 25-JUN-16
  1    1980    11036167510167 25-JUN-16 11036167532948 27-JUN-16
  1    1981    11036167532948 27-JUN-16 11036167544227 27-JUN-16

BS Key  Size       Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
121     74.38M     DISK        00:00:09     27-JUN-16
        BP Key: 121   Status: AVAILABLE  Compressed: YES  Tag: TAG20160627T091418
        Piece Name: /db/db1/db1/backupset/2016_06_27/o1_mf_annnn_TAG20160627T091418_cq2f5tg0_.bkp

  List of Archived Logs in backup set 121

  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time
  ---- ------- ---------- --------- ---------- ---------
  1    1982    11036167544227 27-JUN-16 11036167547148 27-JUN-16
  1    1983    11036167547148 27-JUN-16 11036167553060 27-JUN-16
 

RMAN>restore archivelog from sequence 1977 until sequence 1981;

 Starting restore at 27-JUN-16
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK

channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1977
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1978
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1979
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1980
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1981
channel ORA_DISK_1: reading from backup piece /db/dump01/db1/backupset/2016_06_27/o1_mf_annnn_TAG20160627T071759_cq26zzq8_.bkp
channel ORA_DISK_1: piece handle=/db/dump01/db1/backupset/2016_06_27/o1_mf_annnn_TAG20160627T071759_cq26zzq8_.bkp tag=TAG20160627T071759
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:07:05
Finished restore at 27-JUN-16

RMAN>exit
 

Y finalmente aplicamos el recovery

SQL>recover datafile '+DATA01/db1/datafile/db1_data.257.909657173';

ORA-00279: change 11036167507535 generated at 06/25/2016 02:59:03 needed for thread 1
ORA-00289: suggestion : /db/admin/db1/arch01/arch_b1_0001_0000001977_909664474.arc
ORA-00280: change 11036167507535 for thread 1 is in sequence #1977
 
Specify log: {=suggested | filename | AUTO | CANCEL}

AUTO

ORA-00279: change 11036167507848 generated at 06/25/2016 02:59:57 needed for thread 1
ORA-00289: suggestion : /db/admin/db1/arch01/arch_db1_0001_0000001978_909664474.arc
ORA-00280: change 11036167507848 for thread 1 is in sequence #1978

 ORA-00279: change 11036167508790 generated at 06/25/2016 03:01:00 needed for thread 1
ORA-00289: suggestion : /db/admin/db1/arch01/arch_db1_0001_0000001979_909664474.arc
ORA-00280: change 11036167508790 for thread 1 is in sequence #1979

ORA-00279: change 11036167510167 generated at 06/25/2016 03:02:40 needed for thread 1
ORA-00289: suggestion : /db/admin/db1/arch01/arch_db1_0001_0000001980_909664474.arc
ORA-00280: change 11036167510167 for thread 1 is in sequence #1980

Log applied.
Media recovery complete.
SQL>
alter database datafile '+DATA01/db1/datafile/db1_data.257.909657173' online;

SQL>

Database altered.

 

Y verificamos

SQL> select name,status,file#  from v$datafile;
NAME                      STATUS       FILE#
------------------------- ------- ----------
+DATA01/bd1/datafile/bd1_data.257.909657173 ONLINE           6

You are not authorised to post comments.

Comments powered by CComment

DBASupport - Foro

Mirroring con estados disconnected
Hola, el día de hoy después de reiniciar mi servidor de destino a donde realizo el mirroring ya no pude replicar más, el error que muestra es que...

Se me duplica el mensaje en /etc/motd
  • Topic started by agamez
  • in General
  • 5 years ago.
  • 5 years ago.
  • 2 replies
Buen día, alguien tiene idea porque después de actualizar a fedora 28 se me esta duplicando la salida de mi /etc/motd?

Cómo puedo filtrar un mensaje en el log messages
Buenos días, estoy recibiendo en mi log de errores muchos mensajes de cron, ya que tengo varios crones configurados en mi server. Existe alguna...

Cómo validar la hora de ejecución de un proceso
Hola, estoy tratando de validar que un proceso sólo pueda ser ejecutado dentro de un periodo de tiempo, en este caso entre las 7:00 AM y las 7:00...

Estadisticas en la base de datos
Buenos días, estoy teniendo problemas de performance en mis queries y quisiera saber como puedo validar que mis tablas tienen las estadisticas...
URGE AYUDA
  • Topic started by
  • in General
  • 18 years ago.
  • 18 years ago.
  • 30 replies
HOLA ESPERO ME PUEDAN AYUDAR. TEN GO UNA TABLA CON una estructura similar a la siguiente: id_mov cargo subtotal total...

Duada de Memoria de SQL Server 2005
  • Topic started by Erzengel
  • in General
  • 14 years ago.
  • 13 years ago.
  • 30 replies
Buen Día Recurro nuevamente a su sabiduría. Quiero saber el porque tiene un tope SQL Serever de 2GB en Windows server 2003 de 32 bit y si alguien...

SqlDateTime overflow
  • Topic started by
  • in General
  • 17 years ago.
  • 17 years ago.
  • 11 replies
Alguno de ustedes ha tenido este problema: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.' Les...

problemas para iniciar el agente sql
  • Topic started by acgch
  • in General
  • 17 years ago.
  • 17 years ago.
  • 11 replies
Recientemente para asegurar el sql server 2005, cree una cuenta sql con derechos de sysadmin y borre el grupo BUILTIN\Administradores para evitar...

Puerto de Enterprise Manager
  • Topic started by
  • in General
  • 16 years ago.
  • 16 years ago.
  • 12 replies
Hola, estoy tratando de acceder a mi enterprise manager de un oracle 10G, donde puedo ver en que puerto esta levantando para entrar desde mi...
Mirroring con estados disconnected
Hola, el día de hoy después de reiniciar mi servidor de destino a donde realizo el mirroring ya no pude replicar más, el error que muestra es que...

Se me duplica el mensaje en /etc/motd
  • Topic started by agamez
  • in General
  • 5 years ago.
  • 5 years ago.
  • 2 replies
Buen día, alguien tiene idea porque después de actualizar a fedora 28 se me esta duplicando la salida de mi /etc/motd?

Cómo puedo filtrar un mensaje en el log messages
Buenos días, estoy recibiendo en mi log de errores muchos mensajes de cron, ya que tengo varios crones configurados en mi server. Existe alguna...

Cómo validar la hora de ejecución de un proceso
Hola, estoy tratando de validar que un proceso sólo pueda ser ejecutado dentro de un periodo de tiempo, en este caso entre las 7:00 AM y las 7:00...

Estadisticas en la base de datos
Buenos días, estoy teniendo problemas de performance en mis queries y quisiera saber como puedo validar que mis tablas tienen las estadisticas...
Deshabilitar todos los jobs
  • Topic started by agamez
  • in Jobs
  • 6 years ago.
  • 6 years ago.
  • 1 reply
Buenos días, alguien sabe como puedo deshabilitar rapidamente todos los jobs de SQL Server, gracias.

Mirroring con estados disconnected
Hola, el día de hoy después de reiniciar mi servidor de destino a donde realizo el mirroring ya no pude replicar más, el error que muestra es que...

Se me duplica el mensaje en /etc/motd
  • Topic started by agamez
  • in General
  • 5 years ago.
  • 5 years ago.
  • 2 replies
Buen día, alguien tiene idea porque después de actualizar a fedora 28 se me esta duplicando la salida de mi /etc/motd?

Cómo puedo filtrar un mensaje en el log messages
Buenos días, estoy recibiendo en mi log de errores muchos mensajes de cron, ya que tengo varios crones configurados en mi server. Existe alguna...

Cómo validar la hora de ejecución de un proceso
Hola, estoy tratando de validar que un proceso sólo pueda ser ejecutado dentro de un periodo de tiempo, en este caso entre las 7:00 AM y las 7:00...