quarta-feira, 6 de outubro de 2010

Abrir Banco de dados sem REDOs e ARCHIVEs, É possível?

Se você não possui salva do seu banco de dados e archivelogs tudo pode estar perdido...

A não ser que você conheça o parâmetro _ALLOW_RESETLOGS_CORRUPTION = TRUE.
Sua única chance de recuperar seu banco. Este parâmetro não é suportado pela Oracle. Então use com moderação.
Inclua este parâmetro no seu pfile e então abra o banco de dados com a opção OPEN RESETLOGS. Depois remova-o e execute os seguintes passos:

1) Faça export full de toda a base de dados.
2) Crie um control file "alter database backup controlfile to trace;".
3) Edite o arquivo de trace (*.trc ), localizado no diretório user_dump_dest, para remover todos os datafiles exceto o SYSTEM, TEMP and RBS/UNDO. Então renomeie o arquivo .trc para .sql com um nome sugestivo.
4) Salve o arquivo INIT<SID>.ORA que será usado mais tarde.
5) Recrie o banco de dados conectando-se com a instância IDLE e execute STARTUP NOMOUNT (use o pfile do passo 4) use o comando CREATE CONTROLFILE ... LOGFILE ... DATAFILE ... a partir do arquivo criado no passo 3.
6) Execute o CATALOG, CATPROC como se estivesse criando um banco de dados novo.
7) Faça um import do arquivo de dump criado no passo 1. Este procedimento criará todos os indexes e dados nas tabelas.
8) As transações perdidas poderão agora ser recriadas a partir de programas que abortaram o momento da perda do banco de dados.

Pronto! Eu já precisei disso, mas o melhor sempre é fazer backup.
"Só Jesus SALVA, o homem faz BACKUP".

2 comentários:

  1. Sensacional!!!..Gostei muito deste artigo.
    Parabéns pelo BLOG, muito bom tambpem.

    Sucesso!!!

    David

    ResponderExcluir
  2. Execelente, vou testar agora, estou precisando abrir um banco aqui faltando archive. kkkkkkkkk
    Parabéns

    ResponderExcluir