Pular para o conteúdo
  • Este tópico contém 14 respostas, 2 vozes e foi atualizado pela última vez 10 anos, 7 meses atrás por Avatar photoRegis Araujo.
Visualizando 15 posts - 1 até 15 (de 15 do total)
  • Autor
    Posts
  • #106436
    Avatar de rmanrman
    Participante

      Olá,

      Gostaria de fazer um DUPLICATE DATABASE sem conexão com o TARGET e sem catalogo de rman.

      Na documentação oficial temos:


      Backup-Based Duplication Without a Target and a Recovery Catalog Connection: Example

      In the variation of Example 24-1, shown in Example 24-5, RMAN does not use a TARGET connection to the source database or a CATALOG connection to a recovery catalog. All backup and copies necessary for duplication until November 11 of 2007 at 2:00 PM, including a control file backup or copy, have been placed under /prod_backups.

      Example 24-5 Duplicating a Database Without a Target and Recovery Catalog Connection (Backup-Based)

      DUPLICATE DATABASE TO dupdb
      UNTIL TIME "TO_DATE('11/01/2007 14:00:00', 'MM/DD/YYYY HH24:MI:SS')"
      SPFILE
      BACKUP LOCATION '/prod_backups'
      NOFILENAMECHECK;

      Note the following characteristics of Example 24-5:

      The database name is not specified. By not specifying a database name with the DATABASE keyword, DUPLICATE obtains the database name and DBID from the backups. An error is displayed if backups for more than one database were found in the BACKUP LOCATION.

      Use of the BACKUP LOCATION clause identifies the type of duplication as backup-based with neither a target connection nor recovery catalog.

      The UNTIL TIME option is specified. It is the only UNTIL subclause permitted with the BACKUP LOCATION clause.

      The NOFILENAMECHECK option check is specified because it is necessary when the duplicate database files use the same names as the source database files.

      Esse exemplo dado é para um backup em DISK.

      Gostaria de saber como fazer isso quando o backup está em SBT_TAPE. Será que é possível? Como devo configurar o BACKUP LOCATION?

      #106437
      Avatar photoRegis Araujo
      Participante

        @rman

        Boa tarde!

        O backup via fita, foi feito da área onde o backup foi gerado ou via rman direto para fita??

        Se foi via rman direto para fita, você vai ter que usar os parâmetros do allocate channel que foram usados para fazer o backup.

        Mas terá que ser via allocate auxiliary channel…

        allocate auxiliary channel ‘dev_0’ type ‘sbt_tape’ parms ‘SBT_LIBRARY=XXX,ENV=(OB2BARTYPE=XXX,OB2APPNAME=xx,OB2BARLIST=xx)’ ;

        Abraços..!

        Regis Araujo

        #106438
        Avatar de rmanrman
        Participante

          @Regis Araujo

          O backup foi feito direto pra fita pelo EMC Networker.

          Como fica o BACKUP LOCATION? Neste caso não usa?

          #106440
          Avatar photoRegis Araujo
          Participante

            @rman

            O backup location você seta como ‘sbt_tape’.

            ” backup location ‘sbt_tape’ ”

            Abraços..!

            Regis Araujo

            #106442
            Avatar de rmanrman
            Participante

              @Regis Araujo

              Não estou conseguindo alocar o canal auxiliar. Estou conectado no servidor de destino, segue:


              oracle@orarest1:/u01/app/oracle/product/11.2.0.4.0/db_1/dbs$ sqlplus / as sysdba

              SQL*Plus: Release 11.2.0.4.0 Production on Thu Mar 27 12:48:19 2014

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

              Connected to:
              Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

              SQL> shutdown immediate;
              ORA-01507: database not mounted

              ORACLE instance shut down.
              SQL> exit
              Disconnected from Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
              oracle@orarest1:/u01/app/oracle/product/11.2.0.4.0/db_1/dbs$ sqlplus / as sysdba

              SQL*Plus: Release 11.2.0.4.0 Production on Thu Mar 27 12:48:38 2014

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

              Connected to an idle instance.

              SQL> startup nomount;
              ORACLE instance started.

              Total System Global Area 8554127360 bytes
              Fixed Size 2198680 bytes
              Variable Size 4093645672 bytes
              Database Buffers 4412407808 bytes
              Redo Buffers 45875200 bytes
              SQL> exit
              Disconnected from Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
              oracle@orarest1:/u01/app/oracle/product/11.2.0.4.0/db_1/dbs$ rman auxiliary /

              Recovery Manager: Release 11.2.0.4.0 - Production on Thu Mar 27 12:48:57 2014

              Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

              connected to auxiliary database: REST1 (not mounted)

              RMAN> ALLOCATE AUXILIARY CHANNEL C1 TYPE 'SBT_TAPE' PARMS 'SBT_PARMS=(NSR_SERVER=XXXXXXXXX,NSR_CLIENT=XXXXXXXX,NSR_COMPRESSION=true)';

              RMAN-00571: ===========================================================
              RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
              RMAN-00571: ===========================================================
              RMAN-00558: error encountered while parsing input commands
              RMAN-01009: syntax error: found "auxiliary": expecting one of: "channel"
              RMAN-01007: at line 1 column 10 file: standard input

              #106443
              Avatar photoRegis Araujo
              Participante

                @rman

                Opa, você já conectou no auxiliary, então não precisa colocar auxiliary no allocate.. deixe apenas allocate channel.

                Abraços..!

                Regis Araujo

                #106444
                Avatar photoRegis Araujo
                Participante

                  @rman

                  Opa, você está usando os mesmos parametros que são utilizados para o allocate channel de quando foi feito o backup???

                  Eu consegui realizar o allocate em um banco de teste.. !!


                  [oracle@XXXX ~]$ rman auxiliary /

                  Recovery Manager: Release 11.2.0.2.0 - Production on Thu Mar 27 16:48:06 2014

                  Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

                  connected to auxiliary database: XXXX (DBID=XXXXXXXX)

                  RMAN> run {
                  2> allocate auxiliary channel 'dev_0' type 'sbt_tape' parms 'SBT_LIBRARY=/opt/omni/lib/libob2oracle8_64bit.so,ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=XXXX,OB2BARLIST=XXXX_BACKUP_FULL)' ;
                  3> }

                  allocated channel: dev_0
                  channel dev_0: SID=776 device type=SBT_TAPE
                  channel dev_0: Data Protector A.07.00/103
                  released channel: dev_0

                  RMAN>

                  ** Eu alterei o nome da instância por XXXX, apenas pq eu não posso divulgar estas informações..
                  ** Estou usando o DataProtector para testar…

                  Abraços..!

                  Regis Araujo

                  #106445
                  Avatar de rmanrman
                  Participante

                    @Regis Araujo

                    No meu caso, o banco está em estado nomount, provalmente o seu banco está open. Por isso não apresentou erro.

                    O meu ambiente está apenas com o Oracle Database instalado e o spfile, não existe controlfile e nem instância. Esse cenário é onde se perde a máquina de produção e vou fazer um duplicate database em um segunda máquina.

                    Como não utilizo o catalogo do rman, o meu repositório é o controlfile, e neste momento não existe controlfile. E o controlfile está na SBT_TAPE que não consigo acessar :blink:

                    Tem alguma ideia?

                    #106446
                    Avatar photoRegis Araujo
                    Participante

                      @Rman

                      No manager desta ferramenta, não existe nenhuma opção para restaurar o arquivo para um filesystem??

                      Meu caro, é uma boa dúvida, não conheço nada de EMC Networker..

                      Mas eu consegui conectar mesmo com o banco em NOMOUNT… De uma olhada!!!


                      [oracle@XXXX dbs]$ rman auxiliary /

                      Recovery Manager: Release 11.2.0.2.0 - Production on Thu Mar 27 17:20:27 2014

                      Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

                      connected to auxiliary database: TESTE (not mounted)

                      RMAN> run {
                      2> allocate auxiliary channel 'dev_0' type 'sbt_tape' parms 'SBT_LIBRARY=/opt/omni/lib/libob2oracle8_64bit.so,ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=XXXX,OB2BARLIST=XXXX_BACKUP_FULL)' ;
                      3> }

                      allocated channel: dev_0
                      channel dev_0: SID=67 device type=SBT_TAPE
                      channel dev_0: Data Protector A.07.00/103
                      released channel: dev_0

                      RMAN>

                      Abraços..!

                      Regis Araujo

                      #106447
                      Avatar de rmanrman
                      Participante

                        @Regis Araujo

                        Acho que descobri o que estava errado, o ALLOCATE deve ser feito dentro do bloco RUN. Mas ainda não foi, vou precisar pedir pra instalar o client do EMC Networker nesta máquina, não conseguiu carregar a library.


                        oracle@xxxxxxxx:~$ rman auxiliary /

                        Recovery Manager: Release 11.2.0.4.0 - Production on Fri Mar 28 10:23:57 2014

                        Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

                        connected to auxiliary database: REST1 (not mounted)

                        RMAN> run {
                        2> ALLOCATE AUXILIARY CHANNEL C1 DEVICE TYPE 'SBT_TAPE' SEND 'NSR_ENV=(NSR_SERVER=xxxxxxxxxxx,NSR_CLIENT=xxxxxxxxx,NSR_COMPRESSION=true)';
                        3> }

                        RMAN-00571: ===========================================================
                        RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
                        RMAN-00571: ===========================================================
                        RMAN-03009: failure of allocate command on C1 channel at 03/28/2014 10:24:05
                        ORA-19554: error allocating device, device type: SBT_TAPE, device name:
                        ORA-27211: Failed to load Media Management Library
                        Additional information: 2

                        #106449
                        Avatar photoRegis Araujo
                        Participante

                          @rman

                          Boa tarde!

                          Cara, eu jurava que havia lhe dito que tinha que estar dentro do bloco RUN {}..

                          E eu achava que a máquina que você está usando para teste, já estivesse lincada com o agent do EMC…

                          Agora se não me engano, para você conseguir acessar o arquivo dentro da fita, você vai precisar setar a TAG que foi utilizada para fazer o backup, alem de ter que setar o DBID do banco que você quer restaurar.

                          rman> set dbid XXXXXX;

                          rman> run {
                          allocate XXXX…;
                          restore controlfile from autobackup;
                          }

                          rman> Run{
                          Allocate XXXX….;
                          restore database from tag XXXXXX;
                          }

                          Abraços..!

                          Regis Araujo

                          #106458
                          Avatar de rmanrman
                          Participante

                            @Regis Araujo

                            Consegui carregar a LIBRARY, mas não encontro o backup do CONTROLFILE. Será que BACKUP LOCATION aceita fita? Não será só para disco?


                            RMAN> run {
                            2> ALLOCATE AUXILIARY CHANNEL T1 DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_PARMS=(NSR_SERVER=xxxxxxxxxxx,NSR_CLIENT=xxxxxxxxxx,NSR_COMPRESSION=true)';
                            3> DUPLICATE DATABASE TO REST1 BACKUP LOCATION 'SBT_TAPE';
                            4> }

                            allocated channel: T1
                            channel T1: SID=625 device type=SBT_TAPE
                            channel T1: NMDA Oracle v1.6.0

                            Starting Duplicate Db at 31-MAR-14
                            released channel: T1
                            RMAN-00571: ===========================================================
                            RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
                            RMAN-00571: ===========================================================
                            RMAN-03002: failure of Duplicate Db command at 03/31/2014 13:42:12
                            RMAN-05501: aborting duplication of target database
                            RMAN-05579: CONTROLFILE backup not found in SBT_TAPE

                            #106459
                            Avatar photoRegis Araujo
                            Participante

                              @rman

                              Boa tarde!

                              Você vai ter que setar o DBID do banco original e fazer o recover via TAG..

                              Desta forma..!

                              rman> set dbid XXXXXX;

                              rman> run {
                              allocate XXXX…;
                              restore controlfile from autobackup;
                              }

                              rman> Run{
                              Allocate XXXX….;
                              restore database from tag XXXXXX;
                              }

                              Abraços..!

                              Regis Araujo

                              #106460
                              Avatar de rmanrman
                              Participante

                                @Regis Araujo

                                Eu já estava chegando a essa conclusão.

                                Então DUPLICATE DATABASE com BACKUP LOCATION só é possível se estiver em DISCO?

                                #106461
                                Avatar photoRegis Araujo
                                Participante

                                  @Rman

                                  Então, a função do Backup Location é informar um caminho não usual de onde está o backup, se o backup foi feito para a fita, terá que ser sem backup location.
                                  Tanto que na documentação só existe referência ao Backup Location quando o backup é feito em disco.

                                  Mas sinceramente, nunca tentei desta forma, setando o backup location direto para a fita e infelizmente no momento não tenho stage para poder fazer este teste..!!

                                  Abraços!!

                                  Regis Araujo

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