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

      Gostaria de entender algumas coisas em relação ao backup feito pelo RMAN + archive log, dado o seguinte cenário:

      * Oracle 10g R2 (10.0.2.4)
      * SGA de 16gb
      * Archive Log
      * RMAN sem catalogo
      * Armazenado em Storage
      * Red Hat Enterprise Linux 5.3
      * 32gb de ram

      Num belo dia, pane geral na storage, e tudo na storage é perdido, pra ajudar o servidor (máquina) pegou fogo. O que eu tenho em mãos é o backup full feito pelo RMAN e os archive log armazenados em fita. Por sorte tenho outro servidor (máquina) de reserva, mas infelizmente apenas 10gb de ram.

      A pergunta inicial, estou seguro ? Consigo fazer o restore/recover ?

      Minha ideia de como proceder:

      1- Instalar o Red Hat Enterprise Linux 5.3.
      2- Instalar o Oracle 10g R2 (10.0.2.1).
      3- Aplicar o patchset 4 (10.0.2.4).
      4- Resgatar o backup full do RMAN e os archive log da fita.
      5- Restore via RMAN
      6- Recover via RMAN

      Perguntas:

      1- Como fazer o restore/recover no RMAN no novo servidor? Lembrando que o servidor antigo não usava catalogo.

      2- Ao invés de instalar a versão 5.3 do Red Hat, fosse instalado a versão 6.2, isso inviabilizaria o restore/recover?

      3- Ao invés de instalar a versão 5.3 do Red Hat, fosse instalado a versão 6.2 do Oracle Enterprise Linux, isso inviabilizaria o restore/recover?

      4- O fato do novo servidor ter apenas 10gb inviabilizaria o restore/recover? Lembrando que a SGA é de 16gb.

      5- Considerando um caso pior do apresentado, foi perdido o ultimo archive log gerado, consigo mesmo assim ter um recover com sucesso?

      6- Considerando um caso mais simples do apresentado, houve a perda de apenas um datafile, e a servidor (máquina) está intacto, o restore restauraria o datafile, e o recover aplicaria os archive log, e o q ficou no redo log? É possível aplicar também? Visto que não foi gerado archive log por que não chegou a encher o redo log.

      7- É necessário criar o banco ou o restore do RMAN vai criar?

      Se alguém procederia de outra forma, por favor, apresente a ideia…

      OBS: O cenário apresentado é fictício.

      #100758
      Peterson
      Participante

        Putz, é muita catástrofe num post só kkkkkkkkkkkkkkkk.

        Como você não usa catálogo, sempre terá a dependência do controlfile pra identificar os registros de backup. Por isso ele deve estar incluído na sua estratégia de backup.

        No caso de perder um datafile:
        – encerre o banco com shutdown abort;
        – Se o controlfile não foi afetado, abra o banco em modo mount, se foi afetado, abra em estado nomount e restaure o controlfile;
        – Restaure o datafile com restore database;
        – Abra o banco com alter database open resetlogs, já que o RMAN não faz backup dos redo online. O banco estará como estava no momento do último backup;

        #100759
        Peterson
        Participante

          No caso do archive log tb ter sido perdido, você terá de fazer uma recuperação incompleta.

          #100770
          vieri
          Participante

            erguntas:

            1- Como fazer o restore/recover no RMAN no novo servidor? Lembrando que o servidor antigo não usava catalogo.

            Ué copie os arquivos para o servidor reserva, cadastre os backup pieces
            no control file e faça o procedimento de restore e recover.
            Tem vários na internet e até no meu blog aqui no gpo.

            2- Ao invés de instalar a versão 5.3 do Red Hat, fosse instalado a versão 6.2, isso inviabilizaria o restore/recover?
            Não.

            3- Ao invés de instalar a versão 5.3 do Red Hat, fosse instalado a versão 6.2 do Oracle Enterprise Linux, isso inviabilizaria o restore/recover?
            não.

            4- O fato do novo servidor ter apenas 10gb inviabilizaria o restore/recover? Lembrando que a SGA é de 16gb.

            não.

            5- Considerando um caso pior do apresentado, foi perdido o ultimo archive log gerado, consigo mesmo assim ter um recover com sucesso?

            Não. Vc terá que fazer um point in time recovery. E dependendo do archive perdido poderá não conseguir abrir a base.
            E terá que recorrer a meios “alternativos”. Como no seu caso é o ultimo
            irá ter que fazer o recover do SNC anterior a este archive, mais ainda assim ele poderá pedir este archive para manter a base integra, depende do tamanho das transações que rodaram neste horário. Vc terá que consegui colocar todos archives na mesma posição durante o recover, este é o principio para abertura da base.

            6- Considerando um caso mais simples do apresentado, houve a perda de apenas um datafile, e a servidor (máquina) está intacto, o restore restauraria o datafile, e o recover aplicaria os archive log, e o q ficou no redo log? É possível aplicar também? Visto que não foi gerado archive log por que não chegou a encher o redo log.
            vc irá apenas restaurar o datafile do ultimo backup, tendo os archives
            e redo o oracle se ancarregar do resto. para pedir o recover.

            7- É necessário criar o banco ou o restore do RMAN vai criar?
            vc terá que setar o oracle_sid , abrir em nomount banco com o spfile ou pfile,
            restaurar o control-file(aqui ele “cria” o database) abrir em mount, restaurar a base, e em seguida o recover.
            Portanto não precisa de base. Se o datafile já existir no mesmo path dará erro. portanto sem base criada é melhor.

            Se alguém procederia de outra forma, por favor, apresente a ideia…

            não tem outra forma, vc teve um desaster tem que restaurar e recuperar o banco.

            oque muda aqui são os script que irá usar com o rman e a maneira como irá definir sua estratégia de recuperação, tem varios caminhos para levar no mesmo final que é a base aberta e integra.

            Sugiro vc fazer um procedimento completo de backup/restore com rman.
            e tb de perda de control-file,datafile,spfile. tentar fazer recover point in time. ou seja.. vc precisa treinar pq o mecanismo do oracle de garantia de integridade da base é complexo e exige treinamento e leitura. Dps que fazer uns 3 restore/recover com cenários diferentes com sucesso. pode ser dizer que conhece o RMAN o minimo suficiente pro mercado.

            se não colocar a mãe na massa irá ter que viver com velas acessas para nada acontecer. Conhecer os mecanimos do oracle e o rman como ferramenta é fundamental.. eu não contrato um DBA Pleno que não saiba o minimo disso daí. Junior até aceito se eu tiver um pleno ou sênior na minha equipe. mais darei 6 meses para ele aprender.

            #100771
            vieri
            Participante

              ops “se não colocar a mãe na massa”.

              Não coloque a mãe na massa não, provavelmente ela não irá entender nada de RMAN, mais ficará contente por vc está estudando….rsrs

              coloca a MÂO na massa e posta as dúvidas e erros aqui.

              #100776
              lordmaca
              Participante

                Amigo,

                Em perda de Datafile non-critical por favor veja meu post em meu blog.

                http://viniciuspapadba.blogspot.com/201 … -rman.html

                Caso seu ultimo backup seja um hot backup usando user management veja este post:

                http://viniciuspapadba.blogspot.com/201 … er_26.html

                Restore controlfile do backup piece.

                http://viniciuspapadba.blogspot.com/201 … -rman.html

                OBS: o controlfile estara la de acordo com sua estrategia de backup.

                Duvidas é só postar.

                Abraço.

                #100778
                rman
                Participante

                  [quote=”Peterson”:134xzd1v]Putz, é muita catástrofe num post só kkkkkkkkkkkkkkkk.

                  Como você não usa catálogo, sempre terá a dependência do controlfile pra identificar os registros de backup. Por isso ele deve estar incluído na sua estratégia de backup.

                  No caso de perder um datafile:
                  – encerre o banco com shutdown abort;
                  – Se o controlfile não foi afetado, abra o banco em modo mount, se foi afetado, abra em estado nomount e restaure o controlfile;
                  – Restaure o datafile com restore database;
                  – Abra o banco com alter database open resetlogs, já que o RMAN não faz backup dos redo online. O banco estará como estava no momento do último backup;[/quote]

                  Após o RESTORE DATABASE, não é necessário neste caso o RECOVER DATABASE?

                  Qual a finalidade do ALTER DATABASE OPEN RESETLOGS ? Ele vai sincronizar o Redo Log com o DATAFILE ?

                  #100780
                  rman
                  Participante

                    @vieri


                    4- O fato do novo servidor ter apenas 10gb inviabilizaria o restore/recover? Lembrando que a SGA é de 16gb.
                    não.

                    O fato de a máquina ter 10 gb e a SGA estar configurada para 16 gb não impede o restore/recover ? Só vai impedir do banco abrir ? Ou nem na hora de abrir vai dar problema ? 6 gb vai pra swap e o banco sobe se arrastando ?


                    7- É necessário criar o banco ou o restore do RMAN vai criar?
                    vc terá que setar o oracle_sid , abrir em nomount banco com o spfile ou pfile,
                    restaurar o control-file(aqui ele "cria" o database) abrir em mount, restaurar a base, e em seguida o recover.
                    Portanto não precisa de base. Se o datafile já existir no mesmo path dará erro. portanto sem base criada é melhor.

                    O RMAN faz backup do spfile ou pfile ?
                    Não entendi, como abrir o banco em nomount com o spfile ou pfile sem ter um banco criado ?

                    #100786
                    lordmaca
                    Participante

                      [quote=”rman”:30iuzf77]@vieri


                      4- O fato do novo servidor ter apenas 10gb inviabilizaria o restore/recover? Lembrando que a SGA é de 16gb.
                      não.

                      O fato de a máquina ter 10 gb e a SGA estar configurada para 16 gb não impede o restore/recover ? Só vai impedir do banco abrir ? Ou nem na hora de abrir vai dar problema ? 6 gb vai pra swap e o banco sobe se arrastando ?


                      7- É necessário criar o banco ou o restore do RMAN vai criar?
                      vc terá que setar o oracle_sid , abrir em nomount banco com o spfile ou pfile,
                      restaurar o control-file(aqui ele "cria" o database) abrir em mount, restaurar a base, e em seguida o recover.
                      Portanto não precisa de base. Se o datafile já existir no mesmo path dará erro. portanto sem base criada é melhor.

                      O RMAN faz backup do spfile ou pfile ?
                      Não entendi, como abrir o banco em nomount com o spfile ou pfile sem ter um banco criado ?[/quote]

                      rman,

                      Como disse nosso colega acima MEU DEUS quanta catástrofe e duvida em post só.

                      Vamos la.

                      O fato da memoria não vai te afetar no restore/recover, é memoria apenas, unica coisa que vai influenciar é a velocidade mas no caso de 10g creio que não ira afetar nada, maior trabalho ira ficar em I/O e processamento.

                      Agora quanto startar uma base com pfile/spfile.

                      Bem isso é conceito basico do Oracle, para melhor entendimento pratico seu aconselho buscar tutoriais de como criar uma base de dados manualmente, isso ira te ajudar muito, vou dar uma breve explicada aqui.

                      pfile <<– arquivo de texto com parametros necessarios para inicialização da base de dado, esse arquivo pode ser criado manualmente para iniciar o banco caso necessario, em caso de base manual você sempre ira criar o pfile manualmente e startar a base em nomount para execução do create database command para criar uma nova base.

                      spfile <<– se não me engano esta disponivel a partir da versão 9i, o spfile é nada mais nada menos que o pfile em binario, sendo assim, você consegue alterar alguns parametros que chamamos de parametros dinamicos sem ter que restartar a base para iniciar com os novos valores do parametro, por exemplo:

                      Quero alterar meu SGA_TARGET para 10G mas meu SGA_MAX_SIZE esta com 5G então tenho que alterar meu SGA_MAX_SIZE primeiro para 10G, SGA_TARGET é um parametro dinamico mas SGA_MAX_SIZE é fixo, então tenho que executar o comando:

                      ALTER SYSTEM SET SGA_MAX_SIZE=10G SCOPE=SPFILE;

                      restarto a base de dados e como SGA_TARGET é dinamico consigo altera-lo com a base de dados rodando.

                      ALTER SYSTEM SET SGA_TARGET=10G;

                      Dessa vez não precisei mencionar o SCOPE pois ele altera na memoria e no spfile ao mesmo tempo é a opção SCOPE=BOTH que é a padrão para este comando.

                      Bem espero ter ajudado.

                      Duvidas pergunte, e leia meus post como passei acima, creio que ira te ajudar, caso não saiba ingles me avise que faço um em portugues, é um projeto meu e ter todos meus posts em portugues é meta.

                      Abraço.

                      #100791
                      vieri
                      Participante

                        @vieri

                        Código:

                        4- O fato do novo servidor ter apenas 10gb inviabilizaria o restore/recover? Lembrando que a SGA é de 16gb.
                        não.

                        O fato de a máquina ter 10 gb e a SGA estar configurada para 16 gb não impede o restore/recover ? Só vai impedir do banco abrir ? Ou nem na hora de abrir vai dar problema ? 6 gb vai pra swap e o banco sobe se arrastando ?

                        Vc irá alterar no initdatabase.ora no $ORACLE_HOME/dbs o parametro
                        SGA_TARGET e SGA_MAX_SIZE para 5Gb , pois o novo servidor ficticio teria 10Gb. Se não mecher nesses parametros a base não irá subir, pois a SGA não usa area de swap, ela é alocado toda em memória, caso não tenha segmentos de memória disponível vc tomará erro de out of memory

                        Código:

                        7- É necessário criar o banco ou o restore do RMAN vai criar?
                        vc terá que setar o oracle_sid , abrir em nomount banco com o spfile ou pfile,
                        restaurar o control-file(aqui ele “cria” o database) abrir em mount, restaurar a base, e em seguida o recover.
                        Portanto não precisa de base. Se o datafile já existir no mesmo path dará erro. portanto sem base criada é melhor.

                        O RMAN faz backup do spfile ou pfile ?
                        Não entendi, como abrir o banco em nomount com o spfile ou pfile sem ter um banco criado ?

                        sim o rman faz backup de spfile.
                        ex:

                        [oracle@admbi1 bdump]$ rman target /

                        Recovery Manager: Release 10.2.0.3.0 – Production on Wed Sep 14 12:32:31 2011

                        Copyright (c) 1982, 2005, Oracle. All rights reserved.

                        connected to target database: ORA10G (DBID=3909485338)

                        RMAN> backup spfile tag ‘BKP_SPFILE’
                        format ‘/u03/rman/data/bkp_spfile_%U.rman’;2>

                        Starting backup at 14-SEP-11
                        using target database control file instead of recovery catalog
                        allocated channel: ORA_DISK_1
                        channel ORA_DISK_1: sid=1061 devtype=DISK
                        allocated channel: ORA_DISK_2
                        channel ORA_DISK_2: sid=1065 devtype=DISK
                        allocated channel: ORA_DISK_3
                        channel ORA_DISK_3: sid=1066 devtype=DISK
                        allocated channel: ORA_DISK_4
                        channel ORA_DISK_4: sid=1081 devtype=DISK
                        channel ORA_DISK_1: starting full datafile backupset
                        channel ORA_DISK_1: specifying datafile(s) in backupset
                        including current SPFILE in backupset
                        channel ORA_DISK_1: starting piece 1 at 14-SEP-11
                        channel ORA_DISK_1: finished piece 1 at 14-SEP-11
                        piece handle=/u03/rman/data/bkp_spfile_icmmhaf5_1_1.rman tag=BKP_SPFILE comment=NONE
                        channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
                        Finished backup at 14-SEP-11

                        Starting Control File and SPFILE Autobackup at 14-SEP-11
                        piece handle=/u01/app/oracle/product/10.2.0/dbs/c-3909485338-20110914-00 comment=NONE
                        Finished Control File and SPFILE Autobackup at 14-SEP-11

                        Em nomount vc não irá abrir um banco de dados, vc irá pedir para o
                        rdbms validar um arquivo de parâmetros e preparar a base para a próxima fase “mount”.

                        Vc não precisa criar um database, pois todos os arquivos necessários serão restaurados. Qdo vc faz o create ele cria o controlfile,undo,temp…
                        todos esses arquivos serão restaurados e precisão ser sincronizados e integros, não faz sentido para o sgbd e nem funciona criar o banco para depois restaurar… outro por cima. É algo conceitual no Oracle.

                        E ai tudo claro agora?

                        #100792
                        vieri
                        Participante

                          Após o RESTORE DATABASE, não é necessário neste caso o RECOVER DATABASE?

                          Sim.

                          Qual a finalidade do ALTER DATABASE OPEN RESETLOGS ? Ele vai sincronizar o Redo Log com o DATAFILE ?

                          Não quem sincroniza os arquivos é o recover.
                          O open resetlogs irá gerar uma nova incarnação do banco.
                          Irá zerar seu SCN porque a base não foi recuperada até o momento atual, foi recuperada até um momento do tempo, e o banco irá ficar pedindo archive infinitamente , corretamente, pois vc que irá definir o momento ou até qual SCN a base será recuperada, definido isso você irá resetar os logs, pois o SCN já não representa mais o momento atual.

                          Vc somente não irá resetar os logs, quando for um backup cold fechado corretamente com shutdown immediate.
                          Pois não haverá recuperação… a base já estará sincronizada e não precisará entrar em “modo” de recover.

                          #100793
                          rman
                          Participante

                            @vieri

                            Entendido. Obrigado.

                            @lordmaca

                            O cenário apresentando é fictício. Quero estar preparado, por isso muitas perguntas… Preciso estudar RMAN, estou vendo que existem muitos detalhes.

                            @all

                            Alguém teria um ebook sobre RMAN para me recomendar ?

                            #100794
                            vieri
                            Participante
                              #100795
                              lordmaca
                              Participante

                                [quote=”rman”:16gy44a5]
                                @lordmaca

                                O cenário apresentando é fictício. Quero estar preparado, por isso muitas perguntas… Preciso estudar RMAN, estou vendo que existem muitos detalhes.

                                @all

                                Alguém teria um ebook sobre RMAN para me recomendar ?[/quote]

                                @rman

                                Sim claro, eu estava ciente disso, o RMAN é uma ferramenta muito poderosa para nós DBA’s, no Google você ira achar muita informação sobre o RMAN, o mais importante pratique, teste todos os cenarios acima que você criou por duvida e encima disso tente resolver, crie novos posts que te ajudaremos.

                                A segredo é praticar e nunca parar nos erros.

                                Abraço !!

                                Vinicius

                                #100831
                                vieri
                                Participante

                                  Não se assuste com o RMAN,
                                  ele é complexo mesmo. não irá aprender em 2 meses.

                                  estude bastante conceito, pois irá te ajudar a compreender e reparar os erros no processo.

                                  Compreendendo o mecanismo de recuperação do oracle,
                                  ficará mais facil, pois os scripts e config do rman não são tão complexas apesar de bem poderosas. o Complexo é fazer o rman trabalhar de acordo com o que o Oracle propoem para correta recuperação.

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