- Este tópico contém 39 respostas, 4 vozes e foi atualizado pela última vez 14 anos, 11 meses atrás por
mpvargas.
-
AutorPosts
-
19 de janeiro de 2011 às 6:59 pm #97813
mpvargas
ParticipanteCaros Amigos,
Desculpe insistir nesse assunto, pois já abri vários tópicos sobre o RMAN.
A minha preocupação é que estou a 1 semana tentando restaurar um backup num novo servidor e não estou obtendo sucesso.
Gostaria de saber se o meu script está correto… e se é possível restaurar o banco (está em modo archivelog) sem a necessidade de qualquer arquivo do banco de origem, no caso, saber se o RMAN armazena em sua cópia todos os arquivos necessários para a restauração.
Segue abaixo o meu script:connect catalog rman/password@rman
connect target /
run {
crosscheck archivelog all;
delete noprompt obsolete;
allocate channel ch1 type disk format ‘/logs/bkprman/%d_%t_%s_%r.bkp’;
allocate channel ch2 type disk format ‘/logs/bkprman/%d_%t_%s_%r.bkp’;
allocate channel ch3 type disk format ‘/logs/bkprman/%d_%t_%s_%r.bkp’;
allocate channel ch4 type disk format ‘/logs/bkprman/%d_%t_%s_%r.bkp’;
backup as compressed backupset database include current controlfile plus archivelog;
backup spfile;
release channel ch1;
release channel ch2;
release channel ch3;
release channel ch4;
}19 de janeiro de 2011 às 9:06 pm #97821Regis Araujo
ParticipanteOla Vargas..!
Este script q vc postou é o de backup, não o de restore..!
E o RMAN precisa dos arquivos gerados pelo backup para poder restaurar o banco em outro lugar, a unica coisa que ele armazena é o caminho da geração dos backups.. dentro da base do rman vc não tem armazenado uma copia dos backups..!!
Pelo que entendi.. para vc seria muito melhor fazer um duplicate database.. mas mesmo assim vc vai precisar dos arquivos gerados pelo backup.!!
Se der.. coloca o script de restore que vc esta executando e quais os problemas que vc esta encontrando e erros..!
Qualquer coisa.. posta ai..!
Abraços..!
19 de janeiro de 2011 às 9:13 pm #97823mpvargas
ParticipanteFala Regis…
Já estou cansado com esse negócio… e a preocupação só aumenta…
Mas vamos lá… coloquei o script errado… segue abaixo o script de restore, considerando que estou tentando restaurar num outro servidor:RUN {
ALLOCATE CHANNEL C1 DEVICE TYPE DISK;
ALLOCATE CHANNEL C2 DEVICE TYPE DISK;
ALLOCATE CHANNEL C3 DEVICE TYPE DISK;
ALLOCATE CHANNEL C4 DEVICE TYPE DISK;
set newname for datafile 1 to ‘/u01/app/oracle/oradata/asoec10/system01.dbf’;
set newname for datafile 2 to ‘/u01/app/oracle/oradata/asoec10/undotbs01.dbf’;
set newname for datafile 3 to ‘/u01/app/oracle/oradata/asoec10/sysaux01.dbf’;
set newname for datafile 4 to ‘/u01/app/oracle/oradata/asoec10/users01.dbf’;
set newname for datafile 5 to ‘/logs/tbsasoec10/dados01/dados01.dbf’;
…
set newname for datafile 26 to ‘/backup/tbsasoec10/indices07/indices07.dbf’;
set newname for datafile 27 to ‘/backup/tbsasoec10/dados15/dados15.dbf’;
RESTORE DATABASE;
switch datafile all;
RECOVER DATABASE ;
ALTER DATABASE OPEN RESETLOGS;
release channel C1;
release channel C2;
release channel C3;
release channel C4;
}19 de janeiro de 2011 às 9:17 pm #97824mpvargas
ParticipanteNo final deu esse erro:
Oracle Error:
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: ‘/u01/app/oracle/oradata/asoec10/system01.dbf’released channel: C1
released channel: C2
released channel: C3
released channel: C4
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 01/19/2011 12:26:18
RMAN-06053: unable to perform media recovery because of missing log
RMAN-06025: no backup of log thread 1 seq 7661 lowscn 2218128559 found to restore
RMAN-06025: no backup of log thread 1 seq 7510 lowscn 2196352371 found to restore
RMAN-06025: no backup of log thread 1 seq 7509 lowscn 2196254933 found to restore
RMAN-06025: no backup of log thread 1 seq 7508 lowscn 2191861166 found to restore
RMAN-06025: no backup of log thread 1 seq 7507 lowscn 2191796170 found to restore
RMAN-06025: no backup of log thread 1 seq 7506 lowscn 2191727129 found to restore
RMAN-06025: no backup of log thread 1 seq 7505 lowscn 2191648555 found to restore
RMAN-06025: no backup of log thread 1 seq 7504 lowscn 2191626691 found to restore
RMAN-06025: no backup of log thread 1 seq 7503 lowscn 2186318483 found to restore
RMAN-06025: no backup of log thread 1 seq 7502 lowscn 2186293515 found to restore19 de janeiro de 2011 às 9:36 pm #97827Regis Araujo
ParticipanteFala Vargas..!
Bom.. pelos erros o problema esta na falta de arquivos..!
O primeiro erro fala que não encontrou nenhum backup válido para o datafile 1 e os demais erros foi que não encontrou os archives backupeados..!
Vc tem no diretório todos ultimos backups válidos?
Nestes backups vc possui o ultimo backup nivel 0 e os archives até o SCN do controlfile ?
Caso vc queira restaurar o backup até uma data especifica.. sugiro colocar a clausula
RESTORE DATABASE UNTIL TIME TO_DATE(‘2010-01-18 23:59:59′,’YYYY-MM-DD HH24:MI:SS’)
Dependendo da periodicidade do seu backup.. é melhor vc colocar a clausula until time ou until sequence.. pois vai garantir que vc restaure seu banco até determinado tempo ou archive..!!
Oq vc pode fazer se o banco não for muito grande.. é gerar um backup nivel 0 e depois fazer o restore.
Qualquer coisa.. posta ai..
Abraços..!
19 de janeiro de 2011 às 10:21 pm #97831mpvargas
ParticipanteRegis,
o que me intriga é o seguinte: se no meu script de backup tem a opção “backup … include current controlfile plus archivelog” teoricamente esses archivelogs já não deveriam estar “inclusos” nos arquivos do RMAN?
E se der um crash no meu servidor principal e eu não conseguir recuperar os archivelogs… td bem que tenho um script de backup que copia os archives para outro servidor de tempo em tempo… mas não sei exatamente qual archive o RMAN vai solicitar…Usei as seguintes opções:
RMAN> list archivelog all;List of Archived Log Copies
Key Thrd Seq S Low Time Name
59431 1 7670 A 18-JAN-11 /logs/flash_recovery_area/ASOEC10/archivelog/2011_01_19/o1_mf_1_7670_6mdt7dxb_.arc
59448 1 7671 A 19-JAN-11 /logs/flash_recovery_area/ASOEC10/archivelog/2011_01_19/o1_mf_1_7671_6mdy04hs_.arcRMAN> run
{
RESTORE VALIDATE CHECK LOGICAL ARCHIVELOG from sequence 7670;
}2> 3> 4>Starting restore at 19-JAN-11
using channel ORA_DISK_1channel ORA_DISK_1: scanning archive log /logs/flash_recovery_area/ASOEC10/archivelog/2011_01_19/o1_mf_1_7670_6mdt7dxb_.arc
channel ORA_DISK_1: scanning archive log /logs/flash_recovery_area/ASOEC10/archivelog/2011_01_19/o1_mf_1_7671_6mdy04hs_.arc
Finished restore at 19-JAN-11RMAN> ALTER DATABASE OPEN RESETLOGS;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 01/19/2011 14:16:15
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: ‘/u01/app/oracle/oradata/asoec10/system01.dbf’19 de janeiro de 2011 às 10:22 pm #97832mpvargas
ParticipanteRegis,
Eu estou achando que ele está pedindo archives muito antigos…RMAN> RECOVER DATABASE;
Starting recover at 19-JAN-11
using channel ORA_DISK_1starting media recovery
archive log thread 1 sequence 7670 is already on disk as file /logs/flash_recovery_area/ASOEC10/archivelog/2011_01_19/o1_mf_1_7670_6mdt7dxb_.arc
archive log thread 1 sequence 7671 is already on disk as file /logs/flash_recovery_area/ASOEC10/archivelog/2011_01_19/o1_mf_1_7671_6mdy04hs_.arc
Oracle Error:
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: ‘/u01/app/oracle/oradata/asoec10/system01.dbf’RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 01/19/2011 16:19:57
RMAN-06053: unable to perform media recovery because of missing log
RMAN-06025: no backup of log thread 1 seq 7661 lowscn 2218128559 found to restore
RMAN-06025: no backup of log thread 1 seq 7510 lowscn 2196352371 found to restore
RMAN-06025: no backup of log thread 1 seq 7509 lowscn 2196254933 found to restore
RMAN-06025: no backup of log thread 1 seq 7508 lowscn 2191861166 found to restore
RMAN-06025: no backup of log thread 1 seq 7507 lowscn 2191796170 found to restore
RMAN-06025: no backup of log thread 1 seq 7506 lowscn 2191727129 found to restore
RMAN-06025: no backup of log thread 1 seq 7505 lowscn 2191648555 found to restore
RMAN-06025: no backup of log thread 1 seq 7504 lowscn 2191626691 found to restore
RMAN-06025: no backup of log thread 1 seq 7503 lowscn 2186318483 found to restore
RMAN-06025: no backup of log thread 1 seq 7502 lowscn 2186293515 found to restore19 de janeiro de 2011 às 10:44 pm #97833vieri
Participanteset o DBID do database
catalogue o backup
restaure o control file primeiro!
restaure o database
e em outro bloco run,
faça o recover
e o reset logs
19 de janeiro de 2011 às 10:48 pm #97836Regis Araujo
ParticipanteOpa..!
Vc esta certissimo.. no seu backup vc faz backup do banco, spfile, controlfile e os archives existentes..!!
O problema esta no datafile 1.. o erro fala q não conseguiu encontrar o datafile em um backup antigo.. muito estranho isto..!!
roda o comando
LIST BACKUPSET OF DATAFILE 1;
Para vc verificar quando que foi gerado o ultimo backup deste datafile..
Faça os procedimentos que o Vieri falou.. mas o restore database direto.. já faz o restore do controlfile e tal.. mas as vezes é melhor fazer igual ao Jack.. ir por partes..!!!
Vai postando aqui os resultados..!!
Abraços..!
19 de janeiro de 2011 às 10:57 pm #97838vieri
Participantepeça um lista backup sumary e faz o restore database via TAG.
e antes faz o restore do controlfile via o caminho.
restore controlfile from ‘/caminho/sfsfsd.bkp’
ai posta o resultado de cada passo realizado.
19 de janeiro de 2011 às 11:06 pm #97841mpvargas
ParticipanteVieri…
Eu sigo esses passos…set o DBID do database
catalogue o backup
restaure o control file primeiro!
restaure o database
e em outro bloco run,
faça o recover
e o reset logsMais acima tem o script de restore
A diferença é que está tudo no bloco RUNRUN
{
…
RESTORE DATABASE;
switch datafile all;
RECOVER DATABASE ;
ALTER DATABASE OPEN RESETLOGS
…
}Vc acha melhor eu separar os blocos?
19 de janeiro de 2011 às 11:08 pm #97843mpvargas
ParticipanteRegis
Segue o resultadoRMAN> LIST BACKUPSET OF DATAFILE 1;
List of Backup Sets
BS Key Type LV Size Device Type Elapsed Time Completion Time
41334 Full 1.58G DISK 00:14:42 18-JAN-11
BP Key: 41345 Status: EXPIRED Compressed: YES Tag: TAG20110118T023245
Piece Name: /logs/bkprman/ASOEC10_740716366_3579_%r.bkp
List of Datafiles in backup set 41334
File LV Type Ckp SCN Ckp Time Name
1 Full 2218128781 18-JAN-11 /u01/app/oracle/oradata/asoec10/system01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
59452 Full 1.58G DISK 00:14:26 19-JAN-11
BP Key: 59462 Status: AVAILABLE Compressed: YES Tag: TAG20110119T023158
Piece Name: /logs/bkprman/ASOEC10_740802719_3590_%r.bkp
List of Datafiles in backup set 59452
File LV Type Ckp SCN Ckp Time Name
1 Full 2219179253 19-JAN-11 /u01/app/oracle/oradata/asoec10/system01.dbf
19 de janeiro de 2011 às 11:11 pm #97844vieri
ParticipanteRUN
{
RESTORE DATABASE;
switch datafile all;
}RECOVER DATABASE ;
ALTER DATABASE OPEN RESETLOGS ;
19 de janeiro de 2011 às 11:17 pm #97845vieri
Participanteeu coloquei um passo a passo no meu blog da uma olhada.
19 de janeiro de 2011 às 11:24 pm #97846mpvargas
ParticipanteValeu Vieri
Obrigado pela ajudaVou fazer um teste passo a passo…
-
AutorPosts
- Você deve fazer login para responder a este tópico.