- Este tópico contém 14 respostas, 8 vozes e foi atualizado pela última vez 16 anos, 7 meses atrás por
vieri.
-
AutorPosts
-
7 de agosto de 2009 às 9:18 pm #88697
jspaulonci
ParticipanteOi moçada, tudo bem ?, estou precisando de uma grande ajuda.
Preciso documentar algumas coisas sobre disaster e recovery.
Para isso estou tentando simular a perda de um controlfile.
Estou usando RAC com ASM, entaum eu baixo todas as instâncias , vou
pelo asmcmd , apago os controlfiles manualmente com o comando rm -f
.
Starto a base em nomount
abro o rman e mando o comandoRESTORE CONTROLFILE FROM AUTOBACKUP;
vejam o erro que ocorre
[oracle@srv15011 backup]$ rman target BKPADMIN/dbalrs nocatalogRecovery Manager: Release 10.2.0.3.0 – Production on Fri Aug 7 14:14:25 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: dbdrep1 (not mounted)
using target database control file instead of recovery catalogRMAN> set dbid 427729695
executing command: SET DBID
RMAN> restore controlfile from autobackup;
Starting restore at 07-AUG-09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=153 devtype=DISKrecovery area destination: +FLASH
database name (or database unique name) used for search: DBDREP1
channel ORA_DISK_1: no autobackups found in the recovery area
channel ORA_DISK_1: looking for autobackup on day: 20090807
channel ORA_DISK_1: looking for autobackup on day: 20090806
channel ORA_DISK_1: looking for autobackup on day: 20090805
channel ORA_DISK_1: looking for autobackup on day: 20090804
channel ORA_DISK_1: looking for autobackup on day: 20090803
channel ORA_DISK_1: looking for autobackup on day: 20090802
channel ORA_DISK_1: looking for autobackup on day: 20090801
channel ORA_DISK_1: no autobackup in 7 days found
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 08/07/2009 14:14:46
RMAN-06172: no autobackup found or specified handle is not a valid copy or pLembando que , o comando utilizado para fazer o backup foi
backup as compressed backupset full database plus archivelog delete input;
E a opção de backup automático do controlfile está em ON, o que estou fazendo de errado ?
Obrigado
7 de agosto de 2009 às 9:30 pm #88699David Siqueira
ParticipanteJoão posta o resultado deste comando aqui:
LIST BACKUP OF CONTROLFILE;Pra que possamos saber quando foi o ultimo dia em que houvebackup do seu control file.
Abraço
7 de agosto de 2009 às 9:32 pm #88701jspaulonci
ParticipanteRMAN> LIST BACKUP OF CONTROLFILE;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of list command at 08/07/2009 14:32:09
ORA-01507: database not mounted7 de agosto de 2009 às 9:38 pm #88702Regis Araujo
ParticipanteFala João.. boa tarde..
Desculpa me intrometer.. não sou especialista em RMAN.. alias.. mal conheço a ferramenta.. estou estudando sobre ela.. mas uma dúvida.. para vc utilizar o AUTOBACKUP vc precisa configurar o CONTROLFILE AUTOBACKUP como ON e rodar script de geração do arquivo de backup….
Pela mensagem.. vc não tem backup gerado como AUTOBACKUP..
digita assim..
RMAN> show controlfile autobackup;
E verifica se seu autobackup esta on ou off..
Se estiver off.. não conseguirá restaurar via autobackup..
Para habilitar vc roda..
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;RMAN> RUN {
SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/RMAN/BACKUPAUTO/bkp_CF_%d_%t_%s.bck';
BACKUP AS BACKUPSET DEVICE TYPE DISK DATABASE;
}Bom.. pelo menos é isto que aprendi enquanto lia sobre RMAN..
Se eu estiver errado.. creio que o pessoal irá me corrigir..
Abraços..
7 de agosto de 2009 às 9:39 pm #88703David Siqueira
ParticipanteEsse comando que você utilizou João faz com que o RMAN busque da sua FRA o ultimo backup do seu Controlfile, caso a área ja tenha sido liberada ele não encontrará a informação, dai só lhe resta a opção de tentar restaurar o seu controlfile do seu Backup Set, por isso pedi pra tu fazer o List, quando tiver o nome do seu Backup Set que contem seu ultimo backup de Controlfile faz o seguinte comando :
set ORACLE_SID=
rman target user/senhaset DBID=;
startup nomount;
run{
allocate channel t1 device type disk;
restore controlfile from '';
}
shutdown immediate;Espero que te ajude.
Abraços
7 de agosto de 2009 às 9:39 pm #88704Marcos Braga
ParticipanteOi João Paulo,
Como está a estrutura do flash_recovery_area ???
Pode listar os diretórios?
Escrevi um artigo que envolvia o restore de controlfile mas ainda não foi publicado.
Nele expliquei como a estrutura do flash_recovery_area fica quando utilizamos o backupset com autobackup do controlfile ativo.
Efetuei um restore de uma base completa, incluindo o controlfile. E pelo que presenciei de alguns erros seu caso parece muito com estrutura. Se não for a estrutura padrão, terá que utilizar RESTORE CONTROLFILE FROM ‘/PATH/BACKUP.RMAN’;
[]s
Braga7 de agosto de 2009 às 10:27 pm #88712Rodrigo Almeida
ParticipanteJoão,
A opção de CONFIGURE CONTROLFILE AUTOBACKUP ON; está desabilitada do seu controlfile, pois com essa opção habilitada, qualquer operação de backup com o RMAN, ele irá fazer um backup automático do seu CF.
Veja se isso aqui pode lhe ajudar tb.
https://profissionaloracle.com.br/blogs/ … -com-rman/
Abraços,
8 de agosto de 2009 às 5:21 am #88724CleitonHanzen
ParticipanteOpá…
Vocês utilizam alguma ferramenta de backup pra fita (HP Data Protector, TSM, Veritas) ou algo do gênero????
Se sim, apesar do Oracle 10g fazer a alocação automática de canais, isto somente é possível SE O BANCO ESTÁ EM MODO MOUNT, no modo NOMOUNT e sem catálogo do RMAN não é possível acessar as informações de backups já efetuados…(Isto é até conceito básico…rsrsrs…..comandos como list backup, show controlfile ..etc..etc…etc… não vão funcionar… )
Segue mais ou menos um procedimento que uso (quando faço restore através do TSM ou HP DataProtector):
rman target /
set dbid xxxxxxxx;
run {
set controlfile autobackup format for device type sbt_tape to ‘%F’;
allocate channel c1 device type ‘sbt_tape’ parms ‘ENV=(blá..blá)’;
set until time blá…blá..blá…;
restore controlfile from autobackup;
sql ‘alter database mount’;
restore database;
recover database delete archivelog;
sql ‘alter database open resetlogs’;
}Espero ter ajudado….
[]s
8 de agosto de 2009 às 3:13 pm #88727jspaulonci
ParticipanteBom dia moçada, tudo que foi colocado aqui é esclarecedor, tem um detalhe que preciso frizar, como eu disse a vocês, estou tentando simular perda de controlfiles, com ASM e RAC, e detalhe, quando eu faço o backup da base eu uso nocatalog. Isso quer dizer que as definições do RMAN como o controlfile autobackup on, estará armazenado no meu controlfile certo ?
Para simular a perda do controlfile, eu gostaria de entrar pelo ASMCMD e dar rm no controlfile, com o banco no ar, a questão é que o Oracle não deixa, diz que o arquivo está em uso, e isso acho realmente bom.
Entaum, eu tiro as bases do ar dou o rm no controlfile e começo a minha simulação, entro no rman e starto em nomount, a pergunta é….se meu controlfile armazena as minas configurações de rman e ele não está mais lá, começa a dar pau não é ? Logo, ele irá procurar na flash área e não no meu diretório de backup que no meu caso é /u01/dbackup
Estou certo ?
8 de agosto de 2009 às 3:38 pm #88728jspaulonci
ParticipanteDrbs, náo consegui executar a sua idéia, está faltando alguma coisa.
RMAN> startup nomount;
Oracle instance started
Total System Global Area 1610612736 bytes
Fixed Size 2073088 bytes
Variable Size 838864384 bytes
Database Buffers 754974720 bytes
Redo Buffers 14700544 bytesRMAN>
RMAN> set dbid=427729695
executing command: SET DBID
RMAN> restore controlfile from ‘/u01/backup’;
Starting restore at 08-AUG-09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=145 instance=dbdrep11 devtype=DISKRMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 08/08/2009 08:36:19
RMAN-06172: no autobackup found or specified handle is not a valid copy or pieceRMAN> restore controlfile from ‘/u01/backup/%F’;
Starting restore at 08-AUG-09
using channel ORA_DISK_1RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 08/08/2009 08:37:10
RMAN-06172: no autobackup found or specified handle is not a valid copy or pieceRMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘/u01/backup/%F’;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of configure command at 08/08/2009 08:37:34
ORA-01507: database not mounted9 de agosto de 2009 às 12:56 am #88733CleitonHanzen
ParticipanteOpá..
faça assim no RMAN (com o banco em estado nomount):
run{
set controlfile autobackup format for device type disk to ”/u01/backup/%F’;
restore controlfile from autobackup;
}10 de agosto de 2009 às 12:38 am #88734Anônimo
Amigo, vc citou que não está usando catálogo, certo?
Se sua simulação é em cima da perda do controlfile, logo o oracle não tem um parâmetro para localizar o backup do controlfile, pois quando vc não utiliza catálogo, as informações sobre os backups ficam justamente no controlfile, provavelmente esse seja o motivo do erro que vc está recebendo.
Tente fazer um teste, usando catálogo.
10 de agosto de 2009 às 6:47 pm #88739vieri
ParticipanteJoão da uma olhada nesse roteiro que criei pode lhe ajudar.
Recuperação com RMAN , após remoção “crash” do arquivo de controle (CONTROL-FILE) com a base on-line.
Backup do Control-file: (O backup do control file deve ser sempre incluso na rotina diária de backup).
RMAN> backup current controlfile tag ‘BKP_CTL’ format ‘/u03/wis/bkp_ctl_%d_%U_%s.rman’;
Starting backup at 29-JUL-09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=149 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
channel ORA_DISK_1: starting piece 1 at 29-JUL-09
channel ORA_DISK_1: finished piece 1 at 29-JUL-09piece handle=/u03/wis/bkp_ctl_WIS_04klbn9d_1_1_4.rman tag=BKP_CTL comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 29-JUL-09[oracle@admbidev wis]$ rm -rf control02.ctl
SQL> select * from dba_data_files ;
select * from dba_data_files
*
ERROR at line 1:
ORA-00210: cannot open the specified control file
ORA-00202: control file: ‘/u03/wis/control02.ctl’
ORA-27041: unable to open file
Linux Error: 2: No such file or directoryAdditional information: 3
SQL> shutdown immediate ;
ORA-00210: cannot open the specified control file
ORA-00202: control file: ‘/u03/wis/control02.ctl’
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3SQL> shutdown abort ;
ORACLE instance shut down.[oracle@admbidev wis]$ rman target /
Recovery Manager: Release 10.2.0.3.0 – Production on Wed Jul 29 11:01:43 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database (not started)RMAN> startup nomount ;
Oracle instance started
Total System Global Area 536870912 bytes
Fixed Size 1262788 bytes
Variable Size 155192124 bytes
Database Buffers 373293056 bytes
Redo Buffers 7122944 bytesRMAN> RESTORE CONTROLFILE FROM ‘/u03/wis/bkp_ctl_WIS_04klbn9d_1_1_4.rman’;
Starting restore at 29-JUL-09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=156 devtype=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:02
output filename=/u03/wis/control01.ctl
output filename=/u03/wis/control02.ctlFinished restore at 29-JUL-09
RMAN> alter database mount ;
database mounted
released channel: ORA_DISK_1RMAN> recover database;
Starting recover at 29-JUL-09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=156 devtype=DISKstarting media recovery
archive log thread 1 sequence 1 is already on disk as file /u03/wis/redo04.log
archive log filename=/u03/wis/redo04.log thread=1 sequence=1
media recovery complete, elapsed time: 00:00:00
Finished recover at 29-JUL-09RMAN> alter database open resetlogs;
database openedRMAN> shutdown immediate ;
database closed
database dismounted
Oracle instance shut downRMAN> startup ;
connected to target database (not started)
Oracle instance started
database mounted
database openedTotal System Global Area 536870912 bytes
Fixed Size 1262788 bytes
Variable Size 155192124 bytes
Database Buffers 373293056 bytes
Redo Buffers 7122944 bytesAporveito pra divulgar meu Blog aonde coloquei esses exemplos de
backup/restore.https://profissionaloracle.com.br/blogs/vieri/
Mershan grátis!! heuaheu
[]s
10 de agosto de 2009 às 9:08 pm #88756jspaulonci
ParticipanteVieri…parabens brother….muito obrigado funcionou.
Quero fazer uma pergunta , dá pra eu deixar o comando
backup current controlfile tag ‘BKP_CTL’ format ‘/u03/wis/bkp_ctl_%d_%U_%s.rman’; no esquema de autobacku on do rman ou eu preciso realmente incluí-lo na minha rotina de backup ?Obrigado
10 de agosto de 2009 às 9:42 pm #88759vieri
ParticipanteCONFIGURE SNAPSHOT CONTROLFILE NAME TO ‘/u01/app/oracle/product/10.2.0/dbs/snapcf_ora10g.f’; # default
acho que é isso !!
-
AutorPosts
- Você deve fazer login para responder a este tópico.