Recuperando Datafile(s) Danificado(s)

Ao nos depararmos com o erro acima podemos seguir os procedimentos detalhados mais abaixo para recuperar o datafile danificado:

  • Conectamos no Servidor onde o Oracle está instalado;
  • Acessamos o sqlplus como usuário sys;
  • Paramos o banco;
  • Subimos a instância do banco somente em modo “Mount” (não aberto);
  • Rodamos o comando de recuperação sobre o arquivo informado no erro;
  • Abrimos o banco (modo Open);
  • Alteramos o datafile para modo online;
  • Liberamos o Oracle para utilização.
Exemplo prático dos passos acima:
SQLPLUS SYS/ORACLE AS SYSDBA;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
RECOVER DATAFILE 'E:\ORACLE\ORADATA\ORCL\CIGAM_DATA01.DBF';
ALTER DATABASE OPEN;
ALTER DATABASE DATAFILE 'E:\ORACLE\ORADATA\ORCL\CIGAM_DATA01.DBF' ONLINE;
Observações:
  • Funciona somente com ARCHIVE LOGs habilitados no banco;
  • Estes passos são para datafiles de dados (CIGAM_DATA, USERS), não para datafiles do sistema (SYSTEM.DBF, UNDO.DBF), nem para tempfiles (TEMP.DBF);
  • Caso o banco não esteja com ARCHIVE LOGs habilitado o único recurso possível é voltar backup.
  • Comando para verificar se Oracle está em modo ARCHIVE ou não: SELECT LOG_MODE FROM V$DATABASE;

Comentários

Postagens mais visitadas deste blog

[Openfire] - Ajuste de horário no cliente Spark

Verificar uso de disco em partição ASM do Oracle 11g no Linux

[Kettle] - Ajuste de Memória de Utilização