- Este tópico contém 14 respostas, 5 vozes e foi atualizado pela última vez 14 anos, 3 meses atrás por
felipeg.
-
AutorPosts
-
28 de novembro de 2011 às 3:04 am #101874
SuporteDBA
ParticipanteOlá amigos,
Estou estudando o processo de backup e recover usando RMAN e estou tento algumas dificuldades e gostaria da ajuda de vocês.
Tenho o seguinte cenário:
Fiz um backup full (backup database plus archivelog) no dia 27-11-2011 e estou querendo restaurar essa base de dados para o estado do dia 25-11-2011. O backup foi feito com sucesso pelo RMAN, e está com status de AVAILABLE
Quando fasso o restore/recover usando o SET UNTIL TIME o RMAN emite a mensagem:
RMAN-06023: no backup or copy of datafile 4 found to restore
RMAN-06023: no backup or copy of datafile 3 found to restore
RMAN-06023: no backup or copy of datafile 2 found to restore
RMAN-06023: no backup or copy of datafile 1 found to restoreOu seja, diz que não exite backup dos datafiles para restaurar.
O codigo que estou usando para fazer o restore é
RMAN> run {
2> SET until TIME "to_date('25-11-2011 07:00:09','dd-mm-yyyy hh24:mi:ss')";
3> restore database;
4> recover database;
5> }
6>
executing command: SET until clause
using target database control file instead of recovery catalogStarting restore at 27-NOV-11
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=137 devtype=DISKRMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 11/27/2011 13:53:31
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 4 found to restore
RMAN-06023: no backup or copy of datafile 3 found to restore
RMAN-06023: no backup or copy of datafile 2 found to restore
RMAN-06023: no backup or copy of datafile 1 found to restore
28 de novembro de 2011 às 2:48 pm #101875rman
Participante@SuporteDBA
O backup FULL foi feito no dia 27/11/2011, realmente é possível voltar para uma data antes do backup FULL ? Eu não tenho muita experiencia com RMAN, talvez eu esteja equivocado. Creio eu que só consegue ir para frente com o archive log.
Exemplo, backup FULL do dia 20/11/2011 e com todos os archives log do momento do backup FULL ate agora, então você consegue ir para qualquer momento do tempo do dia 20/11/2011 até hoje.
28 de novembro de 2011 às 2:54 pm #101876felipeg
ParticipanteOpa,
Se o seu backup full é do dia 27 você não consegue voltar ao dia 25…
O que você consegue fazer com backups é trabalhar em pontos do tempo entre o momento do backup e a última coleta de archives, por exemplo.Você tem o backup do dia 27 e os archives até hoje, é possível restaurar a base em um ponto desde o dia 27 até a presente data (por exemplo dia 29 as xx:xx:xxx).
Atenciosamente,
Felipe.28 de novembro de 2011 às 3:04 pm #101877SuporteDBA
ParticipanteObrigado pelas respostas amigos.
Felipeg, esse cenário é novo pra min. Um amigo meu realizou essa tarefa com sucesso no SQL Server 2008, então resolvi testar no ORACLE.
Se alguem tiver mais algo para acrescentar, seria legal.
Atenciosamente.
28 de novembro de 2011 às 3:51 pm #101878felipeg
ParticipanteSuporteDBA
O que acontece no SQLServer é que você pode manter, no mesmo aquivo de backup (.bak) vários pontos de backups do passado.
O que ele fez foi simplesmente escolher um destes pontos e voltar.
Por exemplo, ele fez, no arquivo que já continha o backup do dia 25, o backup do dia 27 e , ao executar o processo de restore, é possível escolher a data disponível, por isso o processo foi realizado com sucesso.
Ai pra você parece que ele usou um backup novo pra voltar a um ponto do passado sem backup, parece meio sem lógica né? 8)
Sei disso pois também faço as políticas de backup e restore MSSQL Server aqui da empresa.
Atenciosamente,
Felipe.28 de novembro de 2011 às 4:15 pm #101879SuporteDBA
ParticipanteFelipeg, eu entendo que o SQL Server tem um esquema de adicionar backups a um mesmo device, mas nesse caso não foi isso. Ele tinha nenhum backup ae, tirou um backup fez um restore para o dia 25. Vou pedir ele para fazer um post desse processo e te mando o link. Abraço.
28 de novembro de 2011 às 4:34 pm #101880rman
Participante@SuporteDBA
Seria muito bom para ser verdade, com o ultimo backup posso voltar até o primeiro dia da base ? Isso não seria muito bom, seria ótimo ? Eu até jogaria fora todas as fitas de backup. 😯
Verifica se isso é possível, mas acho difícil.
28 de novembro de 2011 às 9:15 pm #101887fabiogalera
ParticipanteSeria a solução de todos os problemas de backup hehe.
Como nossos colegas disseram, você apenas consegue voltar uma base de dados depois que você fez algum backup, como é lógico.
Coloque em mente o seguinte:
RESTORE – restaurar um arquivo, arquivo não existe, você restaura ele fisicamente de um backup. Se você não possui uma cópia dele, como irá fazer o restore?
RECOVERY – é um processo de atualizar os arquivos, aplicando os archives para fazer com que aquele arquivo fique atualizado até a data que deseja.
No mais, se você esta tentando fazer um RESTORE até o DIA 25, seu backup do dia 27 é inútil para o processo, porque o Oracle não consegue fazer um rollback do dia 27 para o 25 (existe features pra isso, que se chama FLASHBACK, mas ele usa RESTORE POINTS e não “backups”).
O que o RMAN esta tentando fazer é encontrar um backup full da base de dados antes do dia 25 (qualquer um valido) para RESTAURAR os arquivos e depois aplicar os archives conforme necessário.
Faça o seguinte, entre no RMAN:
rman
connect target /
— se tiver usand catalogo, conect nele;list backup;
Procure e veja se existe algum backup antes do dia 25 =).
28 de novembro de 2011 às 10:06 pm #101891Emersonmartins
Participante@fabiogalera
Justamente, se ele tiver usando catálogo de recuperação e houver backup junto com os archives é possivel ele restaurar o bakcup ou incarnação existente?
28 de novembro de 2011 às 10:39 pm #101892fabiogalera
ParticipanteDiretamente ou indiferamente, todo mundo utiliza um “catalogo de recuperação”.
O catalogo default do Oracle é o controlfile, onde lá ficam armazenados todas as informações relativas a backup, seja ele incremental, full ou de archive.
Lembre-se, o catálogo é um armazenamento LÓGICO, os arquivos, backuppieces, etc necessários para o restore não estão no CATALOG propriamente dito. O catálogo apenas serve como informante, para dizer ao RMAN o que é cada coisa, onde está localizado cada arquivo, qual SCN aquele arquivo possui, etc.
Apenas será possível restaurar sua base de dados para o dia 25 se você possuir um backup válido ANTES do dia 25, e depois, todos os archives logs gerados posteriormente.
Incarnação é um outro tema, onde o oracle gera um número de incarnação toda vez que o Banco é aberto em resetlogs, ou feito um recover incompleto (descartar os redos). Isso é utilizado pois o Oracle não sabe mais o que teve durante as incarnações.
28 de novembro de 2011 às 10:42 pm #101894Emersonmartins
Participante@fabiogalera Entendido..!
29 de novembro de 2011 às 2:33 pm #101906felipeg
Participante@Emerson
Comecei uma série de artigos osbre RMAN que abrange uma parte destas suas questões.
Se quiser olhar seguem os linkshttps://profissionaloracle.com.br/blogs/ … e-recover/
https://profissionaloracle.com.br/blogs/ … erramenta/
https://profissionaloracle.com.br/blogs/ … sistentes/
Ainda não acabei mas se precisar de mais alguma informação é só avisar.
@Suporte,
Agora fiquei curioso, veja com seu amigo esse processo de backuprestore do SQL Server por gentileza 8)
Atenciosamente,
Felipe.29 de novembro de 2011 às 5:10 pm #101918Emersonmartins
Participante@felipeg – Valeu..Eu tenho acompanhado eles..São de ótima qualidade.
qualquer coisa adiciona no gtalk para que possamos trocar ideias..30 de novembro de 2011 às 3:12 pm #101938SuporteDBA
ParticipanteObrigado pelas respostas amigos, agora entendi o processo.
@Felipeg realmente você estava certo, conversei com o meu amigo e o mesmo fuçando o servidor, descobriu que tinha um backup muito antigo, antes mesmo da data que ele queria voltar. Ele acredita que o SQL Server usou esse backup, mas na GUI ele não percebeu isso. Por isso se enganou, como vc mesmo disse. Desculpe a ignorância e muito obrigado por esclarecer com paciência esse assunto. Valew mesmo.
Abraços.
30 de novembro de 2011 às 3:20 pm #101939felipeg
ParticipanteQue isso cara, não precisa se desculpar, o importante é que você foi atrás, descobriu e ainda nos explicou o que ocorreu.
O importante do fórum é o aprendizado mesmo!
O SQLServer tem algumas coisas que ainda me intrigam haha.Mas qualquer dúvida é só postar que estamos ai pra ajudar.
Atenciosamente,
Felipe. -
AutorPosts
- Você deve fazer login para responder a este tópico.