- Este tópico contém 34 respostas, 3 vozes e foi atualizado pela última vez 16 anos, 5 meses atrás por
vieri.
-
AutorPosts
-
1 de outubro de 2009 às 3:41 pm #90040
jspaulonci
ParticipanteBom dia pessoal hoje é quinta é feira e estou desde segunda apanhando pra fazendo um restore de uma base em outro servidor, peço ajuda para vocês.
Ontem eu realizei um backup full ontem as 18:30:00 com a sequinte instrução:
ORACLE_SID=dbhml11
export ORACLE_SIDrman target BKPADMIN/dbalrs nocatalog
delete noprompt force obsolete;
crosscheck archivelog all;
crosscheck backup;
sql ‘alter system archive log current’;
backup as compressed backupset full database plus archivelog delete input;
sql ‘alter system archive log current’;
delete noprompt force obsolete;
crosscheck archivelog all;
crosscheck backup;Existe algo errado nesse comando ?
Abraços
Spaulonci1 de outubro de 2009 às 6:20 pm #90044Marcos Braga
ParticipanteOi João Paulo,
Aparentemente nada errado.
O que está ocorrendo no restore ?
[]s
Braga1 de outubro de 2009 às 6:41 pm #90045vieri
ParticipanteBACKUP/RESTORE COM RMAN
1) Realizar um backup full on-line com [DATABASE+ARCHIVE+CONTROLFILE} com RMAN.
Backup simples avulso:
run {
sql ‘alter system archive log current’;
backup full database include current contolfile plus archivelog;
}Backup para utilizar como rotina em database de produção
com versão Standart(sem features de compress)===============DATABASE================
rman target /
run {
allocate channel t1 type disk maxpiecesize = 20G;
allocate channel t2 type disk maxpiecesize = 20G;
allocate channel t3 type disk maxpiecesize = 20G;
backup database include current controlfile tag ‘BKP_WIS_FULL_HOT’
format ‘/u02/backup/bkp_full_%d_%U_%s.rman’;
backup current controlfile tag ‘BKP_CTL’
format ‘/u02/backup/bkp_ctl_%d_%U_%s.rman’;
backup spfile tag ‘BKP_SPFILE’
format ‘/u02/backup/bkp_spfile_%d_%U_%s.rman’;
release channel t1;
release channel t2;
release channel t3;
}=========ARCHIVE=============
run {
allocate channel ch1 type Disk maxpiecesize = 1000M;
sql “alter system archive log current”;
backup archivelog all filesperset 10
format ‘/u02/backup/arch%p_%t_%U.rman’
tag ‘BKP_WIS_FULL_ARCHIVE’
delete all input;
release channel ch1;2) Passe os Backup’s Set’s para o servidor destino – FTP ou SCP.
2.1) Verifique as permissões dos Backup’s Set’s e diretórios, se estão OK.
3) Crie o PFILE na base origem ( create pfile from spfile ) transfira para o servidor destino
No caminho $ORACLE_HOME/dbs com o mesmo nome e altere os parâmetros necessários referente ao novo servidor .
4) Inicie a instância em nodo nomount para validar apenas o arquivo de parâmetros.
#> sqlplus “/ as sysdba”
SQL> startup nomount pfile=/;
Ou
#> Rman target /
RMAN> startup nomount pfile=/;
5) Cadastre o DBID no servidor antigo, neste novo servidor e Restaure o CONTROL FILE pelo RMAN.
Com o controlfile restaurado valide o mesmo subindo a instância em modo mount.
RMAN>SET DBID=428367008;
RMAN>RESTORE CONTROLFILE FROM ‘/u03/wis/full_wis_692811273_2’;
RMAN>ALTER DATABASE MOUNT;6) Faça um CROSSCHECK do backup , para alinhas as informações de backup com o arquivo de controle.
RMAN> CROSSCHECK backup;
RMAN> CROSSCHECK copy;
RMAN> CROSSCHECK backup of database;
RMAN> CROSSCHECK backup of controlfile;
RMAN> CROSSCHECK archivelog all;7) Catalogue os seus arquivos de backup, que foram transferidos para o servidor 2.
RMAN> CATALOG backuppiece ‘′;
Ex:
catalog backuppiece ‘/u03/wis/full_wis_692811273_2’;
catalog backuppiece ‘/u03/wis/full_wis_692814747_3’;
catalog backuppiece ‘/u03/wis/full_wis_692824194_4’;7.1) Verifique com comando LIST BACKUP se está tudo certo com o bkp no destino.
RMAN> list backup;
Obter o SCN(system change number) no output do comando
7.2) RESTAURAR A BASE EM PATCH’s DIFERENTE.
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 UNTIL SCN — obtido no list backup ;
set newname for datafile 1 to ‘/u03/wis/system01.dbf’;
set newname for datafile 2 to ‘/u03/wis/undotbs1.dbf’;
set newname for datafile 3 to ‘/u03/wis/sysauy01.dbf’;
set newname for datafile 4 to ‘/u03/wis/data_entrega.dbf’;
set newname for datafile 5 to ‘/u03/wis/data_entrega_small.dbf’;
set newname for datafile 6 to ‘/u03/wis/gkoscf_dtau.dbf’;
set newname for datafile 7 to ‘/u03/wis/gkoscf_inau.dbf’;
set newname for datafile 8 to ‘/u03/wis/gkoscf_indy.dbf’;
set newname for datafile 9 to ‘/u03/wis/indy_entrega.dbf’;
set newname for datafile 10 to ‘/u03/wis/tbs_data_asstec.dbf’;
set newname for datafile 11 to ‘/u03/wis/tbs_data_cestqhist_32m.dbf’;
set newname for datafile 12 to ‘/u03/wis/tbs_data_detprep_32m.dbf’;
set newname for datafile 13 to ‘/u03/wis/tbs_data_hist_256k.dbf’;
set newname for datafile 14 to ‘/u03/wis/tbs_data_hist_32m.dbf’;
set newname for datafile 15 to ‘/u03/wis/tbs_data_hist_5m.dbf’;
set newname for datafile 16 to ‘/u03/wis/tbs_data_hist_64m.dbf’;
set newname for datafile 17 to ‘/u03/wis/tbs_data_inet.dbf’;
set newname for datafile 18 to ‘/u03/wis/tbs_data_sge.dbf’;
set newname for datafile 19 to ‘/u03/wis/tbs_data_trcmovestq_64m.dbf’;
set newname for datafile 20 to ‘/u03/wis/tbs_data_wis_256k.dbf’;
set newname for datafile 21 to ‘/u03/wis/tbs_data_wis_32m.dbf’;
set newname for datafile 22 to ‘/u03/wis/tbs_data_wis_5m.dbf’;
set newname for datafile 23 to ‘/u03/wis/tbs_indy_asstec.dbf’;
set newname for datafile 24 to ‘/u03/wis/tbs_indy_cestqhist_32m.dbf’;
set newname for datafile 25 to ‘/u03/wis/tbs_indy_detprep__32m.dbf’;
set newname for datafile 26 to ‘/u03/wis/tbs_indy_hist_256k.dbf’;
set newname for datafile 27 to ‘/u03/wis/tbs_indy_inet.dbf’;
set newname for datafile 28 to ‘/u03/wis/tbs_indy_sge.dbf’;
set newname for datafile 29 to ‘/u03/wis/tbs_indy_trcmovestq_64m.dbf’;
set newname for datafile 30 to ‘/u03/wis/tbs_indy_wis_256k.dbf’;
set newname for datafile 31 to ‘/u03/wis/tbs_indy_wis_32m.dbf’;
set newname for datafile 32 to ‘/u03/wis/tbs_indy_wis_5m.dbf’;
set newname for datafile 33 to ‘/u03/wis/tools.dbf’;
set newname for datafile 34 to ‘/u03/wis/undotbs2.dbf’;
set newname for datafile 35 to ‘/u03/wis/users.dbf’;
set newname for datafile 36 to ‘/u03/wis/gkoscf_data.dbf’;
SQL “ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo01.log”
TO ”/u03/wis/redo01.log” “;
SQL “ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo02.log”
TO ”/u03/wis/redo02.log” “;
SQL “ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo03.log”
TO ”/u03/wis/redo03.log” “;
SQL “ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo04.log”
TO ”/u03/wis/redo04.log” “;
RESTORE DATABASE;
switch datafile all;
RECOVER DATABASE ;
ALTER DATABASE OPEN RESETLOGS;
}8.1) Restaurar a base no mesmo path da origem.
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 UNTIL SEQUENCE 1190 THREAD 1; — obtidos na V$LOG
RESTORE DATABASE;
switch datafile all;
RECOVER DATABASE ;
ALTER DATABASE OPEN RESETLOGS;
}As queryes abaixo pode ser extremamente úteis na origem e destino.
Assim como comandos do RMAN como o list backup.SELECT first_change#, next_change#, sequence#, archived
FROM v$archived_log;
select file#,checkpoint_change#,status from v$datafile;
select * from v$recover_file;
select * from v$recovery_log;
select * from v$LOG;
select * from v$database;Você pode utilizar tanto until time , until scn , until log seq
until cancel somente no sql plus.Como é base de homologação pode usar oque se sentir mais confiante!
caso não consiga poste e erro pra gente!
[]s
1 de outubro de 2009 às 7:20 pm #90048jspaulonci
ParticipanteSe eu conseguir vou aí te dar um beijo…!!!!!
Abraços
Spaulonci
1 de outubro de 2009 às 7:41 pm #90049vieri
ParticipanteRapaaa tá maluko !!!!!
coloca sua irmã,prima,amiga na minha fita que é muitooooooooooo
melhor!!!!!ou melhor ainda quando houver uma vaga de DBA senior ai pra ganhar
uns 10mil CLT vc me chama!!! hauhauhauhSó da figuraça aqui no GPO!!
1 de outubro de 2009 às 8:15 pm #90050jspaulonci
Participantekkkkkkk
Faz o seguinte , o vc achar essa oportunidade de R$10.000,00 clt vc me chama tá ?
kkkkkkkkkkkkkk
o meu e-mail é joaospaulonci@gmail.com
Estou tentando o que vc me disse, eu consigo fazer o restore mas não consigo aplicar archive, fala que tá faltando e tal, eu não estava setando o DBID espero que seja esse o problema, porem com uma base de 5gb , onde fiz o teste de conceito funcionou, quando eu peguei uma base de 400g aí a coisa enrolou, aqui eu uso RAC com ASM, mas o conceito não deve mudar.
Muito obrigado meu amigo, pela bíblia que você me enviou, setei o DBID e chamei o restore novamente vamu ve no vai dá…..
Abraços
Spaulonci
1 de outubro de 2009 às 8:46 pm #90053jspaulonci
ParticipanteVieri…me responda uma coisa por favor….porque você faz um crosscheck antes de fazer o retore ?
abraços
Spaulonci
1 de outubro de 2009 às 9:19 pm #90054jspaulonci
Participantearchive log thread=1 sequence=10402
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 10/01/2009 14:17:45
RMAN-06054: media recovery requesting unknown log: thread 1 seq 10402 lowscn 1143162985318Porque isso acontece ?
Spaulonci
1 de outubro de 2009 às 9:50 pm #90055vieri
ParticipanteEsse erro está dando no recover correto?
vc não levou o REDO e está fazendo o backup on-line
por log seq.utilize a cláusula
RECOVER DATABASE NOREDO;
O crosscheck é para como o nome diz é pra fazer a checagem,
um batimento do que está no control-file e oque está backupeado a disposição. E apenas uma garantia que está tudo ok até esse momento.O catalog backup piece é fundamental e crosscheck é uma garantia a mais que não tem sujeito no control file quanto aos backup’s efetuados..
agora manda bala nisso ai que os desenvolvedores devem está furiosos…
desde segunda esperando esse restore!! ahuhauahuaposta ai o resultado!!
[]s
1 de outubro de 2009 às 9:55 pm #90056vieri
ParticipanteDepois do recover database noredo,
ALTER DATABASE OPEN RESETLOGS ;
😆
1 de outubro de 2009 às 9:58 pm #90058vieri
ParticipanteSe a base subir quero o msn de uma amiga gata !!!!
auahuhuhuhua10mil CLT ta complicado mesmo…
kkkkk2 de outubro de 2009 às 1:24 pm #90072jspaulonci
ParticipanteBom dia Vieri, nuh…amigo..tá mais fácil arrumar 10 mil clt viu ..kkkkkk
Meu amigo…o comando recover database noredo, não irá aplicar o conteúdo do redo online certo ?
e a clausula switch datafile all; para que serve ?
Abraços
Spaulonci
2 de outubro de 2009 às 4:52 pm #90075jspaulonci
ParticipanteVieri, outra pergunta, quando eu faço o list backup já no servidor de destiono, aparece milhares de informações, como que eu faço para saber qual é o SCN que eu preciso voltar ?
Obrigado
Spaulonci
2 de outubro de 2009 às 6:16 pm #90078vieri
ParticipanteQuando você manda o lista backup ele ordena por data, o ultimo backup que aparecer na tela é o seu ultimo backup.
Não aparece milhares de informações, aparece todas as informações de cada backup que foi feito.
Otimize sua pesquisa com o comando abaixo,
RMAN> list backup completed before ‘sysdate -2’;
No output virá algo assim:
List of Backup Sets
BS Key Type LV Size Device Type Elapsed Time Completion Time
1 Full 8.98M DISK 00:00:01 28-SEP-09
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20090928T152852
Piece Name: /u01/app/oracle/product/10.2.0/db_1/dbs/c-146574270-20090928-00
Control File Included: Ckp SCN: 5118399186 Ckp time: 28-SEP-09
SPFILE Included: Modification time: 23-SEP-09olha nosso SCN ai !!! 🙂
O “Switch datafile all” é para ele confirmar a alteração do caminho
dos datafiles no controlfile e já restaurar no patch passado no “set new name”.O recover noredo é para ele não aplicar o redo.
Normantel se usa ele em backup cold com archive desligado.
Mas pelo erro que vc tomou ele poderia ser a solução.
Vamos lá tente o restore com o SCN, depois peça o recover database;
Se o recover der erro peça o recover database noredo;2 de outubro de 2009 às 6:35 pm #90080jspaulonci
ParticipanteEntaum Vieri…estranho, eu rodei o comando RMAN> list backup completed before ‘sysdate -2’;
e não retornou nada !!! o comando que eu usei para fazer o backup ontem foiORACLE_SID=dbhml11
export ORACLE_SIDrman target BKPADMIN/dbalrs nocatalog msglog rman_full_backup_db_hml1_online.log << EOF
delete noprompt force obsolete;
crosscheck archivelog all;
crosscheck backup;
sql 'alter system archive log current';
backup as compressed backupset full database plus archivelog delete input;
sql 'alter system archive log current';
delete noprompt force obsolete;
crosscheck archivelog all;
crosscheck backup;Muito estranho
-
AutorPosts
- Você deve fazer login para responder a este tópico.