Blz Edinilson, vamos lá então.
Vou direto ao ponto: é apenas um pontapé inicial prá vc. Não considere como
roteiro de trabalho, pois em uma pesquisa rápida no Google e vc terá quilos de
material.
Primeiro, para agendar no crontab (exemplo da minha base de testes):
oracle@hom> crontab -e
# ---------------------------------------------------------------
# Agendamento de backup RMAN do servidor de testes
# 28/03/2012 - Ederson Elias
# ---------------------------------------------------------------
#
# Backup diario noturno (20h de segunda a sabado) - Base HOM
00 20 * * 1-6 /home/oracle/bkp02_rman.sh
#
# Backup semanal, remove backup obsoletos (10h de domingo) - Base HOM
00 10 * * 7 su /home/oracle/bkp03_rman.sh
--> Abaixo, segue o arquivo dos scripts
--Coloque o SID do seu banco no local indicado por ??????
#!/bin/bash
# bkp03_rman.sh ############################################################
#
# Backup semanal no domingo, remove backups obsoletos
#
############################################################################
ORACLE_SID=??????
ORACLE_HOME=/opt/oracle10gR2/product/10.2/db_1
PATH=/opt/oracle10gR2/product/10.2/db_1/bin
rman target=/ log=/home/oracle/bkp03_rman.log << EOF
RUN {
BACKUP AS COMPRESSED BACKUPSET incremental level 0 DATABASE PLUS ARCHIVELOG
delete all input;
delete noprompt obsolete;
}
EXIT;
EOF
--Coloque o SID do seu banco no local indicado por ??????
#!/bin/bash
# bkp02_rman.sh ############################################################
#
# Backup diario incremental, sem remocao de backupsets ou archives.
#
# Obs: devido ao OPTIMIZATION ligado e a politica REDUNDANCY 1, os arquivos
# copiados em um dia, nao sao copiados novamente nos proximos dias da
semana
# -- PODE AGENDAR PARA RODAR MAIS DE UMA VEZ POR DIA
# POIS INTERFERE POUCO NO USO NORMAL DO BANCO
############################################################################
ORACLE_SID=??????
ORACLE_HOME=/opt/oracle10gR2/product/10.2/db_1
PATH=/opt/oracle10gR2/product/10.2/db_1/bin
rman target=/ log=/home/oracle/bkp02_rman.log << EOF
RUN {
BACKUP incremental level 1 DATABASE PLUS ARCHIVELOG;
}
EXIT;
EOF
--> Chamar o RMAN pela linha de comando:
oracle@hom> export ORACLE_SID=informe_o_sid
oracle@hom> rman target=/
--> configurar o RMAN:
--> no caso, /backup/local é um HD/área exclusivo para backup
-- serão mantidas duas cópias de cada datafile
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
-- com a otimização ligada, os archives serão gravados somente uma vez. No caso
do backup incremental,
-- com limpeza somente uma vez na semana, isto evita copiar o arquivo sem
necessidade
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
-- faz a cópia do controlfile após o fim do backup, um arquivo com esta
máscara: c-dbid_do_banco-YYYYMMDD-00
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO
'/backup/local/%F';
-- se o seu banco é Enterprise, o recurso de paralelismo agiliza bastante, mude
para 2 ou 3 abaixo
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO COMPRESSED
BACKUPSET;
-- gravar o backup no local indicado, quebrando em arquivos de 4G cada, exemplo:
--kfoqdmhe_1_1
--kfoqdmhe_2_1
--kfoqdmhe_3_1
--kfoqdmhe_4_1
--kfoqdmhe_5_1
--kfoqdmhe_6_1
--kfoqdmhe_7_1
--kfoqdmhe_8_1
--kfoqdmhe_9_1
--kfoqdmhe_10_1
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/backup/local/%U'
MAXPIECESIZE 4 G;
--> ver as outras configurações:
oracle@hom> show all;
--> Ponto importante:
O Rman não faz cópia de:
Arquivos init.ora
Arquivos de redo logs
Arquivos executáveis/binários do Oracle
Arquivos de senhas (pw????.ora)
--> Links recomendados (mestre Eduardo Legatti)
http://eduardolegatti.blogspot.com.br/2010/10/estrategia-de-backup-rman.html
http://eduardolegatti.blogspot.com.br/2012/07/rman-backup-incremental-cumulativo-vs.html
http://eduardolegatti.blogspot.com.br/2012/01/restaurando-e-recuperando-um-banco-de.html
--> Links recomendados (mestre Fabio Prado)
http://www.fabioprado.net/2011/03/serie-rman-parte-1-entendendo-o-rman.html
http://www.fabioprado.net/2011/04/recuperando-dados-com-o-rman-utilizando.html
--> Links recomendados (mestre Rodrigo Almeida)
http://www.rodrigoalmeida.net/blog/uma-visao-geral-sobre-backup-recover/
http://www.rodrigoalmeida.net/blog/apresentacao-enpo-rman-vilao-ou-heroi/
--> Links recomendados (mestre Ricardo Portilho)
http://nervinformatica.ddns.com.br:8080/blog/?p=3263 (quem disse que o RMAN não
tem interface gráfica?)
Prá começar, assim vc já faz o backup.
##########################################################
Para o RESTORE, fase 2, basicamente precisa identificar:
-Vc tem backup? consistente/completo?
-O que vc perdeu? identificar precisamente o que será restaurado
-No servidor a restaurar backup já tem banco rodando ou será clone?
-Em caso de novo server, identificar a compatibilidade entre a origem e destino
do backup (versão do SO e versão do Oracle/Rman, charset)
--Basicamente, um restore FULL é assim:
oracle@hom> cd $ORACLE_HOME/dbs
oracle@hom> export NLS_LANG=.UTF8
oracle@hom> export ORACLE_SID=HOM
oracle@hom> rman target=/
RMAN> set dbid 822974043 --> no caso de nova base, um clone
RMAN> startup pfile='/opt/oracle/product/10.2/db_1/dbs/pfilehom.ora' nomount
force;
RMAN> set controlfile autobackup format for device type disk to
'/backup/hom/%F';
RMAN> RESTORE CONTROLFILE TO
'/opt/oracle/product/10.2/db_1/dbs/control_hom_01.ora' FROM AUTOBACKUP
db_name='hom';
RMAN> startup pfile='/opt/oracle/product/10.2/db_1/dbs/pfilehom.ora' mount
force;
RMAN> catalog start with '/backup/hom';
--Recover do backup
RMAN> crosscheck archivelog all;
RMAN> crosscheck backup;
RMAN> crosscheck backup of database;
RMAN> delete expired archivelog all;
RMAN> delete expired backup;
RMAN> delete obsolete;
RMAN> list backup of archivelog all; --> para informar SEQUENCE e TREAD no
comando de recover mais abaixo
RMAN> shutdown;
RMAN> startup pfile='/opt/oracle/product/10.2/db_1/dbs/pfilehom.ora' mount ;
RMAN> run
{
set until sequence 155230 thread 1;
restore database;
switch datafile all;
recover database;
alter database open resetlogs;
}
[]'s
Ederson Elias
DBA Oracle
http://br.linkedin.com/pub/ederson-elias/24/8b/8b0
------------
Labor improbus omnia vincit
--- Em [email protected], "Ednilson Silva" <ednilson.silva@...>
escreveu
>
> Ederson,
>
> Já que se ofereceu, eu aceito sim uma ajuda com RMAN, pelo menos algo para
> iniciar.
>
> Comecei uma pesquisa para começar a implementar o RMAN, mas sempre surge
> algo para ontem.
>
>
>
> Grato,
>
>
>
> Ednilson