Pular para o conteúdo
Visualizando 15 posts - 1 até 15 (de 15 do total)
  • Autor
    Posts
  • #101874
    SuporteDBA
    Participante

      Olá 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 restore

      Ou 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 catalog

      Starting restore at 27-NOV-11
      allocated channel: ORA_DISK_1
      channel ORA_DISK_1: sid=137 devtype=DISK

      RMAN-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

      #101875
      rman
      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.

        #101876
        felipeg
        Participante

          Opa,

          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.

          #101877
          SuporteDBA
          Participante

            Obrigado 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.

            #101878
            felipeg
            Participante

              SuporteDBA

              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.

              #101879
              SuporteDBA
              Participante

                Felipeg, 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.

                #101880
                rman
                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.

                  #101887
                  fabiogalera
                  Participante

                    Seria 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 =).

                    #101891
                    Emersonmartins
                    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?

                      #101892
                      fabiogalera
                      Participante

                        Diretamente 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.

                        #101894
                        Emersonmartins
                        Participante

                          @fabiogalera Entendido..!

                          #101906
                          felipeg
                          Participante

                            @Emerson

                            Comecei uma série de artigos osbre RMAN que abrange uma parte destas suas questões.
                            Se quiser olhar seguem os links

                            https://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.

                            #101918
                            Emersonmartins
                            Participante

                              @felipeg – Valeu..Eu tenho acompanhado eles..São de ótima qualidade.
                              qualquer coisa adiciona no gtalk para que possamos trocar ideias..

                              #101938
                              SuporteDBA
                              Participante

                                Obrigado 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.

                                #101939
                                felipeg
                                Participante

                                  Que 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.

                                Visualizando 15 posts - 1 até 15 (de 15 do total)
                                • Você deve fazer login para responder a este tópico.