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;
Postar um comentário

Postagens mais visitadas deste blog

[eXo] - Remover janela de solicitação de Registro

[Kettle] - Ajuste de problema com horário de verão

Pegando informações de Sessão no Oracle e equivalente no MSSQL