Pular para o conteúdo
  • Este tópico contém 24 respostas, 4 vozes e foi atualizado pela última vez 17 anos, 3 meses atrás por Rodrigo Almeida.
Visualizando 15 posts - 1 até 15 (de 25 do total)
  • Autor
    Posts
  • #84048
    mpvargas
    Participante

      Caros Amigos,
      Estou montando um novo servidor, e antes de colocá-lo em produção, criei uma base e estou fazendo um teste no RMAN, mas ao restaurar o backup me deparei com o seguinte erro:

      archive log filename=/u01/app/oracle/oradata/asoec/redolog/redo2A.log thread=1 sequence=154
      Oracle Error:
      ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
      ORA-01245: offline file 20 will be lost if RESETLOGS is done
      ORA-01111: name for data file 20 is unknown – rename to correct file
      ORA-01110: data file 20: ‘/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00020’

      media recovery complete, elapsed time: 00:01:34
      Finished recover at 01-DEC-08

      sql statement: alter database open resetlogs
      released channel: t1
      released channel: t2
      RMAN-00571: ======================================
      RMAN-00569: ======= ERROR MESSAGE STACK FOLLOWS =======
      RMAN-00571: ======================================
      RMAN-03009: failure of sql command on default channel at 12/01/2008 16:04:43
      RMAN-11003: failure during parse/execution of SQL statement: alter database open resetlogs
      ORA-01245: offline file 20 will be lost if RESETLOGS is done
      ORA-01111: name for data file 20 is unknown – rename to correct file
      ORA-01110: data file 20: ‘/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00020’

      #84054
      Anônimo

        Amigo, qual comando vc executou para fazer o backup e o posterior restore e recover?
        O alert do banco informa algo mais?

        Esse nome de log está esquisito mesmo

        #84055
        mpvargas
        Participante

          Só para registrar:
          Uso Oracle10g Enterprise Edition 64bits com Linux CentOS 4.5 64bits

          Script de backup
          connect catalog rman/password@rman
          connect target /
          run {
          crosscheck archivelog all;
          delete noprompt obsolete;
          allocate channel ch1 type disk format ‘/home/oracle/bkprman/%d_%t_%s_%r.bkp’;
          allocate channel ch2 type disk format ‘/home/oracle/bkprman/%d_%t_%s_%r.bkp’;
          backup as compressed backupset database include current controlfile;
          backup spfile;
          release channel ch1;
          release channel ch2;
          }

          #84056
          mpvargas
          Participante

            E para restaurar, os seguinte comandos:
            SQL> Startup nomount;
            RMAN> connect catalog rman/password@rman
            RMAN> connect target /
            RMAN> set DBID ???????????
            RMAN> restore controlfile from ‘/home/oracle/bkprman/???.bkp’;
            RMAN> exit

            $ sqlplus "/ as sysdba"
            SQL> alter database mount;
            SQL> quit
            
            $ ./rman
            RMAN> connect catalog rman/password@rman
            RMAN> connect target /
                RMAN > run {
                allocate channel t1 type disk;
                allocate channel t2 type disk;
                restore database;
                    recover database;
                    sql 'alter database open resetlogs';
                release channel t1;
                release channel t2;
                  }
            
            #84057
            Anônimo

              Vc chegou até a montar o banco certo?

              Tenta executar o comando recover until cancel e quando ele pedir esse log, vc cancela e tenta abrir o banco

              Verifica esse parâmetro do seu banco:

              CONFIGURE CONTROLFILE AUTOBACKUP ON;

              Pra copiar control file que seja “restaurável”, só com essa opção em ON, se não, é problema na certa.

              #84060
              Ricardo Portilho Proni
              Participante

                Este erro ocorreu porque o backup foi feito com um ou mais datafiles OFFLINE.
                Execute o backup novamente com todos datafiles em ONLINE, e use este backup.

                #84067
                mpvargas
                Participante

                  Caros amigos… Obrigado pela ajuda.
                  E a luta continua (EU X RMAN)

                  Fabão
                  No RMAN o parametro que você citou está ON
                  CONFIGURE CONTROLFILE AUTOBACKUP ON;

                  Ricardo Portilho
                  Não estou conseguindo “startar” a base… somente no modo mount
                  Existe alguma forma de colocá-la on-line para que eu possa fazer novamente o backup e verificar os datafiles?

                  Mais um help
                  Gostaria de transferir o RMAN para outro servidor.
                  Qual a forma mais fácil de fazer isso?
                  Pensei em copiar os arquivos fisicamente. É uma boa idéia?

                  #84068
                  Ricardo Portilho Proni
                  Participante

                    Sobre o erro do mount:

                    Corrija o nome do datafile 20. O RMAN não sabe qual o nome dele.

                    SQL> alter database mount;
                    SQL> alter database rename file 20 TO ‘/u01/app/oracle/product/10.2.0/db_1/dbs/NomeRealDoArquivo.dbf’;


                    Copiar o RMAN para outro servidor, vc quer dizer o utilitário RMAN?
                    Tem que instalar o Oracle no outro servidor, não adianta copiar.

                    #84069
                    mpvargas
                    Participante

                      Caro Ricardo,

                      Recebi o seguinte erro:
                      RMAN> alter database rename file 20 TO ‘/home/oracle/tbsasoec/teste.dbf’;

                      RMAN-00571: =====================================
                      RMAN-00569: ===== ERROR MESSAGE STACK FOLLOWS ========
                      RMAN-00571: =====================================
                      RMAN-00558: error encountered while parsing input commands
                      RMAN-01009: syntax error: found “identifier”: expecting one of: “mount, open”
                      RMAN-01008: the bad identifier was: rename
                      RMAN-01007: at line 1 column 16 file: standard input

                      E com relação ao RMAN… eu tenho um outro servidor com Oracle Instalado, gostaria de saber se posso fazer um backup do rman e restaurar no outro servidor ou tenho que criar um novo catálogo.

                      Obrigado pela ajuda.

                      #84071
                      Ricardo Portilho Proni
                      Participante

                        Ops, passe i o comando de SQL*Plus, e vc tá no RMAN:

                        Com o banco em MOUNT:

                        RMAN> connect catalog rman/password@rman
                        RMAN> connect target /
                        RMAN > run {
                        allocate channel t1 type disk;
                        allocate channel t2 type disk;
                        RENAME FILE 20 TO ‘/home/oracle/tbsasoec/teste.dbf’;
                        restore database;
                        recover database;
                        sql ‘alter database open resetlogs’;
                        release channel t1;
                        release channel t2;
                        SWITCH DATAFILE 20 TO COPY;
                        }

                        #84072
                        mpvargas
                        Participante

                          Ricardo, seguem os erros:

                          RMAN> run {
                          2> allocate channel t1 type disk;
                          3> allocate channel t2 type disk;
                          4> RENAME FILE 20 TO ‘/home/oracle/tbsasoec/teste.dbf’;

                          RMAN-00571: ==================================
                          RMAN-00569: ====== ERROR MESSAGE STACK FOLLOWS =====
                          RMAN-00571: ===================================
                          RMAN-00558: error encountered while parsing input commands
                          RMAN-01009: syntax error: found “identifier”: expecting one of: “allocate, alter, backup, beginline, blockrecover, catalog, change, copy, convert, crosscheck, configure, duplicate, debug, delete, execute, endinline, flashback, host, mount, open, plsql, recover, release, replicate, report, restore, resync, }, set, setlimit, sql, switch, startup, shutdown, send, show, transport, validate”
                          RMAN-01008: the bad identifier was: RENAME
                          RMAN-01007: at line 4 column 1 file: standard input

                          E mais abaixo deu essa mensagem:

                          RMAN>
                          Starting recover at 02-DEC-08
                          using channel ORA_DISK_1

                          starting media recovery

                          archive log thread 1 sequence 154 is already on disk as file /u01/app/oracle/oradata/asoec/redolog/redo2A.log
                          archive log filename=/u01/app/oracle/oradata/asoec/redolog/redo2A.log thread=1 sequence=154
                          Oracle Error:
                          ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
                          ORA-01245: offline file 20 will be lost if RESETLOGS is done
                          ORA-01111: name for data file 20 is unknown – rename to correct file
                          ORA-01110: data file 20: ‘/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00020’

                          media recovery complete, elapsed time: 00:00:03
                          Finished recover at 02-DEC-08

                          OBS.: EU NÃO CRIEI NENHUMA TABLESPACE NO DIR ‘/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00020’… ISSO QUE ESTOU ACHANDO ESTRANHO.

                          #84073
                          Ricardo Portilho Proni
                          Participante

                            Ops, deculpe, estou errando o comando pois estou sem Oracle pra testar, estou fazendo de cabeça.

                            set newname for datafile 4 to /home/oracle/tbsasoec/teste.dbf’;

                            Este archivo com nome estranho é um datafile que estava OFFLINE na base onde foi feito o backup.
                            O Oracle não sabe onde está o datafile 20, então ele “chuta” que está no ORACLE_HOME/dbs.

                            Vc deve achar qual o real nome / localização do datafile 20, e dar o SET NEWNAME dentro do block RUN, antes do RESTORE.

                            #84077
                            mpvargas
                            Participante

                              Estou lembrando de um detalhe.
                              Eu criei esse datafile depois de ter feito o backup, não sei se isso influencia.

                              Usei o comando abaixo
                              RMAN> run {
                              set newname for datafile ‘/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00020’ to ‘/home/oracle/tbsasoec/teste.dbf’;
                              restore tablespace TESTE;
                              switch datafile all;
                              recover tablespace TESTE;
                              sql ‘alter tablespace TESTE online’;
                              }

                              Mas ele disse que não encontrou o datafile no catálogo…

                              RMAN-03002: failure of switch to copy command at 12/02/2008 12:50:21
                              RMAN-06004: ORACLE error from recovery catalog database: RMAN-20201: datafile not found in the recovery catalog
                              RMAN-06010: error while looking up datafile: 20

                              Os outros datafiles (1 ao 19) ele restaurou perfeitamente, e só deu problema nesse que eu criei depois…

                              No caso essa cópia ficou no redolog?
                              E se eu apagar o redolog, será que ele recria e coloca o banco no estado normal?
                              Como isso é banco de teste não tem problema, serve como laboratório…

                              #84080
                              Anônimo

                                [quote=”mpvargas”:2pkgrmx1]Caros amigos… Obrigado pela ajuda.
                                E a luta continua (EU X RMAN)

                                Fabão
                                No RMAN o parametro que você citou está ON
                                CONFIGURE CONTROLFILE AUTOBACKUP ON;

                                [/quote]

                                É isso ae, pois essa é a única forma de restaurar o control que eu conheço

                                Abraço e boa sorte

                                #84089
                                Ricardo Portilho Proni
                                Participante

                                  O que aconteceu foi o seguinte:
                                  Vc está usando um backup de ANTES de criar este datafile, e usando um controlfile de DEPOIS de ter criado este datafile.
                                  Vc precisa de um CONTROLFILE e BACKUP do mesmo tempo…

                                  O autobackup do controlfile no RMAN fará apenas que a cada mudança física no banco, (criação de datafiles, tablespaces), seja gerado um backup do controlfile automaticamemte.

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