Acabei redigitando este artigo pois teve muita gente que ficou com duvidas.

Vamos lá Rman por incrível que pareca é fácil.

Serio é fácil.

 

Mas tem muita gente que por ter uma estrutura mega power utiliza o catalago dos backup em outro servidor.

O catalago de backup é o "mapa" que o Rman utiliza para controlar os backups.

Isto tem logica, porque se o próprio servidor que deu pau perdeu o mapa\catalogo como você vai recupera o banco sem o catalogo daquele servidor.

 

Mas quando somos pobrezinhos temos que nos adaptar.....

 

Assim eu utilizo o seguinte :

 

Deixo o catalago de recuperação no próprio servidor só que quando realizo o backup levo o catalago o spfile "configurações do banco" e mais os dados.

Logo faco backup de tudo, ou quase tudo.

 

Para isto utilizo 8 script sendo um script principal que chama conforme o dia da semana o script daquele dia.

Só um detalhe como seguro morreu de velho também faço um "backup" utilizando o export / import (datadump)

Isto na verdade é o que a Oracle indica um backup com export e um com Rman diariamente.

 

                                                     Pode adaptar o script abaixo para suas necessidades.

 

--------------------------------------------- script que deve ser configurado no crontab -------------------------------

#!/bin/sh

cd /home/oracle

source .bash_profile

DIA=`date +'%w'`

clear

cont=0

if [ $DIA -eq 0 ]; then

clear

    echo "."

    echo "."

    echo "   *********************************************** "

    echo "   ***                                         *** "

    echo "   ***     REALIZANDO BACKUP DE Domingo        *** "

    echo "   ***                                         *** "

    echo "   ***              SLHCRMORA.                 *** "

    echo "   ***                                         *** "

    echo "   *********************************************** "

    echo "   *** MOVENDO BACKUP COM EXPORT PARA SERVIDOR DE BACKUP   *** "

echo "   *** ASSSUMO QUE VOCE TENHA UM PONTO DE MONTAGEM TIPO /BACKUP   *** "

echo "   *** QUE PODE ESTAR MAPEADO NO SERVIDOR DE BACKUP  *** "

mv /u01/app/oracle/admin/<< SID >>/dpdump/*.dmp /backup

echo .

echo "   *** GERANDO O BACKUP COMO RMAN  *** "

echo .

rman target / @domingo.sh

echo .

echo "   *** ZIPANDO O BACKUP E DELETANDO OS ARQUIVOS NÃO ZIPADOS *** "

echo .

zip /backup/domingo/domingo.zip /backup/domingo/*.rman

rm -rf /backup/domingo/*.rman

rm -rf /backup/segunda/*.*

    echo "."

    echo "   *********************************************** "

    echo "   ***                                         *** "

    echo "   ***   MANUTENCAO SEMANAL TODOS OS DOMINGOS  *** "

    echo "   ***                                         *** "

    echo "   *********************************************** " 

    exit

fi

if [ $DIA -eq 1 ]; then

clear

    echo "."

    echo "."

    echo "   *********************************************** "

    echo "   ***                                         *** "

    echo "   ***   REALIZANDO BACKUP DE segunda          *** "

    echo "   ***              SERVIDOR                   *** "

    echo "   ***                                         *** "

    echo "   ***    SLHCRMORA.                                            *** "

    echo "   ***                                         *** "

    echo "   *********************************************** "

    echo "."

    echo "."

    echo "   ***           GERANDO BACKUP                *** "

mv /u01/app/oracle/admin/<< SID >>/dpdump/*.dmp /backup

rman target / @segunda.sh

# zip /backup/segunda/segunda.zip /backup/segunda/*.rman

#rm -rf /backup/segunda/*.rman

rm -rf /backup/terca/*.*

    exit

fi

if [ $DIA -eq 2 ]; then

    clear

    echo "."

    echo "."

    echo "   *********************************************** "

    echo "   ***                                         *** "

    echo "   ***   REALIZANDO BACKUP DE Terca          *** "

    echo "   ***              SERVIDOR                   *** "

    echo "   ***                                         *** "

    echo "   ***    SLHCRMORA.                                            *** "

    echo "   ***                                         *** "

    echo "   *********************************************** "

    echo "."

    echo "."

    echo "   ***           GERANDO BACKUP                *** "

mv /u01/app/oracle/admin/<< SID >>/dpdump/*.dmp /backup  

rman target  / @terca.sh

 zip /backup/terca/terca.zip /backup/terca/*.rman

 rm -rf /backup/terca/*.rman

rm -rf /backup/quarta/*.*

    exit

fi

if [ $DIA -eq 3 ]; then

    clear

    echo "."

    echo "."

    echo "   *********************************************** "

    echo "   ***                                         *** "

    echo "   ***   REALIZANDO BACKUP DE Quarta          *** "

    echo "   ***              SERVIDOR                   *** "

    echo "   ***                                         *** "

    echo "   ***    SLHCRMORA.                                            *** "

    echo "   ***                                         *** "

    echo "   *********************************************** "

    echo "."

    echo "."

    echo "   ***           GERANDO BACKUP                *** "

 

rman target / @quarta.sh

 

 zip /backup/quarta/quarta.zip /backup/quarta/*.rman

 rm -rf /backup/quarta/*.rman

rm -rf /backup/quinta/*.*

    exit

fi

if [ $DIA -eq 4 ]; then

       clear

    echo "."

    echo "."

    echo "   *********************************************** "

    echo "   ***                                         *** "

    echo "   ***   REALIZANDO BACKUP DE Quinta           *** "

    echo "   ***              SERVIDOR                   *** "

    echo "   ***                                         *** "

    echo "   ***    SLHCRMORA.                                            *** "

    echo "   ***                                         *** "

    echo "   *********************************************** "

    echo "."

    echo "."

    echo "   ***           GERANDO BACKUP                *** "

mv /u01/app/oracle/admin/<< SID >>/dpdump/*.dmp /backup 

rman target / @quinta.sh

 zip /backup/quinta/quinta.zip /backup/quinta/*.rman

 rm -rf /backup/quinta/*.rman

rm -rf /backup/sexta/*.*

 

    exit

fi

if [ $DIA -eq 5 ]; then

      clear

    echo "."

    echo "."

    echo "   *********************************************** "

    echo "   ***                                         *** "

    echo "   ***   REALIZANDO BACKUP DE Sexta           *** "

    echo "   ***              SERVIDOR                   *** "

    echo "   ***                                         *** "

    echo "   ***    SLHCRMORA.                                            *** "

    echo "   ***                                         *** "

    echo "   *********************************************** "

    echo "."

    echo "."

    echo "   ***           GERANDO BACKUP                *** "

mv /u01/app/oracle/admin/<< SID >>/dpdump/*.dmp /backup   

rman target / @sexta.sh

 

 zip /backup/sexta/sexta.zip /backup/sexta/*.rman

 rm -rf /backup/sexta/*.rman

rm -rf /backup/sabado/*.*

    exit

fi

if [ $DIA -eq 6 ]; then

     clear

    echo "."

    echo "."

    echo "   *********************************************** "

    echo "   ***                                         *** "

    echo "   ***   REALIZANDO BACKUP DE Sabado           *** "

    echo "   ***              SERVIDOR                   *** "

    echo "   ***                                         *** "

    echo "   ***    SLHCRMORA.                                            *** "

    echo "   ***                                         *** "

    echo "   *********************************************** "

    echo "."

    echo "."

    echo "   ***           GERANDO BACKUP                *** "

 mv /u01/app/oracle/admin/<< SID >>/dpdump/*.dmp /backup 

rman target / @sabado.sh

 zip /backup/sabado/sabado.zip /backup/sabado/*.rman

 rm -rf /backup/sabado/*.rman

rm -rf /backup/domingo/*.*

 

    exit

fi

 

 

-------------------------------------------------- script referente a segunda e so copiar e adapatar para os outros dias da semana.

 

run {

ALLOCATE CHANNEL disk1 DEVICE TYPE DISK FORMAT '/backup/segunda/Backup_%d_%t_%s.rman';

backup full database;

backup archivelog all delete input;

backup spfile format '/backup/segunda/spfile_%d_%t_%s.rman';

backup current controlfile format '/backup/segunda/controlfile_ctl_%d_%t_%s.rman';

crosscheck backup;

crosscheck archivelog all;

DELETE noprompt archivelog all;

 

 

------------------------------------------------- Procedimentos de recuperação 

 

Lembrando não esqueça de ter o DBID do banco sempre anotado

 

 

 

<< SID >> (DBID=696969696969)

 

 

RMAN> SET DBID=3525717385

RMAN> startup nomount

RMAN> restore spfile to '/backup/segunda/spfile_<< SID >>_926094222_808.rman' FROM AUTOBACKUP;

RMAN> restore controlfile from '/backup/segunda/controlfile_ctl_<< SID >>_926094223_809.rman';

RMAN> alter database mount;

RMAN> CROSSCHECK BACKUP;

RMAN> CROSSCHECK COPY;

RMAN> CROSSCHECK backup of controlfile;

RMAN> CROSSCHECK archivelog all;

RMAN> DELETE EXPIRED BACKUP;

RMAN> delete obsolete device type disk;

RMAN> list backup;

RMAN> restore database;

RMAN> recover database;

RMAN> alter database open resetlogs;

 

NOTA

Como você pode perceber algumas linhas da recuperação acima não são necessárias coloquei para quem esteja começando tenha maior conhecimento. 

Alem do fato que que os sufixos devem ser revistos né....

OUTRO PONTO IMPORTANTE É QUE SE VOCÊ ESTA RECUPERANDO EM OUTRO AMBIENTE TIPO OUTRO SERVIDOR E O MESMO POSSUI CONFIGURAÇÃO DE MEMORIA POR EXEMPLO DIFERENTE DO SERVIDOR ORIGEM  QUANDO VOCÊ FOR RESTAURA O SPFILE ( restore spfile to '/backup/segunda/spfile_<< SID >>_926094222_808.rman' FROM AUTOBACKUP; ) CERTAMENTE POSSIVELMENTE E INFELIZMENTE TERÁ QUE RECONFIGURA ALGUMAS COISAS NO SEU AMBIENTE.

 

 


 

Obs : Caso receba uma mensagem de erro no recover database :

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 21516 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 21516;