- Este tópico contém 24 respostas, 4 vozes e foi atualizado pela última vez 17 anos, 3 meses atrás por
Rodrigo Almeida.
-
AutorPosts
-
1 de dezembro de 2008 às 9:15 pm #84048
mpvargas
ParticipanteCaros Amigos,
Estou montando um novo servidor, e antes de colocá-lo em produção, criei uma base e estou fazendo um teste no RMAN, mas ao restaurar o backup me deparei com o seguinte erro:
…
archive log filename=/u01/app/oracle/oradata/asoec/redolog/redo2A.log thread=1 sequence=154
Oracle Error:
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01245: offline file 20 will be lost if RESETLOGS is done
ORA-01111: name for data file 20 is unknown – rename to correct file
ORA-01110: data file 20: ‘/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00020’media recovery complete, elapsed time: 00:01:34
Finished recover at 01-DEC-08sql statement: alter database open resetlogs
released channel: t1
released channel: t2
RMAN-00571: ======================================
RMAN-00569: ======= ERROR MESSAGE STACK FOLLOWS =======
RMAN-00571: ======================================
RMAN-03009: failure of sql command on default channel at 12/01/2008 16:04:43
RMAN-11003: failure during parse/execution of SQL statement: alter database open resetlogs
ORA-01245: offline file 20 will be lost if RESETLOGS is done
ORA-01111: name for data file 20 is unknown – rename to correct file
ORA-01110: data file 20: ‘/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00020’1 de dezembro de 2008 às 10:26 pm #84054Anônimo
Amigo, qual comando vc executou para fazer o backup e o posterior restore e recover?
O alert do banco informa algo mais?Esse nome de log está esquisito mesmo
1 de dezembro de 2008 às 10:48 pm #84055mpvargas
ParticipanteSó para registrar:
Uso Oracle10g Enterprise Edition 64bits com Linux CentOS 4.5 64bitsScript de backup
connect catalog rman/password@rman
connect target /
run {
crosscheck archivelog all;
delete noprompt obsolete;
allocate channel ch1 type disk format ‘/home/oracle/bkprman/%d_%t_%s_%r.bkp’;
allocate channel ch2 type disk format ‘/home/oracle/bkprman/%d_%t_%s_%r.bkp’;
backup as compressed backupset database include current controlfile;
backup spfile;
release channel ch1;
release channel ch2;
}1 de dezembro de 2008 às 10:51 pm #84056mpvargas
ParticipanteE para restaurar, os seguinte comandos:
SQL> Startup nomount;
RMAN> connect catalog rman/password@rman
RMAN> connect target /
RMAN> set DBID ???????????
RMAN> restore controlfile from ‘/home/oracle/bkprman/???.bkp’;
RMAN> exit$ sqlplus "/ as sysdba" SQL> alter database mount; SQL> quit $ ./rman RMAN> connect catalog rman/password@rman RMAN> connect target / RMAN > run { allocate channel t1 type disk; allocate channel t2 type disk; restore database; recover database; sql 'alter database open resetlogs'; release channel t1; release channel t2; }2 de dezembro de 2008 às 12:53 am #84057Anônimo
Vc chegou até a montar o banco certo?
Tenta executar o comando recover until cancel e quando ele pedir esse log, vc cancela e tenta abrir o banco
Verifica esse parâmetro do seu banco:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
Pra copiar control file que seja “restaurável”, só com essa opção em ON, se não, é problema na certa.
2 de dezembro de 2008 às 1:32 am #84060Ricardo Portilho Proni
ParticipanteEste erro ocorreu porque o backup foi feito com um ou mais datafiles OFFLINE.
Execute o backup novamente com todos datafiles em ONLINE, e use este backup.2 de dezembro de 2008 às 2:32 pm #84067mpvargas
ParticipanteCaros amigos… Obrigado pela ajuda.
E a luta continua (EU X RMAN)Fabão
No RMAN o parametro que você citou está ON
CONFIGURE CONTROLFILE AUTOBACKUP ON;Ricardo Portilho
Não estou conseguindo “startar” a base… somente no modo mount
Existe alguma forma de colocá-la on-line para que eu possa fazer novamente o backup e verificar os datafiles?Mais um help
Gostaria de transferir o RMAN para outro servidor.
Qual a forma mais fácil de fazer isso?
Pensei em copiar os arquivos fisicamente. É uma boa idéia?2 de dezembro de 2008 às 3:17 pm #84068Ricardo Portilho Proni
ParticipanteSobre o erro do mount:
Corrija o nome do datafile 20. O RMAN não sabe qual o nome dele.
SQL> alter database mount;
SQL> alter database rename file 20 TO ‘/u01/app/oracle/product/10.2.0/db_1/dbs/NomeRealDoArquivo.dbf’;
Copiar o RMAN para outro servidor, vc quer dizer o utilitário RMAN?
Tem que instalar o Oracle no outro servidor, não adianta copiar.2 de dezembro de 2008 às 4:52 pm #84069mpvargas
ParticipanteCaro Ricardo,
Recebi o seguinte erro:
RMAN> alter database rename file 20 TO ‘/home/oracle/tbsasoec/teste.dbf’;RMAN-00571: =====================================
RMAN-00569: ===== ERROR MESSAGE STACK FOLLOWS ========
RMAN-00571: =====================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found “identifier”: expecting one of: “mount, open”
RMAN-01008: the bad identifier was: rename
RMAN-01007: at line 1 column 16 file: standard inputE com relação ao RMAN… eu tenho um outro servidor com Oracle Instalado, gostaria de saber se posso fazer um backup do rman e restaurar no outro servidor ou tenho que criar um novo catálogo.
Obrigado pela ajuda.
2 de dezembro de 2008 às 5:54 pm #84071Ricardo Portilho Proni
ParticipanteOps, passe i o comando de SQL*Plus, e vc tá no RMAN:
Com o banco em MOUNT:
RMAN> connect catalog rman/password@rman
RMAN> connect target /
RMAN > run {
allocate channel t1 type disk;
allocate channel t2 type disk;
RENAME FILE 20 TO ‘/home/oracle/tbsasoec/teste.dbf’;
restore database;
recover database;
sql ‘alter database open resetlogs’;
release channel t1;
release channel t2;
SWITCH DATAFILE 20 TO COPY;
}2 de dezembro de 2008 às 6:19 pm #84072mpvargas
ParticipanteRicardo, seguem os erros:
RMAN> run {
2> allocate channel t1 type disk;
3> allocate channel t2 type disk;
4> RENAME FILE 20 TO ‘/home/oracle/tbsasoec/teste.dbf’;RMAN-00571: ==================================
RMAN-00569: ====== ERROR MESSAGE STACK FOLLOWS =====
RMAN-00571: ===================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found “identifier”: expecting one of: “allocate, alter, backup, beginline, blockrecover, catalog, change, copy, convert, crosscheck, configure, duplicate, debug, delete, execute, endinline, flashback, host, mount, open, plsql, recover, release, replicate, report, restore, resync, }, set, setlimit, sql, switch, startup, shutdown, send, show, transport, validate”
RMAN-01008: the bad identifier was: RENAME
RMAN-01007: at line 4 column 1 file: standard inputE mais abaixo deu essa mensagem:
RMAN>
Starting recover at 02-DEC-08
using channel ORA_DISK_1starting media recovery
archive log thread 1 sequence 154 is already on disk as file /u01/app/oracle/oradata/asoec/redolog/redo2A.log
archive log filename=/u01/app/oracle/oradata/asoec/redolog/redo2A.log thread=1 sequence=154
Oracle Error:
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01245: offline file 20 will be lost if RESETLOGS is done
ORA-01111: name for data file 20 is unknown – rename to correct file
ORA-01110: data file 20: ‘/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00020’media recovery complete, elapsed time: 00:00:03
Finished recover at 02-DEC-08OBS.: EU NÃO CRIEI NENHUMA TABLESPACE NO DIR ‘/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00020’… ISSO QUE ESTOU ACHANDO ESTRANHO.
2 de dezembro de 2008 às 6:27 pm #84073Ricardo Portilho Proni
ParticipanteOps, deculpe, estou errando o comando pois estou sem Oracle pra testar, estou fazendo de cabeça.
set newname for datafile 4 to /home/oracle/tbsasoec/teste.dbf’;
Este archivo com nome estranho é um datafile que estava OFFLINE na base onde foi feito o backup.
O Oracle não sabe onde está o datafile 20, então ele “chuta” que está no ORACLE_HOME/dbs.Vc deve achar qual o real nome / localização do datafile 20, e dar o SET NEWNAME dentro do block RUN, antes do RESTORE.
2 de dezembro de 2008 às 6:57 pm #84077mpvargas
ParticipanteEstou lembrando de um detalhe.
Eu criei esse datafile depois de ter feito o backup, não sei se isso influencia.Usei o comando abaixo
RMAN> run {
set newname for datafile ‘/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00020’ to ‘/home/oracle/tbsasoec/teste.dbf’;
restore tablespace TESTE;
switch datafile all;
recover tablespace TESTE;
sql ‘alter tablespace TESTE online’;
}Mas ele disse que não encontrou o datafile no catálogo…
RMAN-03002: failure of switch to copy command at 12/02/2008 12:50:21
RMAN-06004: ORACLE error from recovery catalog database: RMAN-20201: datafile not found in the recovery catalog
RMAN-06010: error while looking up datafile: 20Os outros datafiles (1 ao 19) ele restaurou perfeitamente, e só deu problema nesse que eu criei depois…
No caso essa cópia ficou no redolog?
E se eu apagar o redolog, será que ele recria e coloca o banco no estado normal?
Como isso é banco de teste não tem problema, serve como laboratório…2 de dezembro de 2008 às 9:16 pm #84080Anônimo
[quote=”mpvargas”:2pkgrmx1]Caros amigos… Obrigado pela ajuda.
E a luta continua (EU X RMAN)Fabão
No RMAN o parametro que você citou está ON
CONFIGURE CONTROLFILE AUTOBACKUP ON;[/quote]
É isso ae, pois essa é a única forma de restaurar o control que eu conheço
Abraço e boa sorte
3 de dezembro de 2008 às 12:47 am #84089Ricardo Portilho Proni
ParticipanteO que aconteceu foi o seguinte:
Vc está usando um backup de ANTES de criar este datafile, e usando um controlfile de DEPOIS de ter criado este datafile.
Vc precisa de um CONTROLFILE e BACKUP do mesmo tempo…O autobackup do controlfile no RMAN fará apenas que a cada mudança física no banco, (criação de datafiles, tablespaces), seja gerado um backup do controlfile automaticamemte.
-
AutorPosts
- Você deve fazer login para responder a este tópico.