- Este tópico contém 5 respostas, 4 vozes e foi atualizado pela última vez 13 anos atrás por
Ricardo Portilho Proni.
-
AutorPosts
-
14 de fevereiro de 2013 às 5:25 pm #105085
armandoveloso
ParticipanteBom dia, pessoal!
Tenho um banco (11G 64bits) de homologacao que esta com problema na inicializacao, pedindo recuperacao num datafile.
Essa base não esta em modo arquivado…
Ao tentar “recover datafile 5” ele pede archive log para recuperar o arquivo 5!
ORA-00279: change 3456123194 generated at 11/21/2012 15:00:03 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/flash_recovery_area/HOMOLOG/archivelog/2013_02_14/o1_mf_1_2407_%u_.arc
ORA-00280: change 3456123194 for thread 1 is in sequence #2407Specify log: {
=suggested | filename | AUTO | CANCEL} Pedindo a sequencia 2407 sendo que sao 3 logfiles, que estao nas sequencias 2411, 2412 2413!
Como pode o BD pedir archive sem estar em modo arquivado? E esses logs terem prosseguido a sequencia se o banco tava fora, so montado?
Obrigado,
Armando14 de fevereiro de 2013 às 10:08 pm #105086rman
Participante@armandoveloso
Da uma olhada neste artigo:
http://eduardolegatti.blogspot.com.br/2 … og_25.html
O seu caso não é tratado no artigo, mas dá pra entender por que está pedindo o archive log, pelo que você postou os 3 redo logs foram reescritos, e como a base não está em archive log o archive log não foi gerado, será que saida não é usar o RESTORE DATAFILE ou invés do RECOVER DATAFILE ?
14 de fevereiro de 2013 às 10:46 pm #105088armandoveloso
Participanterman, obrigado pela atenção!
O que eu perguntei no final do post inicial e que não estou entendendo bem é como um banco que deu problema e nao startou mais, ficando apenas montado, prossegue tendo logfiles sendo reescritos!
A meu entender, ao dar o problema no datafile e o banco nao subir mais, os logs permaneceriam sem serem reescritos, e o “recover datafile” seria possivel apenas com os logfiles, sem necessidade de archive logs…
A propósito, o banco nao reconheceu o comando “restore datafile”.
[]’s,
Armando14 de fevereiro de 2013 às 11:00 pm #105089rman
Participante@armandoveloso
O que pode ter acontecido foi o seguinte, foi feito backup e o banco continuou trabalhando normamente, foi ai que o redo log foi reescrito, depois os 3 redo logs reescrito deu problema no datafile, ai caiu o banco. 🙄
O redo log não foi reescrito depois que o banco caiu.
15 de fevereiro de 2013 às 3:31 am #105090paulogerva
ParticipanteOpa, tudo bem?
Se você teve problema com o banco no modo NOARCHIVELOG você só terá os dados contidos até o último backup offline, (a não ser que não tenha ocorrido nenhuma sobrescrição nos redo logs, o que é praticamente impossível).
Se um banco de dados estiver no modo NOARCHIVELOG e um tablespace for corrompido, o banco de dados inteiro terá que ser recuperado.
RMAN>RESTORE DATABASE; — restore the level 0 backup
RMAN>RECOVER DATABASE; — recover the incremental backupsEspero ter ajudado.
Boa sorte.Abs.
Paulo Gervasio.27 de fevereiro de 2013 às 8:48 pm #105113Ricardo Portilho Proni
ParticipanteIsto é muito comum, e perfeitamente explicável.
Suponhamos que uma grande carga de dados (um UPDATE longo, por exemplo) estava em execução.
Este DML utilizou o primeiro log, utilizou o segundo, foi para o terceiro, e aí girou de volta para o primeiro, que foi sobrescrito, como é a operacção normal do ORacle.
Isto é feito pelo LGWR. Enquanto isso, o o DBWR grava os dados do DB_CACHE_SIZE (cache sujo) nos DATAFILEs, em um tempo diferente do LGWR. o LGWR é mais rápido, pois é mais rápido gravar nos Redo Logs, sequenciais, e o Redo Log precisa estar íntegro, ele é a vida do Oracle. Por isso o LOG_BUFFER é pequeno comparado com o DB_CACHE_SIZE.
Enquanto isto estava acontecendo, o servidor foi desligado. Quando o Oracle for religado, ele irá comparar o conteúdo dos Redo Logs com os DATAFILEs e CONTROLFILE: o que tiver um COMMIT será deixado nos DATAFILEs, o que não tiver será removido. E o que tinha que estar nos DATAFILEs (teve COMMIT) e não está lá, será buscado dos Redo Logs / Archives. Isto é o RECOVER, e deve ter ocorrido esta segunda situação com você.É por isso que Archive é importante, mesmo para homologação / desenvolvimento, se você não pode se dar ao luxo de voltar ao último backup frio.
Se não quer mesmo utilizar Archives, utilize mais Redo Logs do que sua maior gravação concorrente, e você pode se proteger destas situações. -
AutorPosts
- Você deve fazer login para responder a este tópico.