- Este tópico contém 14 respostas, 2 vozes e foi atualizado pela última vez 10 anos, 7 meses atrás por Regis Araujo.
-
AutorPosts
-
26 de março de 2014 às 4:19 pm #106436rmanParticipante
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: ExampleIn 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?
26 de março de 2014 às 8:07 pm #106437Regis AraujoParticipante@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
26 de março de 2014 às 9:33 pm #106438rmanParticipante@Regis Araujo
O backup foi feito direto pra fita pelo EMC Networker.
Como fica o BACKUP LOCATION? Neste caso não usa?
26 de março de 2014 às 10:05 pm #106440Regis AraujoParticipante@rman
O backup location você seta como ‘sbt_tape’.
” backup location ‘sbt_tape’ ”
Abraços..!
Regis Araujo
27 de março de 2014 às 7:53 pm #106442rmanParticipante@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 sysdbaSQL*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 ProductionSQL> shutdown immediate;
ORA-01507: database not mountedORACLE 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 sysdbaSQL*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
27 de março de 2014 às 11:40 pm #106443Regis AraujoParticipante@rman
Opa, você já conectou no auxiliary, então não precisa colocar auxiliary no allocate.. deixe apenas allocate channel.
Abraços..!
Regis Araujo
27 de março de 2014 às 11:42 pm #106444Regis AraujoParticipante@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_0RMAN>
** 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
28 de março de 2014 às 12:03 am #106445rmanParticipante@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?
28 de março de 2014 às 12:17 am #106446Regis AraujoParticipante@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_0RMAN>
Abraços..!
Regis Araujo
28 de março de 2014 às 5:31 pm #106447rmanParticipante@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
28 de março de 2014 às 8:02 pm #106449Regis AraujoParticipante@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
31 de março de 2014 às 8:44 pm #106458rmanParticipante@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.0Starting 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
31 de março de 2014 às 9:32 pm #106459Regis AraujoParticipante@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
31 de março de 2014 às 9:36 pm #106460rmanParticipante@Regis Araujo
Eu já estava chegando a essa conclusão.
Então DUPLICATE DATABASE com BACKUP LOCATION só é possível se estiver em DISCO?
31 de março de 2014 às 10:03 pm #106461Regis AraujoParticipante@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
-
AutorPosts
- Você deve fazer login para responder a este tópico.