
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