Pular para o conteúdo
  • Este tópico contém 33 respostas, 5 vozes e foi atualizado pela última vez 16 anos, 8 meses atrás por Rodrigo Almeida.
Visualizando 15 posts - 16 até 30 (de 34 do total)
  • Autor
    Posts
  • #88168
    vieri
    Participante

      Perfeito Rodrigo.

      Foi extamente esses os passos que eu segui.

      Já disparei um novo backup hà umas meia hora atrás, com um script melhorzinho(abaixo),
      porque não lembro qual script que utilizei antes.

      ===============DATABASE================

      run {
      allocate channel t1 type disk maxpiecesize = 20G;
      allocate channel t2 type disk maxpiecesize = 20G;
      allocate channel t3 type disk maxpiecesize = 20G;
      backup database include current controlfile tag ‘BKP_WIS_FULL_HOT’
      format ‘/u02/backup/bkp_full_%d_%t_%s.rman’;
      backup current controlfile tag ‘BKP_CTL’
      format ‘/u02/backup/bkp_ctl_%d_%t_%s.rman’;
      backup spfile tag ‘BKP_SPFILE’
      format ‘/u02/backup/bkp_spfile_%d_%t_%s.rman’;
      release channel t1;
      release channel t2;
      release channel t3;
      }

      =========ARCHIVE=============

      run {
      allocate channel ch1 type Disk maxpiecesize = 1000M;
      sql “alter system archive log current”;
      backup archivelog all filesperset 10
      format ‘/u02/backup/arch%p_%t.rman’
      tag ‘BKP_WIS_FULL_ARCHIVE’
      delete all input;
      release channel ch1;
      }

      Os passos 1,2,3,4,5 e 10 eu já havia feito…
      o 6,7,8,9 eu fiz após sua recomendação.
      Talvez essa confusão fora da ordem possa ter ferrado algum passo.

      Vou iniciar o procedimento do zero com este novo backup e posto e resultado aqui
      em breve…

      #88174
      jspaulonci
      Participante

        Bom dia Vieri, acho que você deve ir até o fim com a idéia do Rodrigo, mas quando eu tive essa necessidade eu usei o conceito do duplicate.

        Abraços

        jps

        #88177
        vieri
        Participante

          Mas eu seguirei o passos do 1 até o 10… 😀
          Oque eu falei e que na mina tentativa eu fiz com sequencia de passos diferentes…
          não entendi essa sua colocação.

          Obs : O duplicate funciona para servidores diferentes com path’s diferentes ? 🙄

          Quando finalizar o restore coloco todos os passos, com os log’s
          aqui.

          abços e bom fim de semana!!

          #88178
          jspaulonci
          Participante

            Não se preocupe não Vieri, siga a idéia do Rodrigo, de repente falei besteira pra ti.

            Abraços e bom final de semana

            jps

            #88179
            vieri
            Participante

              Que nada JPS…

              abraços !

              bom fds

              #88180
              David Siqueira
              Participante

                Vieri ficaremos FERA em RMAN com esses posts do Rodrigão e as participações no Forum…hehehhe…

                Abraço á todos…
                Bom fds!!!

                #88181
                Rodrigo Almeida
                Participante

                  Vieri,

                  Depois confirma se consegui com sucesso, o seu controlfile que está lendo ainda os caminhos antigos.

                  JPS,

                  O Duplicate também poderia ser uma sugestão. Funciona com Patchs diferentes também, e iria gerar um DBID e nome diferente do atual. É uma opção.

                  Abraços,

                  Rodrigo Almeida

                  #88182
                  jspaulonci
                  Participante

                    Entaum Vieri segundo o nosso guru……(Rodrigo kkkkk) o duplicate talvez caberia no seu caso.

                    abraços
                    jps

                    #88184
                    Rodrigo Almeida
                    Participante

                      Poderia ser feito sim.

                      Mas Vieri, vamos se concentrar no tipo de recuperação que está fazendo. Vamos analisar os erros e ver os passos para a recuperação, pois é necessário mais atenção!

                      Depois, com calma podemos fazer usando o DUPLICATE!

                      E depois, outro saindo de Linux e restaurando para Windows. Mas com calma, senão perdemos o foco!

                      Continua nesses passos Vieri.

                      E JSP, a sugestão foi boa sim, depois fazemos uma com duplicate.

                      Abraços,

                      Rodrigo Almeida

                      #88187
                      vieri
                      Participante

                        Vamo lá galera !! 😀

                        Seguinte fiz os passo todinhos novamente do zero !

                        Resultado tudo CERTO!!

                        Restore OK.

                        RECOVER mais ou MENOS.. risos…

                        Seguinte:

                        disparei meu script:

                        rman target /
                        STARTUP NOMOUNT
                        SET DBID=428367008;
                        RESTORE CONTROLFILE FROM ‘/u03/wis/full_wis_692811273_2’;
                        ALTER DATABASE MOUNT;
                        RUN {
                        ALLOCATE CHANNEL C1 DEVICE TYPE DISK;
                        ALLOCATE CHANNEL C2 DEVICE TYPE DISK;
                        ALLOCATE CHANNEL C3 DEVICE TYPE DISK;
                        ALLOCATE CHANNEL C4 DEVICE TYPE DISK;
                        SET UNTIL SEQUENCE 1190 THREAD 1;
                        set newname for datafile 1 to ‘/u03/wis/system01.dbf’;
                        set newname for datafile 2 to ‘/u03/wis/undotbs1.dbf’;
                        set newname for datafile 3 to ‘/u03/wis/sysauy01.dbf’;
                        set newname for datafile 4 to ‘/u03/wis/data_entrega.dbf’;
                        set newname for datafile 5 to ‘/u03/wis/data_entrega_small.dbf’;
                        set newname for datafile 6 to ‘/u03/wis/gkoscf_dtau.dbf’;
                        set newname for datafile 7 to ‘/u03/wis/gkoscf_inau.dbf’;
                        set newname for datafile 8 to ‘/u03/wis/gkoscf_indy.dbf’;
                        set newname for datafile 9 to ‘/u03/wis/indy_entrega.dbf’;
                        set newname for datafile 10 to ‘/u03/wis/tbs_data_asstec.dbf’;
                        set newname for datafile 11 to ‘/u03/wis/tbs_data_cestqhist_32m.dbf’;
                        set newname for datafile 12 to ‘/u03/wis/tbs_data_detprep_32m.dbf’;
                        set newname for datafile 13 to ‘/u03/wis/tbs_data_hist_256k.dbf’;
                        set newname for datafile 14 to ‘/u03/wis/tbs_data_hist_32m.dbf’;
                        set newname for datafile 15 to ‘/u03/wis/tbs_data_hist_5m.dbf’;
                        set newname for datafile 16 to ‘/u03/wis/tbs_data_hist_64m.dbf’;
                        set newname for datafile 17 to ‘/u03/wis/tbs_data_inet.dbf’;
                        set newname for datafile 18 to ‘/u03/wis/tbs_data_sge.dbf’;
                        set newname for datafile 19 to ‘/u03/wis/tbs_data_trcmovestq_64m.dbf’;
                        set newname for datafile 20 to ‘/u03/wis/tbs_data_wis_256k.dbf’;
                        set newname for datafile 21 to ‘/u03/wis/tbs_data_wis_32m.dbf’;
                        set newname for datafile 22 to ‘/u03/wis/tbs_data_wis_5m.dbf’;
                        set newname for datafile 23 to ‘/u03/wis/tbs_indy_asstec.dbf’;
                        set newname for datafile 24 to ‘/u03/wis/tbs_indy_cestqhist_32m.dbf’;
                        set newname for datafile 25 to ‘/u03/wis/tbs_indy_detprep__32m.dbf’;
                        set newname for datafile 26 to ‘/u03/wis/tbs_indy_hist_256k.dbf’;
                        set newname for datafile 27 to ‘/u03/wis/tbs_indy_inet.dbf’;
                        set newname for datafile 28 to ‘/u03/wis/tbs_indy_sge.dbf’;
                        set newname for datafile 29 to ‘/u03/wis/tbs_indy_trcmovestq_64m.dbf’;
                        set newname for datafile 30 to ‘/u03/wis/tbs_indy_wis_256k.dbf’;
                        set newname for datafile 31 to ‘/u03/wis/tbs_indy_wis_32m.dbf’;
                        set newname for datafile 32 to ‘/u03/wis/tbs_indy_wis_5m.dbf’;
                        set newname for datafile 33 to ‘/u03/wis/tools.dbf’;
                        set newname for datafile 34 to ‘/u03/wis/undotbs2.dbf’;
                        set newname for datafile 35 to ‘/u03/wis/users.dbf’;
                        set newname for datafile 36 to ‘/u03/wis/gkoscf_data.dbf’;
                        RESTORE DATABASE;
                        switch datafile all;
                        RECOVER DATABASE ;
                        ALTER DATABASE OPEN RESETLOGS;
                        }

                        Ele fez tudo certo, restaurou os archivos fez o switch perfeitamente!!! 🙂
                        Mas na hora do recover ele reclamou do SCN.

                        então mudei de método ao invês do until sequence
                        que peguei na v$log da origem… usei o SCN que obtive
                        no list backup do meu destino.

                        veja abaixo.

                        RMAN> run{
                        2> set until sequence 5256322985 ;
                        3> recover database;
                        4> }

                        executing command: SET until clause

                        Starting recover at 24-JUL-09
                        using channel ORA_DISK_1

                        starting media recovery

                        unable to find archive log
                        archive log thread=1 sequence=1195
                        Oracle Error:
                        ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
                        ORA-01190: control file or data file 1 is from before the last RESETLOGS
                        ORA-01110: data file 1: ‘/u03/wis/system01.dbf’

                        RMAN-00571: ===========================================================
                        RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
                        RMAN-00571: ===========================================================
                        RMAN-03002: failure of recover command at 07/24/2009 14:01:55
                        RMAN-06054: media recovery requesting unknown log: thread 1 seq 1195 lowscn 5669424646

                        RMAN> run{
                        2> set until sequence 5256322985 ;
                        3> recover database noredo;
                        4> }

                        executing command: SET until clause

                        Starting recover at 24-JUL-09
                        using channel ORA_DISK_1
                        Finished recover at 24-JUL-09

                        com o NOREDO ele conseguiu fazer acho que foi
                        porque tinha alguma transação no redo que não archivei
                        no bkp on-line, devia ter dado mais de um switch.
                        obs: Rodrigo vai me concertando ai…. heheheh

                        RMAN> alter database open ;

                        RMAN-00571: ===========================================================
                        RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
                        RMAN-00571: ===========================================================
                        RMAN-03002: failure of alter db command at 07/24/2009 14:02:58
                        ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

                        Ele me pediu para abrir com resetlogs

                        RMAN> alter database open resetlogs ;

                        RMAN-00571: ===========================================================
                        RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
                        RMAN-00571: ===========================================================
                        RMAN-03002: failure of alter db command at 07/24/2009 14:03:08
                        ORA-00344: unable to re-create online log ‘/u02/oracle/oradata/wis/redo01.log’
                        ORA-27040: file create error, unable to create file
                        Linux Error: 2: No such file or directory

                        não entendi porque ele quis criar o REDO no u02 !?!?!

                        FALTA POUCO!!!!! 8)

                        Se precisa de mais informação me diga…

                        #88189
                        vieri
                        Participante

                          SUBIUUUU!!!!!!!!

                          RMAN> run{
                          2> SQL “ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo01.log”
                          3> TO ”/u03/wis/redo01.log” “;
                          4> SQL “ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo02.log”
                          TO ”/u03/wis/redo02.log” “;
                          5> 6> SQL “ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo03.log”
                          TO ”/u03/wis/redo03.log” “;
                          7> 8> SQL “ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo04.log”
                          TO ”/u03/wis/redo04.log” “;
                          9> 10> }

                          using target database control file instead of recovery catalog
                          sql statement: ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo01.log”TO ”/u03/wis/redo01.log”

                          sql statement: ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo02.log”TO ”/u03/wis/redo02.log”

                          sql statement: ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo03.log”TO ”/u03/wis/redo03.log”

                          sql statement: ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo04.log”TO ”/u03/wis/redo04.log”

                          RMAN>

                          RMAN> alter database open resetlogs ;

                          database opened

                          RMAN> exit

                          Recovery Manager complete.
                          [oracle@admbidev wis]$ sqlplus / as sysdba
                          [
                          SQL*Plus: Release 10.2.0.3.0 – Production on Fri Jul 24 14:52:04 2009

                          Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

                          Connected to:
                          Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Production
                          With the Partitioning, OLAP and Data Mining options

                          SQL> select * from v$instance ;

                          INSTANCE_NUMBER INSTANCE_NAME


                          HOST_NAME

                          VERSION STARTUP_T STATUS PAR THREAD# ARCHIVE LOG_SWITCH_WAIT


                          LOGINS SHU DATABASE_STATUS INSTANCE_ROLE ACTIVE_ST BLO


                                    1 wis
                          

                          admbidev.corp.casaevideo.com.br
                          10.2.0.3.0 24-JUL-09 OPEN NO 1 STARTED
                          ALLOWED NO ACTIVE PRIMARY_INSTANCE NORMAL NO

                          teste de fogo agora !!!

                          SQL> shutdown abort ;
                          ORACLE instance shut down.
                          SQL> startup;
                          SP2-0714: invalid combination of STARTUP options
                          SQL> startup;
                          ORACLE instance started.

                          Total System Global Area 536870912 bytes
                          Fixed Size 1262788 bytes
                          Variable Size 155192124 bytes
                          Database Buffers 373293056 bytes
                          Redo Buffers 7122944 bytes
                          Database mounted.
                          Database opened.

                          Base retaurada!! 🙂 )))

                          Rodrigo poste seus comentários ai pra não ficar informação técnica
                          mal entendida.

                          obrigado a todos!! Valeu Rodrigo…
                          obs:Estamos esperando seu curso de RMAN no Rio hein!!

                          #88191
                          David Siqueira
                          Participante

                            Parabéns pelo desfecho Vieri.

                            Abraço

                            #88192
                            Rodrigo Almeida
                            Participante

                              Aí simmmmmmmmmmmmmmmmm…

                              VIERI! Parabéns CARA, foi 100% agora.

                              Sobre os ajustes.

                              PRIMEIRO RESTORE
                              =============

                              SIM! Seu backup online teve uma transação que não foi totalmente arquivada e no momento do backup ele não trouxe os archives todos necessários.

                              Existia algumas saídas, como:

                              1) O que você utilizo, foi uma saída também, limitar a sua recuperação até um UNTIL TIME ou LOG SEQUENCE.

                              2) Outro modo é pegar o atual SCN que estaria no CURRENT REDO LOG da base original e UNTIL SCN no número do REDO LOG.

                              3) Outro ponto, é abrir com a opção NOREDO, que é mais utilizado quando se trabalha com banco de dados em NOARCHIVELOG, onde não se tem REDO LOGS para equalizar e durante o processo de recuperação com NOREDO, ele ZERA seu redo log e abre a base.

                              REDO LOGS
                              ========

                              Os comandos que você teve que fazer para alterar os caminhos do REDO LOGS, DEVEM estar sim no seu script, pois, esses caminhos eles ficam gravados no CONTROL FILE, então, quado você executo o NOREDO, ele automaticamente iria criar os grupos e membros do REDO LOG, com isso, o caminho ainda estava errado, e você conseguiu contornar bem com o comando SQL feito atráves do bloco do RMAN.

                              RESETLOGS
                              ========

                              Abrir o banco de dados com a opção RESETLOGS é inevitável! Pois ao realizar a recuperação por POINT-IN-TIME como foi o caso, você irá criar uma nova incarnação ao banco de dados VIDA NOVA A ELE, ou seja, será ZERADO a LOG SEQUENCE e seu banco terá uma nova vida.

                              Nesse tipo de recover também é possível abrir a base com em OPEN NORESETLOGS (Padrão), porém, você teria que ficar pegando os archives da produção e jogando para a base nova até deixar 100% consistente, isso pode demorar ou não, depende do nível de transação da base.

                              CONCLUSÃO
                              ========

                              De resto! Está tudo OK! Cada tipo de recupeção é diferente e míniumos detalhes podem mudar, como alteração de patch, versão, plataforma, base, aplicação e etc…

                              Muito bom VIERI! Parabéns novamente!

                              Abraços,

                              Rodrigo Almeida

                              #88193
                              vieri
                              Participante

                                Valeu David !!
                                Grande abraço…

                                E essa parceria que rola aqui no GPO é exemplo
                                para profissionais de T.I e de qualquer outro ramo.

                                Rodrigão estamos anciosos pelos seus comentários!! hehe

                                obrigado pelo apoio de sempre!!

                                até segunda!! risos…

                                #88194
                                Rodrigo Almeida
                                Participante

                                  Esqueci de Mencionar!

                                  Tô esperando o convite para dar workshops aí no RIO, de preferência perto da Praia do Recreio, Arpoador… eittaaaaa praias boasssss!!!

                                  Abraços,

                                  Rodrigo Almeida

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