Para melhor visualização, recomendo resolução de no mínimo 1280 x 800 e navegador Mozilla Firefox


domingo, 1 de janeiro de 2012

Restaurando e recuperando um banco de dados em outra máquina com o RMAN

Por Eduardo Legatti

Olá,

Imagine um cenário de desastre completo, ou seja, o servidor de banco de dados sofreu uma pane na qual não só o software Oracle se corrompeu, mas também o disco aonde se localizavam os arquivos do banco de dados foi perdido. Neste caso, todos os arquivos de banco de dados como os controlfiles, datafiles, online redo log files, além do spfile, foram perdidos. Este cenário só não poderia ser pior, porque o disco onde fica localizada a flash recovery area ficou intacto. Portanto, voltar um backup RMAN em conjunto com os archive redo log files contidos na flash recovery area será possível!

Este cenário é apenas ilustrativo, pois geralmente o desenvolvimento de um plano de backup e recuperação é extremamente importante para um servidor de banco de dados. É lógico que, dependendo do caso, um plano adequado de backup e recuperação não tem que ser necessariamente o mais elaborado e complexo, na verdade, ele precisa ser aquele que irá servir melhor às necessidades de cada negócio. No geral, bancos de dados de produção contam com backups físicos como seu principal método de backup e backups lógicos servem como um método secundário. Por outro lado, para bancos de dados de desenvolvimento e para pequenos processamentos de movimentação de dados, os backups lógicos podem ser uma solução aceitável e viável. É importante também, sempre contar com soluções físicas de redundância como RAID, servidores standby, cópias em fita, etc... de forma que o banco de dados fique offline o menos tempo possível.

No mais, neste artigo irei demonstrar como restaurar todo o banco de dados à partir de um backup RMAN (backup pieces) e recuperá-lo até onde for possível em uma outra máquina. Para isso deveremos realizar os seguintes procedimentos:

  • Criar as estruturas de diretórios básicos em $ORACLE_BASE/ADMIN
  • Criar os diretórios referentes às localizações dos arquivos de banco de dados como (datafiles, controlfiles, etc...) iguais ao banco de dados de origem
  • Copiar os arquivos de backup RMAN (backup pieces) para a flash_recovery_area (como definido no banco de dados de origem)
  • Iniciar o processo de RESTORE e RECOVER com o RMAN

Em resumo, os comandos que executarei neste artigo serão:

$ export ORACLE_SID=BD01
$ rman target /
RMAN> startup nomount;
RMAN> restore spfile from autobackup recovery area '/u01/flash_recovery_area' db_name=BD01;
RMAN> shutdown immediate;
RMAN> startup nomount;
RMAN> restore controlfile from autobackup;
RMAN> alter database mount;
RMAN> restore database;
RMAN> recover database;

Bom, após transferir o backup RMAN do meu banco de dados BD01 para uma outra máquina (no diretório /tmp), irei transferi-lo para o diretório /u01/flash_recovery_area/ como demonstrado abaixo:

$ cp -a /tmp/BD01 /u01/flash_recovery_area/
$ cd /u01/flash_recovery_area/BD01
$ du -sh *
56K archivelog
37M autobackup
641M backupset

Com os arquivos de backup acima restaurados, o próximo passo será criar todos os diretórios básicos necessários para o correto funcionamento do banco de dados:

$ mkdir $ORACLE_BASE/admin/BD01
$ mkdir $ORACLE_BASE/admin/BD01/adump
$ mkdir $ORACLE_BASE/admin/BD01/bdump
$ mkdir $ORACLE_BASE/admin/BD01/cdump
$ mkdir $ORACLE_BASE/admin/BD01/dpdump
$ mkdir $ORACLE_BASE/admin/BD01/pfile
$ mkdir $ORACLE_BASE/admin/BD01/udump

Por fim, irei criar a estrutura de diretórios para onde serão restaurados os arquivos de banco de dados. É importante que o mesmos sejam criados da mesma forma como eles existiam no servidor antigo:

$ cd /u01/oradata/
$ mkdir BD01

Pronto. Neste momento poderemos iniciar o processo de restauração e recuperação da base de dados com o RMAN até aonde for possível. Com o software Oracle já devidamente instalado, o primeiro passo será restaurar o spfile. Vale a pena salientar que é uma boa prática definir a configuração CONTROLFILE AUTOBACKUP para ON na sua política de backup com o RMAN, pois o mesmo garante não só de forma automática o backup dos controlfiles, como também o backup do spfile.

$ export ORACLE_SID=BD01
$ rman target /

Gerenciador de Recuperação: Release 10.2.0.4.0 - Production on Dom Jan 1 14:38:48 2012

Copyright (c) 1982, 2007, Oracle. All rights reserved.

conectado ao banco de dados de destino (não iniciado)

RMAN> startup nomount

falha na inicialização: ORA-01078: failure in processing system parameters
LRM-00109: não foi possível abrir o arquivo de parâmetros
'/u01/app/oracle/product/10.2.0/db_1/dbs/initBD01.ora'

iniciando instância Oracle sem arquivo de parâmetros para recuperação de spfile
instância Oracle iniciada

Total da Área Global do Sistema 159383552 bytes

Fixed Size 2082400 bytes
Variable Size 67111328 bytes
Database Buffers 83886080 bytes
Redo Buffers 6303744 bytes


RMAN> restore spfile from autobackup
recovery area '/u01/flash_recovery_area'
db_name=BD01;

Iniciando restore em 01/01/2012
usar o arquivo de controle do banco de dados de destino em vez do catálogo de recuperação
canal alocado: ORA_DISK_1
canal ORA_DISK_1: sid=36 devtype=DISK

destino da área de recuperação: /u01/flash_recovery_area
nome do banco de dados (ou nome exclusivo) utilizado para pesquisa: BD01
canal ORA_DISK_1: backup automático encontrado na área de recuperação
canal ORA_DISK_1: backup automático encontrado: /u01/flash_recovery_area/BD01/autobackup
/2011_12_31/o1_mf_s_769748562_7gfq3m49_.bkp
canal ORA_DISK_1: restauração de SPFILE a partir de backup automático concluída
Finalizado restore em 01/01/2012

Pronto. Uma vez recuperado o spfile, irei reiniciar a instância de modo que o spfile recuperado seja lido para que, então, possamos restaurar os controlfiles.

RMAN> shutdown immediate;

encerramento de instância Oracle

RMAN> startup nomount;

conectado ao banco de dados de destino (não iniciado)
instância Oracle iniciada

Total da Área Global do Sistema 310378496 bytes

Fixed Size 2083560 bytes
Variable Size 138413336 bytes
Database Buffers 163577856 bytes
Redo Buffers 6303744 bytes

Neste momento poderemos restaurar os controlfiles à partir do backup.
RMAN> restore controlfile from autobackup;

Iniciando restore em 01/01/2012
usar o arquivo de controle do banco de dados de destino em vez do catálogo de recuperação
canal alocado: ORA_DISK_1
canal ORA_DISK_1: sid=159 devtype=DISK

destino da área de recuperação: /u01/flash_recovery_area
nome do banco de dados (ou nome exclusivo) utilizado para pesquisa: BD01
canal ORA_DISK_1: backup automático encontrado na área de recuperação
canal ORA_DISK_1: backup automático encontrado: /u01/flash_recovery_area/BD01/autobackup
/2011_12_31/o1_mf_s_769748562_7gfq3m49_.bkp
canal ORA_DISK_1: restauração do arquivo de controle a partir de backup
automático concluída
nome do arquivo de saída=/u01/oradata/BD01/control01.ctl
nome do arquivo de saída=/u01/oradata/BD01/control02.ctl
nome do arquivo de saída=/u01/oradata/BD01/control03.ctl
Finalizado restore em 01/01/2012

Pronto. Restaurados os controlfiles, poderemos montar o banco de dados para que então possamos restaurar os datafiles.

RMAN> alter database mount;

banco de dados montado
canal liberado: ORA_DISK_1

RMAN> restore database;

Iniciando restore em 01/01/2012
Iniciando implicit crosscheck backup em 01/01/2012
usar o arquivo de controle do banco de dados de destino em vez do catálogo de recuperação
canal alocado: ORA_DISK_1
canal ORA_DISK_1: sid=159 devtype=DISK
Fez a verificação cruzada de 45 objetos
Finalizado implicit crosscheck backup em 01/01/2012

Iniciando implicit crosscheck copy em 01/01/2012
utilizando o canal ORA_DISK_1
Finalizado implicit crosscheck copy em 01/01/2012

procurando todos os arquivos na área de recuperação
catalogando arquivos...
catalogação concluída

Lista de Arquivos Catalogados
=============================
Nome do Arquivo: /u01/flash_recovery_area/BD01/autobackup/2011_12_31/o1_mf_s_769748562_7gfq3m49_.bkp

utilizando o canal ORA_DISK_1

canal ORA_DISK_1: iniciando restauração de conjunto de backups de arquivo de dados
canal ORA_DISK_1: especificando arquivo(s) de dados para restauração a partir do conjunto de backups
restaurando arquivo de dados 00002 para /u01/oradata/BD01/undotbs01.dbf
restaurando arquivo de dados 00010 para /u01/oradata/BD01/tbsdata_cust_l0401_01.dbf
restaurando arquivo de dados 00016 para /u01/oradata/BD01/tbsdata_admqueue01_01.dbf
restaurando arquivo de dados 00019 para /u01/oradata/BD01/tbsdata_sgm_hist01_01.dbf
restaurando arquivo de dados 00020 para /u01/oradata/BD01/tbsdata_sgm_inf01_01.dbf
restaurando arquivo de dados 00023 para /u01/oradata/BD01/tbsdata_sgm_rating01_01.dbf
restaurando arquivo de dados 00027 para /u01/oradata/BD01/tbsdata_sgm_2007sem01_01.dbf
restaurando arquivo de dados 00030 para /u01/oradata/BD01/tbsdata_sgm_2008sem02_01.dbf
restaurando arquivo de dados 00033 para /u01/oradata/BD01/tbsdata_brtmigtar_01.dbf
restaurando arquivo de dados 00034 para /u01/oradata/BD01/tbsdata_controle01_01.dbf
restaurando arquivo de dados 00037 para /u01/oradata/BD01/tbsdata_mbr_l03_01.dbf
restaurando arquivo de dados 00041 para /u01/oradata/BD01/tbsdata_mbr_l07_01.dbf
restaurando arquivo de dados 00043 para /u01/oradata/BD01/tbsdata_mbr_l09_01.dbf
restaurando arquivo de dados 00044 para /u01/oradata/BD01/tbsdata_mbr_l10_01.dbf
restaurando arquivo de dados 00045 para /u01/oradata/BD01/tbsdata_mbr_l11_01.dbf
restaurando arquivo de dados 00053 para /u01/oradata/BD01/tbsdata_inf2010s101_01.dbf
restaurando arquivo de dados 00056 para /u01/oradata/BD01/tbsdata_inf2011S2_01.dbf
restaurando arquivo de dados 00057 para /u01/oradata/BD01/tbsdata_hist_2006s2_01.dbf
restaurando arquivo de dados 00060 para /u01/oradata/BD01/tbsdata_tam01_01.dbf
restaurando arquivo de dados 00061 para /u01/oradata/BD01/tbsdata_exton01.dbf
restaurando arquivo de dados 00068 para /u01/oradata/BD01/tbsdata_resource_h02_01.dbf
restaurando arquivo de dados 00071 para /u01/oradata/BD01/tbsdata_resource_h05_01.dbf
restaurando arquivo de dados 00074 para /u01/oradata/BD01/tbsdata_resource_h08_01.dbf
restaurando arquivo de dados 00077 para /u01/oradata/BD01/tbsdata_user0101.dbf
restaurando arquivo de dados 00082 para /u01/oradata/BD01/tbsindx_cust03_01.dbf
restaurando arquivo de dados 00084 para /u01/oradata/BD01/tbsindx_admqueue01_01.dbf
restaurando arquivo de dados 00088 para /u01/oradata/BD01/tbsindx_sgm_ext01_01.dbf
restaurando arquivo de dados 00091 para /u01/oradata/BD01/tbsindx_sgm_01_01.dbf
restaurando arquivo de dados 00092 para /u01/oradata/BD01/tbsindx_sgm_2006sem01_01.dbf
restaurando arquivo de dados 00095 para /u01/oradata/BD01/tbsindx_sgm_2007sem02_01.dbf
restaurando arquivo de dados 00098 para /u01/oradata/BD01/tbsindx_sgm_2009sem01_01.dbf
restaurando arquivo de dados 00101 para /u01/oradata/BD01/tbsindx_sgm_2010sem02_01.dbf
restaurando arquivo de dados 00103 para /u01/oradata/BD01/tbsindx_controle01_01.dbf
restaurando arquivo de dados 00105 para /u01/oradata/BD01/tbsindx_mbr_l02_01.dbf
restaurando arquivo de dados 00108 para /u01/oradata/BD01/tbsindx_mbr_l05_01.dbf
restaurando arquivo de dados 00111 para /u01/oradata/BD01/tbsindx_mbr_l08_01.dbf
restaurando arquivo de dados 00114 para /u01/oradata/BD01/tbsindx_mbr_l11_01.dbf
restaurando arquivo de dados 00116 para /u01/oradata/BD01/tbsindx_mbr01_01.dbf
restaurando arquivo de dados 00120 para /u01/oradata/BD01/tbsindx_line01_01.dbf
restaurando arquivo de dados 00121 para /u01/oradata/BD01/tbsindx_gtamal01_01.dbf
restaurando arquivo de dados 00126 para /u01/oradata/BD01/tbsindx_hist_2006s2_01.dbf
restaurando arquivo de dados 00130 para /u01/oradata/BD01/tbsindx_ext2009s2_01.dbf
restaurando arquivo de dados 00133 para /u01/oradata/BD01/tbsindx_zxs_01_001.dbf
restaurando arquivo de dados 00134 para /u01/oradata/BD01/tbsindx_resource_h01_01.dbf
restaurando arquivo de dados 00137 para /u01/oradata/BD01/tbsindx_resource_h04_01.dbf
restaurando arquivo de dados 00140 para /u01/oradata/BD01/tbsindx_resource_h07_01.dbf
restaurando arquivo de dados 00143 para /u01/oradata/BD01/tbs_zxs_01_001.dbf
restaurando arquivo de dados 00147 para /u01/oradata/BD01/ts_hs_mbr_i01.dbf
canal ORA_DISK_1: lendo da parte de backup /u01/flash_recovery_area/BD01/backupset/2011_12_29/o1_mf_nnnd0_LEVEL-0_SEMANAL_7gbcdw9j_.bkp
canal ORA_DISK_1: restaurada a parte de backup 1
handle de componente=/u01/flash_recovery_area/BD01/backupset/2011_12_29/o1_mf_nnnd0_LEVEL-0_SEMANAL_7gbcdw9j_.bkp tag=LEVEL-0_SEMANAL
canal ORA_DISK_1: restauração concluída, tempo decorrido: 00:01:26
canal ORA_DISK_1: iniciando restauração de conjunto de backups de arquivo de dados
canal ORA_DISK_1: especificando arquivo(s) de dados para restauração a partir do conjunto de backups
restaurando arquivo de dados 00004 para /u01/oradata/BD01/users01.dbf
restaurando arquivo de dados 00005 para /u01/oradata/BD01/tbsdata_admhist01_01.dbf
restaurando arquivo de dados 00007 para /u01/oradata/BD01/tbsdata_cust_l0101_01.dbf
restaurando arquivo de dados 00008 para /u01/oradata/BD01/tbsdata_cust_l0201_01.dbf
restaurando arquivo de dados 00012 para /u01/oradata/BD01/tbsdata_cust01_01.dbf
restaurando arquivo de dados 00014 para /u01/oradata/BD01/tbsdata_cust03_01.dbf
restaurando arquivo de dados 00015 para /u01/oradata/BD01/tbsdata_cust04_01.dbf
restaurando arquivo de dados 00017 para /u01/oradata/BD01/tbsdata_sgm_collecting01_01.dbf
restaurando arquivo de dados 00021 para /u01/oradata/BD01/tbsdata_sgm_ext01_01.dbf
restaurando arquivo de dados 00024 para /u01/oradata/BD01/tbsdata_sgm_01_01.dbf
restaurando arquivo de dados 00025 para /u01/oradata/BD01/tbsdata_sgm_2006sem01_01.dbf
restaurando arquivo de dados 00028 para /u01/oradata/BD01/tbsdata_sgm_2007sem02_01.dbf
restaurando arquivo de dados 00031 para /u01/oradata/BD01/tbsdata_sgm_2009sem01_01.dbf
restaurando arquivo de dados 00035 para /u01/oradata/BD01/tbsdata_mbr_l01_01.dbf
restaurando arquivo de dados 00038 para /u01/oradata/BD01/tbsdata_mbr_l04_01.dbf
restaurando arquivo de dados 00046 para /u01/oradata/BD01/tbsdata_mbr_l12_01.dbf
restaurando arquivo de dados 00048 para /u01/oradata/BD01/tbsdata_mbr02.dbf
restaurando arquivo de dados 00054 para /u01/oradata/BD01/tbsdata_inf2010s201_01.dbf
restaurando arquivo de dados 00058 para /u01/oradata/BD01/tbsdata_hist_2007s1_01.dbf
restaurando arquivo de dados 00064 para /u01/oradata/BD01/tbsdata_ext2010s201_01.dbf
restaurando arquivo de dados 00065 para /u01/oradata/BD01/tbsdata_migracao01.dbf
restaurando arquivo de dados 00069 para /u01/oradata/BD01/tbsdata_resource_h03_01.dbf
restaurando arquivo de dados 00072 para /u01/oradata/BD01/tbsdata_resource_h06_01.dbf
restaurando arquivo de dados 00075 para /u01/oradata/BD01/tbsdata_resource01_01.dbf
restaurando arquivo de dados 00078 para /u01/oradata/BD01/tbsindx_admhist01_01.dbf
restaurando arquivo de dados 00080 para /u01/oradata/BD01/tbsindx_cust01_01.dbf
restaurando arquivo de dados 00081 para /u01/oradata/BD01/tbsindx_cust02_01.dbf
restaurando arquivo de dados 00085 para /u01/oradata/BD01/tbsindx_sgm_collecting01_01.dbf
restaurando arquivo de dados 00087 para /u01/oradata/BD01/tbsindx_sgm_inf01_01.dbf
restaurando arquivo de dados 00089 para /u01/oradata/BD01/tbsindx_sgm_queue01_01.dbf
restaurando arquivo de dados 00093 para /u01/oradata/BD01/tbsindx_sgm_2006sem02_01.dbf
restaurando arquivo de dados 00096 para /u01/oradata/BD01/tbsindx_sgm_2008sem01_01.dbf
restaurando arquivo de dados 00099 para /u01/oradata/BD01/tbsindx_sgm_2009sem02_01.dbf
restaurando arquivo de dados 00102 para /u01/oradata/BD01/tbsindx_brtmigtar_01.dbf
restaurando arquivo de dados 00106 para /u01/oradata/BD01/tbsindx_mbr_l03_01.dbf
restaurando arquivo de dados 00109 para /u01/oradata/BD01/tbsindx_mbr_l06_01.dbf
restaurando arquivo de dados 00112 para /u01/oradata/BD01/tbsindx_mbr_l09_01.dbf
restaurando arquivo de dados 00115 para /u01/oradata/BD01/tbsindx_mbr_l12_01.dbf
restaurando arquivo de dados 00122 para /u01/oradata/BD01/tbsindx_inf2009s1_01
restaurando arquivo de dados 00123 para /u01/oradata/BD01/tbsindx_inf2009s201_01.dbf
restaurando arquivo de dados 00124 para /u01/oradata/BD01/tbsindx_inf2010s101_01.dbf
restaurando arquivo de dados 00125 para /u01/oradata/BD01/tbsindx_inf2010s201_01.dbf
restaurando arquivo de dados 00127 para /u01/oradata/BD01/tbsindx_hist_2007s1_01.dbf
restaurando arquivo de dados 00128 para /u01/oradata/BD01/tbsindx_int_line0101.dbf
restaurando arquivo de dados 00131 para /u01/oradata/BD01/tbsindx_ext2010s1_01.dbf
restaurando arquivo de dados 00135 para /u01/oradata/BD01/tbsindx_resource_h02_01.dbf
restaurando arquivo de dados 00138 para /u01/oradata/BD01/tbsindx_resource_h05_01.dbf
restaurando arquivo de dados 00141 para /u01/oradata/BD01/tbsindx_resource_h08_01.dbf
restaurando arquivo de dados 00144 para /u01/oradata/BD01/tools01.dbf
restaurando arquivo de dados 00148 para /u01/oradata/BD01/ts_hs_mbr_l01.dbf
canal ORA_DISK_1: lendo da parte de backup /u01/flash_recovery_area/BD01/backupset/2011_12_29/o1_mf_nnnd0_LEVEL-0_SEMANAL_7gbcg9rm_.bkp
canal ORA_DISK_1: restaurada a parte de backup 1
handle de componente=/u01/flash_recovery_area/BD01/backupset/2011_12_29/o1_mf_nnnd0_LEVEL-0_SEMANAL_7gbcg9rm_.bkp tag=LEVEL-0_SEMANAL
canal ORA_DISK_1: restauração concluída, tempo decorrido: 00:01:36
canal ORA_DISK_1: iniciando restauração de conjunto de backups de arquivo de dados
canal ORA_DISK_1: especificando arquivo(s) de dados para restauração a partir do conjunto de backups
restaurando arquivo de dados 00001 para /u01/oradata/BD01/system01.dbf
restaurando arquivo de dados 00003 para /u01/oradata/BD01/sysaux01.dbf
restaurando arquivo de dados 00006 para /u01/oradata/BD01/tbsdata_adminf01_01.dbf
restaurando arquivo de dados 00009 para /u01/oradata/BD01/tbsdata_cust_l0301_01.dbf
restaurando arquivo de dados 00011 para /u01/oradata/BD01/tbsdata_cust_l0501_01.dbf
restaurando arquivo de dados 00013 para /u01/oradata/BD01/tbsdata_cust02_01.dbf
restaurando arquivo de dados 00018 para /u01/oradata/BD01/tbsdata_sgm_geral01_01.dbf
restaurando arquivo de dados 00022 para /u01/oradata/BD01/tbsdata_sgm_queue01_01.dbf
restaurando arquivo de dados 00026 para /u01/oradata/BD01/tbsdata_sgm_2006sem02_01.dbf
restaurando arquivo de dados 00029 para /u01/oradata/BD01/tbsdata_sgm_2008sem01_01.dbf
restaurando arquivo de dados 00032 para /u01/oradata/BD01/tbsdata_sgm_2009sem02_01.dbf
restaurando arquivo de dados 00036 para /u01/oradata/BD01/tbsdata_mbr_l02_01.dbf
restaurando arquivo de dados 00039 para /u01/oradata/BD01/tbsdata_mbr_l05_01.dbf
restaurando arquivo de dados 00040 para /u01/oradata/BD01/tbsdata_mbr_l06_01.dbf
restaurando arquivo de dados 00042 para /u01/oradata/BD01/tbsdata_mbr_l08_01.dbf
restaurando arquivo de dados 00047 para /u01/oradata/BD01/tbsdata_mbr01_01.dbf
restaurando arquivo de dados 00049 para /u01/oradata/BD01/tbsdata_mbr03.dbf
restaurando arquivo de dados 00050 para /u01/oradata/BD01/tbsdata_adm01.dbf
restaurando arquivo de dados 00051 para /u01/oradata/BD01/tbsdata_line01_01.dbf
restaurando arquivo de dados 00052 para /u01/oradata/BD01/tbsdata_inf2009s201_01.dbf
restaurando arquivo de dados 00055 para /u01/oradata/BD01/tbsdata_inf2011S1_01.dbf
restaurando arquivo de dados 00059 para /u01/oradata/BD01/tbsdata_int_line0101.dbf
restaurando arquivo de dados 00062 para /u01/oradata/BD01/tbsdata_ext2009s201_01.dbf
restaurando arquivo de dados 00063 para /u01/oradata/BD01/tbsdata_ext2010s101_01.dbf
restaurando arquivo de dados 00066 para /u01/oradata/BD01/tbsdata_zxs_01_001.dbf
restaurando arquivo de dados 00067 para /u01/oradata/BD01/tbsdata_resource_h01_01.dbf
restaurando arquivo de dados 00070 para /u01/oradata/BD01/tbsdata_resource_h04_01.dbf
restaurando arquivo de dados 00073 para /u01/oradata/BD01/tbsdata_resource_h07_01.dbf
restaurando arquivo de dados 00076 para /u01/oradata/BD01/tbsdata_staging01_01.dbf
restaurando arquivo de dados 00079 para /u01/oradata/BD01/tbsindx_adminf01_01.dbf
restaurando arquivo de dados 00083 para /u01/oradata/BD01/tbsindx_cust04_01.dbf
restaurando arquivo de dados 00086 para /u01/oradata/BD01/tbsindx_sgm_hist01_01.dbf
restaurando arquivo de dados 00090 para /u01/oradata/BD01/tbsindx_sgm_rating01_01.dbf
restaurando arquivo de dados 00094 para /u01/oradata/BD01/tbsindx_sgm_2007sem01_01.dbf
restaurando arquivo de dados 00097 para /u01/oradata/BD01/tbsindx_sgm_2008sem02_01.dbf
restaurando arquivo de dados 00100 para /u01/oradata/BD01/tbsindx_sgm_2010sem01_01.dbf
restaurando arquivo de dados 00104 para /u01/oradata/BD01/tbsindx_mbr_l01_01.dbf
restaurando arquivo de dados 00107 para /u01/oradata/BD01/tbsindx_mbr_l04_01.dbf
restaurando arquivo de dados 00110 para /u01/oradata/BD01/tbsindx_mbr_l07_01.dbf
restaurando arquivo de dados 00113 para /u01/oradata/BD01/tbsindx_mbr_l10_01.dbf
restaurando arquivo de dados 00117 para /u01/oradata/BD01/tbsindx_mbr02.dbf
restaurando arquivo de dados 00118 para /u01/oradata/BD01/tbsindx_mbr03.dbf
restaurando arquivo de dados 00119 para /u01/oradata/BD01/tbsindx_adm01.dbf
restaurando arquivo de dados 00129 para /u01/oradata/BD01/tbsindx_exton01.dbf
restaurando arquivo de dados 00132 para /u01/oradata/BD01/tbsindx_ext2010s2_01.dbf
restaurando arquivo de dados 00136 para /u01/oradata/BD01/tbsindx_resource_h03_01.dbf
restaurando arquivo de dados 00139 para /u01/oradata/BD01/tbsindx_resource_h06_01.dbf
restaurando arquivo de dados 00142 para /u01/oradata/BD01/tbsindx_resource01_01.dbf
restaurando arquivo de dados 00145 para /u01/oradata/BD01/tsdepm01_01.dbf
restaurando arquivo de dados 00146 para /u01/oradata/BD01/ts_hs_mbr_d01.dbf
canal ORA_DISK_1: lendo da parte de backup /u01/flash_recovery_area/BD01/backupset/2011_12_29/o1_mf_nnnd0_LEVEL-0_SEMANAL_7gbchf2p_.bkp
canal ORA_DISK_1: restaurada a parte de backup 1
handle de componente=/u01/flash_recovery_area/BD01/backupset/2011_12_29/o1_mf_nnnd0_LEVEL-0_SEMANAL_7gbchf2p_.bkp tag=LEVEL-0_SEMANAL
canal ORA_DISK_1: restauração concluída, tempo decorrido: 00:01:55
Finalizado restore em 01/01/2012

Após a restauração dos datafiles, poderemos iniciar a recuperação dos mesmos. Vale a pena salientar que os arquivos de redo log online foram perdidos, então será praticamente impossível realizar uma recuperação completa do banco de dados até o momento antes da falha. Portanto, veremos até onde poderemos prosseguir com a recuperação dos arquivos de dados (incomplete recovery).

RMAN> recover database;

Iniciando recover em 01/01/2012
utilizando o canal ORA_DISK_1
canal ORA_DISK_1: iniciando restauração de conjunto de backups de arquivo de dados incremental
canal ORA_DISK_1: especificando arquivo(s) de dados para restauração a partir do conjunto de backups
destino para restauração do arquivo de dados 00002: /u01/oradata/BD01/undotbs01.dbf
destino para restauração do arquivo de dados 00010: /u01/oradata/BD01/tbsdata_cust_l0401_01.dbf
destino para restauração do arquivo de dados 00016: /u01/oradata/BD01/tbsdata_admqueue01_01.dbf
destino para restauração do arquivo de dados 00019: /u01/oradata/BD01/tbsdata_sgm_hist01_01.dbf
destino para restauração do arquivo de dados 00020: /u01/oradata/BD01/tbsdata_sgm_inf01_01.dbf
destino para restauração do arquivo de dados 00023: /u01/oradata/BD01/tbsdata_sgm_rating01_01.dbf
destino para restauração do arquivo de dados 00027: /u01/oradata/BD01/tbsdata_sgm_2007sem01_01.dbf
destino para restauração do arquivo de dados 00030: /u01/oradata/BD01/tbsdata_sgm_2008sem02_01.dbf
destino para restauração do arquivo de dados 00033: /u01/oradata/BD01/tbsdata_brtmigtar_01.dbf
destino para restauração do arquivo de dados 00034: /u01/oradata/BD01/tbsdata_controle01_01.dbf
destino para restauração do arquivo de dados 00037: /u01/oradata/BD01/tbsdata_mbr_l03_01.dbf
destino para restauração do arquivo de dados 00041: /u01/oradata/BD01/tbsdata_mbr_l07_01.dbf
destino para restauração do arquivo de dados 00043: /u01/oradata/BD01/tbsdata_mbr_l09_01.dbf
destino para restauração do arquivo de dados 00044: /u01/oradata/BD01/tbsdata_mbr_l10_01.dbf
destino para restauração do arquivo de dados 00045: /u01/oradata/BD01/tbsdata_mbr_l11_01.dbf
destino para restauração do arquivo de dados 00053: /u01/oradata/BD01/tbsdata_inf2010s101_01.dbf
destino para restauração do arquivo de dados 00056: /u01/oradata/BD01/tbsdata_inf2011S2_01.dbf
destino para restauração do arquivo de dados 00057: /u01/oradata/BD01/tbsdata_hist_2006s2_01.dbf
destino para restauração do arquivo de dados 00060: /u01/oradata/BD01/tbsdata_tam01_01.dbf
destino para restauração do arquivo de dados 00061: /u01/oradata/BD01/tbsdata_exton01.dbf
destino para restauração do arquivo de dados 00068: /u01/oradata/BD01/tbsdata_resource_h02_01.dbf
destino para restauração do arquivo de dados 00071: /u01/oradata/BD01/tbsdata_resource_h05_01.dbf
destino para restauração do arquivo de dados 00074: /u01/oradata/BD01/tbsdata_resource_h08_01.dbf
destino para restauração do arquivo de dados 00077: /u01/oradata/BD01/tbsdata_user0101.dbf
destino para restauração do arquivo de dados 00082: /u01/oradata/BD01/tbsindx_cust03_01.dbf
destino para restauração do arquivo de dados 00084: /u01/oradata/BD01/tbsindx_admqueue01_01.dbf
destino para restauração do arquivo de dados 00088: /u01/oradata/BD01/tbsindx_sgm_ext01_01.dbf
destino para restauração do arquivo de dados 00091: /u01/oradata/BD01/tbsindx_sgm_01_01.dbf
destino para restauração do arquivo de dados 00092: /u01/oradata/BD01/tbsindx_sgm_2006sem01_01.dbf
destino para restauração do arquivo de dados 00095: /u01/oradata/BD01/tbsindx_sgm_2007sem02_01.dbf
destino para restauração do arquivo de dados 00098: /u01/oradata/BD01/tbsindx_sgm_2009sem01_01.dbf
destino para restauração do arquivo de dados 00101: /u01/oradata/BD01/tbsindx_sgm_2010sem02_01.dbf
destino para restauração do arquivo de dados 00103: /u01/oradata/BD01/tbsindx_controle01_01.dbf
destino para restauração do arquivo de dados 00105: /u01/oradata/BD01/tbsindx_mbr_l02_01.dbf
destino para restauração do arquivo de dados 00108: /u01/oradata/BD01/tbsindx_mbr_l05_01.dbf
destino para restauração do arquivo de dados 00111: /u01/oradata/BD01/tbsindx_mbr_l08_01.dbf
destino para restauração do arquivo de dados 00114: /u01/oradata/BD01/tbsindx_mbr_l11_01.dbf
destino para restauração do arquivo de dados 00116: /u01/oradata/BD01/tbsindx_mbr01_01.dbf
destino para restauração do arquivo de dados 00120: /u01/oradata/BD01/tbsindx_line01_01.dbf
destino para restauração do arquivo de dados 00121: /u01/oradata/BD01/tbsindx_gtamal01_01.dbf
destino para restauração do arquivo de dados 00126: /u01/oradata/BD01/tbsindx_hist_2006s2_01.dbf
destino para restauração do arquivo de dados 00130: /u01/oradata/BD01/tbsindx_ext2009s2_01.dbf
destino para restauração do arquivo de dados 00133: /u01/oradata/BD01/tbsindx_zxs_01_001.dbf
destino para restauração do arquivo de dados 00134: /u01/oradata/BD01/tbsindx_resource_h01_01.dbf
destino para restauração do arquivo de dados 00137: /u01/oradata/BD01/tbsindx_resource_h04_01.dbf
destino para restauração do arquivo de dados 00140: /u01/oradata/BD01/tbsindx_resource_h07_01.dbf
destino para restauração do arquivo de dados 00143: /u01/oradata/BD01/tbs_zxs_01_001.dbf
destino para restauração do arquivo de dados 00147: /u01/oradata/BD01/ts_hs_mbr_i01.dbf
canal ORA_DISK_1: lendo da parte de backup /u01/flash_recovery_area/BD01/backupset/2011_12_31/o1_mf_nnnd1_LEVEL-1_DIARIO_7gfpxr5m_.bkp
canal ORA_DISK_1: restaurada a parte de backup 1
handle de componente=/u01/flash_recovery_area/BD01/backupset/2011_12_31/o1_mf_nnnd1_LEVEL-1_DIARIO_7gfpxr5m_.bkp tag=LEVEL-1_DIARIO
canal ORA_DISK_1: restauração concluída, tempo decorrido: 00:00:07
canal ORA_DISK_1: iniciando restauração de conjunto de backups de arquivo de dados incremental
canal ORA_DISK_1: especificando arquivo(s) de dados para restauração a partir do conjunto de backups
destino para restauração do arquivo de dados 00004: /u01/oradata/BD01/users01.dbf
destino para restauração do arquivo de dados 00005: /u01/oradata/BD01/tbsdata_admhist01_01.dbf
destino para restauração do arquivo de dados 00007: /u01/oradata/BD01/tbsdata_cust_l0101_01.dbf
destino para restauração do arquivo de dados 00008: /u01/oradata/BD01/tbsdata_cust_l0201_01.dbf
destino para restauração do arquivo de dados 00012: /u01/oradata/BD01/tbsdata_cust01_01.dbf
destino para restauração do arquivo de dados 00014: /u01/oradata/BD01/tbsdata_cust03_01.dbf
destino para restauração do arquivo de dados 00015: /u01/oradata/BD01/tbsdata_cust04_01.dbf
destino para restauração do arquivo de dados 00017: /u01/oradata/BD01/tbsdata_sgm_collecting01_01.dbf
destino para restauração do arquivo de dados 00021: /u01/oradata/BD01/tbsdata_sgm_ext01_01.dbf
destino para restauração do arquivo de dados 00024: /u01/oradata/BD01/tbsdata_sgm_01_01.dbf
destino para restauração do arquivo de dados 00025: /u01/oradata/BD01/tbsdata_sgm_2006sem01_01.dbf
destino para restauração do arquivo de dados 00028: /u01/oradata/BD01/tbsdata_sgm_2007sem02_01.dbf
destino para restauração do arquivo de dados 00031: /u01/oradata/BD01/tbsdata_sgm_2009sem01_01.dbf
destino para restauração do arquivo de dados 00035: /u01/oradata/BD01/tbsdata_mbr_l01_01.dbf
destino para restauração do arquivo de dados 00038: /u01/oradata/BD01/tbsdata_mbr_l04_01.dbf
destino para restauração do arquivo de dados 00046: /u01/oradata/BD01/tbsdata_mbr_l12_01.dbf
destino para restauração do arquivo de dados 00048: /u01/oradata/BD01/tbsdata_mbr02.dbf
destino para restauração do arquivo de dados 00054: /u01/oradata/BD01/tbsdata_inf2010s201_01.dbf
destino para restauração do arquivo de dados 00058: /u01/oradata/BD01/tbsdata_hist_2007s1_01.dbf
destino para restauração do arquivo de dados 00064: /u01/oradata/BD01/tbsdata_ext2010s201_01.dbf
destino para restauração do arquivo de dados 00065: /u01/oradata/BD01/tbsdata_migracao01.dbf
destino para restauração do arquivo de dados 00069: /u01/oradata/BD01/tbsdata_resource_h03_01.dbf
destino para restauração do arquivo de dados 00072: /u01/oradata/BD01/tbsdata_resource_h06_01.dbf
destino para restauração do arquivo de dados 00075: /u01/oradata/BD01/tbsdata_resource01_01.dbf
destino para restauração do arquivo de dados 00078: /u01/oradata/BD01/tbsindx_admhist01_01.dbf
destino para restauração do arquivo de dados 00080: /u01/oradata/BD01/tbsindx_cust01_01.dbf
destino para restauração do arquivo de dados 00081: /u01/oradata/BD01/tbsindx_cust02_01.dbf
destino para restauração do arquivo de dados 00085: /u01/oradata/BD01/tbsindx_sgm_collecting01_01.dbf
destino para restauração do arquivo de dados 00087: /u01/oradata/BD01/tbsindx_sgm_inf01_01.dbf
destino para restauração do arquivo de dados 00089: /u01/oradata/BD01/tbsindx_sgm_queue01_01.dbf
destino para restauração do arquivo de dados 00093: /u01/oradata/BD01/tbsindx_sgm_2006sem02_01.dbf
destino para restauração do arquivo de dados 00096: /u01/oradata/BD01/tbsindx_sgm_2008sem01_01.dbf
destino para restauração do arquivo de dados 00099: /u01/oradata/BD01/tbsindx_sgm_2009sem02_01.dbf
destino para restauração do arquivo de dados 00102: /u01/oradata/BD01/tbsindx_brtmigtar_01.dbf
destino para restauração do arquivo de dados 00106: /u01/oradata/BD01/tbsindx_mbr_l03_01.dbf
destino para restauração do arquivo de dados 00109: /u01/oradata/BD01/tbsindx_mbr_l06_01.dbf
destino para restauração do arquivo de dados 00112: /u01/oradata/BD01/tbsindx_mbr_l09_01.dbf
destino para restauração do arquivo de dados 00115: /u01/oradata/BD01/tbsindx_mbr_l12_01.dbf
destino para restauração do arquivo de dados 00122: /u01/oradata/BD01/tbsindx_inf2009s1_01
destino para restauração do arquivo de dados 00123: /u01/oradata/BD01/tbsindx_inf2009s201_01.dbf
destino para restauração do arquivo de dados 00124: /u01/oradata/BD01/tbsindx_inf2010s101_01.dbf
destino para restauração do arquivo de dados 00125: /u01/oradata/BD01/tbsindx_inf2010s201_01.dbf
destino para restauração do arquivo de dados 00127: /u01/oradata/BD01/tbsindx_hist_2007s1_01.dbf
destino para restauração do arquivo de dados 00128: /u01/oradata/BD01/tbsindx_int_line0101.dbf
destino para restauração do arquivo de dados 00131: /u01/oradata/BD01/tbsindx_ext2010s1_01.dbf
destino para restauração do arquivo de dados 00135: /u01/oradata/BD01/tbsindx_resource_h02_01.dbf
destino para restauração do arquivo de dados 00138: /u01/oradata/BD01/tbsindx_resource_h05_01.dbf
destino para restauração do arquivo de dados 00141: /u01/oradata/BD01/tbsindx_resource_h08_01.dbf
destino para restauração do arquivo de dados 00144: /u01/oradata/BD01/tools01.dbf
destino para restauração do arquivo de dados 00148: /u01/oradata/BD01/ts_hs_mbr_l01.dbf
canal ORA_DISK_1: lendo da parte de backup /u01/flash_recovery_area/BD01/backupset/2011_12_31/o1_mf_nnnd1_LEVEL-1_DIARIO_7gfpz5lh_.bkp
canal ORA_DISK_1: restaurada a parte de backup 1
handle de componente=/u01/flash_recovery_area/BD01/backupset/2011_12_31/o1_mf_nnnd1_LEVEL-1_DIARIO_7gfpz5lh_.bkp tag=LEVEL-1_DIARIO
canal ORA_DISK_1: restauração concluída, tempo decorrido: 00:00:03
canal ORA_DISK_1: iniciando restauração de conjunto de backups de arquivo de dados incremental
canal ORA_DISK_1: especificando arquivo(s) de dados para restauração a partir do conjunto de backups
destino para restauração do arquivo de dados 00001: /u01/oradata/BD01/system01.dbf
destino para restauração do arquivo de dados 00003: /u01/oradata/BD01/sysaux01.dbf
destino para restauração do arquivo de dados 00006: /u01/oradata/BD01/tbsdata_adminf01_01.dbf
destino para restauração do arquivo de dados 00009: /u01/oradata/BD01/tbsdata_cust_l0301_01.dbf
destino para restauração do arquivo de dados 00011: /u01/oradata/BD01/tbsdata_cust_l0501_01.dbf
destino para restauração do arquivo de dados 00013: /u01/oradata/BD01/tbsdata_cust02_01.dbf
destino para restauração do arquivo de dados 00018: /u01/oradata/BD01/tbsdata_sgm_geral01_01.dbf
destino para restauração do arquivo de dados 00022: /u01/oradata/BD01/tbsdata_sgm_queue01_01.dbf
destino para restauração do arquivo de dados 00026: /u01/oradata/BD01/tbsdata_sgm_2006sem02_01.dbf
destino para restauração do arquivo de dados 00029: /u01/oradata/BD01/tbsdata_sgm_2008sem01_01.dbf
destino para restauração do arquivo de dados 00032: /u01/oradata/BD01/tbsdata_sgm_2009sem02_01.dbf
destino para restauração do arquivo de dados 00036: /u01/oradata/BD01/tbsdata_mbr_l02_01.dbf
destino para restauração do arquivo de dados 00039: /u01/oradata/BD01/tbsdata_mbr_l05_01.dbf
destino para restauração do arquivo de dados 00040: /u01/oradata/BD01/tbsdata_mbr_l06_01.dbf
destino para restauração do arquivo de dados 00042: /u01/oradata/BD01/tbsdata_mbr_l08_01.dbf
destino para restauração do arquivo de dados 00047: /u01/oradata/BD01/tbsdata_mbr01_01.dbf
destino para restauração do arquivo de dados 00049: /u01/oradata/BD01/tbsdata_mbr03.dbf
destino para restauração do arquivo de dados 00050: /u01/oradata/BD01/tbsdata_adm01.dbf
destino para restauração do arquivo de dados 00051: /u01/oradata/BD01/tbsdata_line01_01.dbf
destino para restauração do arquivo de dados 00052: /u01/oradata/BD01/tbsdata_inf2009s201_01.dbf
destino para restauração do arquivo de dados 00055: /u01/oradata/BD01/tbsdata_inf2011S1_01.dbf
destino para restauração do arquivo de dados 00059: /u01/oradata/BD01/tbsdata_int_line0101.dbf
destino para restauração do arquivo de dados 00062: /u01/oradata/BD01/tbsdata_ext2009s201_01.dbf
destino para restauração do arquivo de dados 00063: /u01/oradata/BD01/tbsdata_ext2010s101_01.dbf
destino para restauração do arquivo de dados 00066: /u01/oradata/BD01/tbsdata_zxs_01_001.dbf
destino para restauração do arquivo de dados 00067: /u01/oradata/BD01/tbsdata_resource_h01_01.dbf
destino para restauração do arquivo de dados 00070: /u01/oradata/BD01/tbsdata_resource_h04_01.dbf
destino para restauração do arquivo de dados 00073: /u01/oradata/BD01/tbsdata_resource_h07_01.dbf
destino para restauração do arquivo de dados 00076: /u01/oradata/BD01/tbsdata_staging01_01.dbf
destino para restauração do arquivo de dados 00079: /u01/oradata/BD01/tbsindx_adminf01_01.dbf
destino para restauração do arquivo de dados 00083: /u01/oradata/BD01/tbsindx_cust04_01.dbf
destino para restauração do arquivo de dados 00086: /u01/oradata/BD01/tbsindx_sgm_hist01_01.dbf
destino para restauração do arquivo de dados 00090: /u01/oradata/BD01/tbsindx_sgm_rating01_01.dbf
destino para restauração do arquivo de dados 00094: /u01/oradata/BD01/tbsindx_sgm_2007sem01_01.dbf
destino para restauração do arquivo de dados 00097: /u01/oradata/BD01/tbsindx_sgm_2008sem02_01.dbf
destino para restauração do arquivo de dados 00100: /u01/oradata/BD01/tbsindx_sgm_2010sem01_01.dbf
destino para restauração do arquivo de dados 00104: /u01/oradata/BD01/tbsindx_mbr_l01_01.dbf
destino para restauração do arquivo de dados 00107: /u01/oradata/BD01/tbsindx_mbr_l04_01.dbf
destino para restauração do arquivo de dados 00110: /u01/oradata/BD01/tbsindx_mbr_l07_01.dbf
destino para restauração do arquivo de dados 00113: /u01/oradata/BD01/tbsindx_mbr_l10_01.dbf
destino para restauração do arquivo de dados 00117: /u01/oradata/BD01/tbsindx_mbr02.dbf
destino para restauração do arquivo de dados 00118: /u01/oradata/BD01/tbsindx_mbr03.dbf
destino para restauração do arquivo de dados 00119: /u01/oradata/BD01/tbsindx_adm01.dbf
destino para restauração do arquivo de dados 00129: /u01/oradata/BD01/tbsindx_exton01.dbf
destino para restauração do arquivo de dados 00132: /u01/oradata/BD01/tbsindx_ext2010s2_01.dbf
destino para restauração do arquivo de dados 00136: /u01/oradata/BD01/tbsindx_resource_h03_01.dbf
destino para restauração do arquivo de dados 00139: /u01/oradata/BD01/tbsindx_resource_h06_01.dbf
destino para restauração do arquivo de dados 00142: /u01/oradata/BD01/tbsindx_resource01_01.dbf
destino para restauração do arquivo de dados 00145: /u01/oradata/BD01/tsdepm01_01.dbf
destino para restauração do arquivo de dados 00146: /u01/oradata/BD01/ts_hs_mbr_d01.dbf
canal ORA_DISK_1: lendo da parte de backup /u01/flash_recovery_area/BD01/backupset/2011_12_31/o1_mf_nnnd1_LEVEL-1_DIARIO_7gfq1vd1_.bkp
canal ORA_DISK_1: restaurada a parte de backup 1
handle de componente=/u01/flash_recovery_area/BD01/backupset/2011_12_31/o1_mf_nnnd1_LEVEL-1_DIARIO_7gfq1vd1_.bkp tag=LEVEL-1_DIARIO
canal ORA_DISK_1: restauração concluída, tempo decorrido: 00:00:07

iniciar recuperação de mídia

canal ORA_DISK_1: iniciando restauração de log de arquivamento para destino default
canal ORA_DISK_1: restaurar log de arquivamento
thread do log de arquivamento=1 seqüência=57
canal ORA_DISK_1: lendo da parte de backup /u01/flash_recovery_area/BD01/backupset/2011_12_31/o1_mf_annnn_ARCHIVES_DIARIO_7gfq3j8h_.bkp
canal ORA_DISK_1: restaurada a parte de backup 1
handle de componente=/u01/flash_recovery_area/BD01/backupset/2011_12_31/o1_mf_annnn_ARCHIVES_DIARIO_7gfq3j8h_.bkp tag=ARCHIVES_DIARIO
canal ORA_DISK_1: restauração concluída, tempo decorrido: 00:00:01
nome do arquivo de log de arquivamento=/u01/flash_recovery_area/BD01/archivelog/2011_12_17/o1_mf_1_57_7gsmg61g_.arc thread=1 seqüência=57
canal default: deletando log(s) de arquivamento
nome do arquivo de log de arquivamento=/u01/flash_recovery_area/BD01/archivelog/2011_12_17/o1_mf_1_57_7gsmg61g_.arc id reg.=48 marcação=770138022
não foi possível encontrar log de arquivamento
thread do log de arquivamento=1 seqüência=58
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: falha do comando recover em 01/01/2012 15:13:48
RMAN-06054: recuperação de mídia solicitando log desconhecido: thread 1 seq 58 scn mais baixo 7836163730214

Na saída do comando RECOVER DATABASE, podemos verificar que o mesmo foi finalizado com o erro abaixo:
não foi possível encontrar log de arquivamento
thread do log de arquivamento=1 seqüência=58
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: falha do comando recover em 01/01/2012 15:13:48
RMAN-06054: recuperação de mídia solicitando log desconhecido:
thread 1 seq 58 scn mais baixo 7836163730214

Portanto, deveremos recuperar o banco de dados ignorando a seqüência de redo log 58 conforme demonstrado abaixo:

RMAN> recover database until sequence 58;

Iniciando recover em 01/01/2012
usar o arquivo de controle do banco de dados de destino em vez do catálogo de recuperação
canal alocado: ORA_DISK_1
canal ORA_DISK_1: sid=156 devtype=DISK

iniciar recuperação de mídia
recuperação da mídia concluída, tempo decorrido: 00:00:03

Finalizado recover em 01/01/2012

Pronto. Após a recuperação incompleta do banco de dados até a sequência 58, poderemos abrir o banco dados com a opção RESETLOGS.

RMAN> alter database open resetlogs;

usar o arquivo de controle do banco de dados de destino em vez do catálogo de recuperação
banco de dados aberto

RMAN> exit

Recovery Manager completo.



15 comentários:

Vitor HP disse...

Bem legal seu post Eduardo, é um roteiro bem interessante para se fazer.

Tenho uma pequena dúvida, preciso migrar alguns objetos (procedures, package,functions etc) para outro banco. atualmente faço via EXP mas acredito que há uma forma mais fácil. Existe?

Obrigado e parabéns novamente!

Eduardo Legatti disse...

Olá Vitor,

Mais fácil do que utilizar o utilitário de exportação, seja via o utilitário de exportação tradicional (exp) ou datapump (expdp), realmente eu não conheço. Simplesmente você gera o "dump" e importa no banco de destino. No mais, se você achar mais fácil gerar os scripts DDL de criação dos objetos para depois executá-los no banco de destino, também é uma solução, mas no meu ponto de vista não seria tão prático quanto ao uso do "dump".

Obrigado pela visita.

Abraços e até mais ...

Duvida! disse...

Olá Eduardo,

Como eu informerai para o rman, onde estarão os arquivos do backup para serem restaurados?

Como posso alterar o local de restore dos datafiles e redos, visto que o servidor de destino, onde será restaurado o backup, possui os diretorios de oradata diferentes do servidor de origem?

Abs

Eduardo Legatti disse...

Olá Anônimo,

Neste caso você deverá utilizar o comando "set newname" para cada datafile de forma a informar o novo caminho. Você também deverá renomear os arquivos de redo online com a nova localização. Após isso você deverá restaurar o backup e efetuar o comando "switch datafile all" para atualizar o controlfile com as novas localizações. A partir deste momento, você será capaz de recuperar o banco de dados. Bom, o roteiro seria bem parecido com o exemplo demonstrado abaixo:

No caso, a origem é /u01 e o destino seria /u02

run
{
set newname for datafile '/u01/oradata/BD01/system01.dbf' to '/u02/oradata/BD01/system01.dbf';
set newname for datafile '/u01/oradata/BD01/undotbs01.dbf' to '/u02/oradata/BD01/undotbs1.dbf';
set newname for datafile '/u01/oradata/BD01/sysaux01.dbf' to '/u02/oradata/BD01/sysaux01.dbf';
set newname for datafile '/u01/oradata/BD01/users01.dbf' to '/u02/oradata/BD01/users01.dbf';
sql "alter database rename file ''/u01/oradata/BD01/redo01.log'' to ''/u02/oradata/BD01/redo01.log''";
sql "alter database rename file ''/u01/oradata/BD01/redo02.log'' to ''/u02/oradata/BD01/redo02.log''";
sql "alter database rename file ''/u01/oradata/BD01/redo03.log'' to ''/u02/oradata/BD01/redo03.log''";
restore database;
switch datafile all;
recover database;
alter database open;
}

Em resumo, seria isso. Realize os testes necessários para validar.

Abraços e até mais ...

João Alguém disse...

Olá Eduardo

Se eu utilizar este script [http://eduardolegatti.blogspot.com.br/2009/10/gerando-backups-fisicos-de-banco-de.html] que você disponibilizou, posso seguir os passos descritos neste post?

Abraços

Eduardo Legatti disse...

Olá João,

Pode usar do jeito que você achar mais apropriado (por sua própria conta e risco). Mas, independente do script que for utilizado para automatizar a sua rotina de backup, o mais importante, mesmo, é criar uma política segura de backup e recuperação.

Abraços

Legatti

Unknown disse...

Mas se ocorrer do cliente ter problema com a empresa que gerenciava o banco de dados e nesse período sem suporte houve um grave problema na sede da empresa tendo somente os arquivos salvos na nuvem.
Como poderia identificar a antiga estrutura de pastas para realizar a restauração?

Eduardo Legatti disse...

Olá Lucas,

Os arquivos na nuvem na qual você está fazendo referência é o backup, certo? Ao restaurar o spfile, teremos como saber o caminho dos Control Files. Ao restaurar os Control Files e montar o banco de dados, teremos acesso às views dinâmicas de desempenho V$DATAFILE, V$LOGFILE, V$CONTROLFILE, entre outras. Nesse caso, é possível identificar a localização de todos os datafiles e redo log files. ;-)

Abraços

Legatti

Eduardo Legatti disse...

Olá,

Caso alguém venha a ter algum tipo de problema (RMAN-04014: startup failed: ORA-04031) ao realizar o "start nomount" para recuperar o spfile, basta apenas setar a variável ORA_RMAN_SGA_TARGET com um valor maior.

[oracle]$ rman target /

Recovery Manager: Release 11.2.0.3.0 - Production on Mon Nov 3 13:55:12 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

connected to target database (not started)

RMAN> startup nomount

startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initBD01.ora'

starting Oracle instance without parameter file for retrieval of spfile
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of startup command at 11/03/2014 13:55:19
RMAN-04014: startup failed: ORA-04031: unable to allocate 1048608 bytes of shared memory ("shared pool","unknown object","sga heap(1,0)","row cache")

RMAN> exit

[oracle]$ export ORA_RMAN_SGA_TARGET=512
[oracle]$ rman target /

Recovery Manager: Release 11.2.0.3.0 - Production on Mon Nov 3 14:00:27 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

connected to target database (not started)

RMAN> startup nomount

startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initBD01.ora'

starting Oracle instance without parameter file for retrieval of spfile
Oracle instance started

Total System Global Area 534462464 bytes

Fixed Size 2230072 bytes
Variable Size 192940232 bytes
Database Buffers 331350016 bytes
Redo Buffers 7942144 bytes

Abraços

Legatti

Anônimo disse...

OK. no seu exemplo o recover recuperou até o id 58. E se eu tiver os backups archs (.rmn) contendo os ids posteriores? como eu aplico? (depois do recover level0 e level1)

Eduardo Legatti disse...

Olá Anônimo,

O procedimento é o mesmo. Se você tem um backup dos archives posteriores, então catalogue (comando CATALOG) estes backups pelo RMAN antes de iniciar o processo de restores/recover.

Abraços

Legatti

Rafael Barbosa disse...

Eduardo, bom dia. vejo que seu blog tem um conteúdo muito rico e didático e que realmente nos auxilia nas pesquisa e resolução de problemas, mas gostaria de pedir um favor, poderia trocar o tipo de font dos seus posts? Essa font pequena e fininha atrapalha um pouco a leitura para quem tem hipermetropia, assim como eu. Agradeço a atenção

Eduardo Legatti disse...

Olá Rafael,

Agradeço a visita e o comentário. Quanto ao tamanho a fonte, uso a courier new tamanho 10. Ela não é tão pequena, mas vou ver se consigo melhorar. No mais, eu sempre recomendo a utilizar o browser Firefox, porque o chrome está muito ruim hoje em dia. Em relação ao seu problema de visão, recomendo a você utilizar também o recurso de zoom disponível nos navegadores. Por exemplo, no Firefox são as teclas CTRL+ e CTRL-. Talvez ajude ;-)

Abraços,

Legatti

O pai de João Victor disse...

Sei que o post é antigo, mas... eu sou iniciante em Oracle embora tenha experiência como desenvolvedor. Meu caso é o seguinte: Foi gerado todo o backup do banco em um windows 2008 com o oracle. Montei outro servidor windows 2008 com oracle e queria levantar o banco de volta no novo servidor. Acontece que no servidor de origem o Oracle foi instalado no "D:" e no servidor de destino (uma VM no hyper-v) o Oracle foi instalado no "C:". Olhando seu tópico não consegui fazer nada do que você explicou, pois o ambiente é linux. Teria algo para o ambiente Windows? agradeço sua atenção.

Adolfo

Eduardo Legatti disse...

Olá Adolfo,

Que tipo de backup foi feito? Como os caminhos são diferentes, seria necessário independente do sistema operacional, daria para ter o arqtigo como base, mas seria necessário utilizar os comandos "set newname for datafile' no RMAN para restaurar o arquivos para a localização nova. O Oracle na nova máquina já está instalado? Eu acredito que para simplificar no seu caso, a melhor estratégia seria fazer um "backup lógico", ou seja, um dump FULL do banco de dados utilizando o utilitário expdp e realizar a importação pelo utilitário impdp. Para isso você deverá criar um banco na máquina nova e criar as tablespaces com os nomes iguais ao do servidor antigo. Depois é só fazer a importação.

1-criar o banco na máquina nova
2-criar as tablespaces que existem no banco de dados do servidor antigo (CREATE TABLESPACE...)
3-realizar a exportação no servidor antigo (expdp system/senha dumpfile=backup_full.dmp full=y)
4-copiar o arquivo backup_full.dmp para o servidor novo e realizar a importação (impdp system/senha dumpfile=backup_full.dmp full=y)

Para copiar fisicamente a pasta onde estão os arquivos do banco de dados do servidor antigo para o novo servidor acredito que seria mais complicado já que você não é DBA:

Resumidamente seria:

1-criar o banco de dados com o mesmo nome do banco de dados está no servidor antigo
2-copiar a pasta onde estão os arquivos do banco de dados do servidor antigo para o servidor novo (de D:\ORACLE\ORADATA para C:\ORACLE\ORADATA)
3-alterar o arquivo de parâmetros pfile ou spfile informando o novo local dos controlfiles (de D:\ORACLE\ORADATA para C:\ORACLE\ORADATA)
4-montar o banco de dados (startuo mount)
5-alterar o caminho dos datafiles e redo log files (de D:\ORACLE\ORADATA para C:\ORACLE\ORADATA) através de comandos ALTER DATABASE ...
6-abrir o banco de dados (alter database open)

Abraços,

Legatti

Postagens populares