Vous êtes sur la page 1sur 7

RMAN-ORACLE

RMAN ORACLE Conceitos Bsicos


1 Preparando o Terreno - Verificando e Habilitando o Archivelog do Banco
O archivelog, habilitado necessrio em vrias tarefas no Oracle, como backup online com RMAN e criao de Standby, vou explicar aqui como saber se o banco est com ele habilitado e como habilitar. Para verificar simples, entrar no sqlplus com usuario DBA e rodar o comando. SQL> SELECT LOG_MODE FROM SYS.V$DATABASE; LOG_MODE ------------ NOARCHIVELOG Se receber o mesmo resultado acima, o seu Archivelog est desabilitado, para habilitar, voc deve inserir ou modificar os parametros no arquivo de inicializacao como est no exemplo abaixo, mudando o diretrio(se for o caso). log_archive_dest_1='location=/u02/oradata/cuddle/archive' log_archive_start=TRUE D um shutdown no banco, entre como "SYS" e execute os comandos: SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER DATABASE ARCHIVELOG; SQL> ALTER DATABASE OPEN; Para ver se tudo deu certo, rode o primeiro select, deve mostrar "ARCHIVELOG" agora. Voc pode reiniciar o banco normal, sem se preocupar em rodar esses comandos novamente.

2 - RMAN - Backup Bsico do Oracle usando RMAN


Muita gente tem muitas dvidas e no sabe user esse utlitrio de Backup do Oracle, talvez porque achem complicado ou por no terem tutoriais fceis, por isso vou tentar de novo descomplicar o que todo mundo complica. O objetivo fazer um backup bsico em disco que possa ser recuperado depois facilmente. Todo mundo acha que precisa criar uma base, repositrio e etc...mas no, aqui vamos fazer do modo mais simples e depois vamos complicando nos prximos tutoriais de rman.Vamos usar o controlfile,

Apostila Bsica de RMAN

Pgina 1

RMAN-ORACLE
que pode servir como repositorio sem nenhum problema. 2.1 - Primeira parte, configurando o RMAN A primeira parte configurar, pra isso, entre no prompt e digite: RMAN TARGET SYS/TESTE

Onde teste a senha de SYS. Ele deve mostar algo assim, mais ou menos assim, onde ORCL vai ser trocado pelo no me da sua base. conectado ao banco de dados de destino: ORCL (DBID=1178846893) Continuando...digite os comandos: Tirar qualquer formatao de backup existente : RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT CLEAR; CONFIGURA O DIRETRIO A ONDE VAI SER FEITO O BACKUP DOS DATAFILES RMAN> configure channel device type disk format ' C:\orclbkp\rman \%U%d%T'; CONFIGURA O DIRETRIO A ONDE VAI SER FEITO O BACKUP DO CONTROLFILE RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO C:\orclbkp\rman\%F%d%T;

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

Comando Abaixo certifica que o RMAN mantm todos os backups necessrios para recuperar o banco de dados a qualquer momento nos ltimos sete dias :
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; Definir que ser mantido trs cpias de cada arquivo de dados: RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

Dica !!!! : algumas views do oracle onde voc pode verificar as configuracoes do RMAN

RC_RMAN_CONFIGURATION V$RMAN_CONFIGURATION

Apostila Bsica de RMAN

Pgina 2

RMAN-ORACLE
Padres de formatao do nome dos arquivos: Parametro %c Explicaao O nmero de cpia da pea de backup em um conjunto de frente e verso peas de backup. Se voc no tiver um backup duplex, ento esta varivel 1 para os conjuntos de backup e 0 para cpias proxy. Se um desses comandos ativado, ento a varivel mostra o nmero de cpias. O valor mximo de c% de 256. O nome do banco de dados.

%d

%D

O dia do ms actual (em formato DD)

%F

Combinao de DBID, dia, ms, ano e seqncia em um nico e nome gerado repetvel. O ms (formato MM)

%M

%p

O nmero da pea dentro do conjunto de backup. Este valor comea em 1 para cada conjunto de backup e incrementado por 1 a cada pedao de backup criado. Nota: Se voc especificar PROXY, ento a varivel p% devem ser includo na seqncia de formato, explcita ou implicitamente na U.% O nmero de conjunto de backup. Este nmero um contador no arquivo de controle que incrementado para cada conjunto de backup. O valor do contador comea em 1 e exclusivo para o perodo de vigncia do arquivo de controle. Se voc restaurar um backup arquivo de controle, ento valores duplicados podem resultar. Alm disso, criar CONTROLFILE inicializa o contador volta a 1. O carimbo de tempo de backup definida, que um valor de 4 bytes obtido a partir da nmero de segundos decorridos desde a data de referncia fixa. A combinao de% s e t% pode ser usado para formar um nico nome para o conjunto de backup. O ano, ms e dia (YYYYMMDD)

%s

%t

%T

%u

%U

%Y

Um nome de 8 caracteres constitudo por representaes de comprimidos o nmero do conjunto de backup eo tempo que o conjunto de backup foi criado. Uma abreviao conveniente para c%%% u_ p_ que garante a exclusividade em nomes de arquivos de backup gerados. Se voc no especificar um formato, o RMAN usa U% por padro. O ano (YYYY)

Apostila Bsica de RMAN

Pgina 3

RMAN-ORACLE
2.2 - Efetuando o backup Depois de configurado, vem a parte do backup, que vai servir caso precisarmos efetuar um recover da base.Para fazer o backup bem simples, s precisa rodar os comandos: Vai ser feito o backup dos datafiles, spfile e controfile no difetrio que voc configurou, incluindo os archivelogs. RMAN> backup database plus archivelog;

Agora o backup do controlfile e spfile que muito importante e vai facilitar bastante o trabalho de recover. RMAN> backup current controlfile;

Pronto, o backup foi feito, se tudo deu certo, ele gerou arquivos com nomes unicos em seu diretorio definido (ex C:\orclbkp\rman) e mostrou a mensagem de terminado com sucesso. DICA!!!!!!! Se der algum erro "RMAN-03009" tente novamente toda a lista de comandos, pois se trata de um erro generico.

3- RMAN - Restaurando os arquivos


Agora vamos a parte mais importante, vamos supor que perdeu todos os seus datafiles e controlfiles, da voc vai dizer....e agora, como vou voltar o backup sem ter o controlfile ou repositrio,eu digo, fique tranquilo, vai ser algo mais simples que imagina, basta ter os arquivos de backup que fez no passo anterior. A primeira coisa entrar no rman como fez antes(no prompt)... rman target sys/teste depois inicie a base de dados mas sem mountar RMAN> startup force nomount; Agora vamos restaurar os arquivos e iniciar a base, iniciamos recuperando o controlfile para facilitar o trabalho, pra isso usamos: RMAN> restore controlfile from 'c:\backup\teste88_1.bkp'; (Nessa parte vai dizer, como sabe qual arquivo tem o backup do controlfile..., simples, lembra quado fizemos o backup, o controlfile foi feito por ultimo em separado, ento ele deve ser o ultimo arquivo do seu conjunto de backup. Ele vai mostar e recuperar todos os seus controlfiles na mesma estrutura e quantidade que tinha antes, por isso bom criar a mesma estrutura que tinha antes, ou trocar o local onde gostaria de recuperar. Depois voc deve mountar a base com os controlfiles recuperados e depois restaurar os arquivos de dados com os dois comandos:

Apostila Bsica de RMAN

Pgina 4

RMAN-ORACLE
RMAN> startup force nomount;

RMAN> restore database; Pronto, todos os arquivos restaurados, agora devemos fazer um recover na base e j podemos apenas abrir a base na primeira vez com o parametro resetlogs(que cria novos arquivos de redolog):

RMAN> recover database; RMAN> alter database open resetlogs; Se voc seguiu todos os passos, perfeito, conseguiu recumperar sua base sem nenhum problema, e foi mais simples do que parecia, sem nenhum planejamento muito grande, repositrio, etc, ou seja um backup simples e um recoverer simples, para demonstrar como o rman pode ser simplificado, claro que , por ser uma ferramenta poderosa, isso no cobre 1% de todas as suas funcionalidades, mas serve para mostrar as facilidades e poder da ferramenta. Abaixo segue alguns exemplos resumidos de Restore. Exemplo de Restore/Recovery de um database : Um banco de Dados inteiro RMAN> STARTUP FORCE MOUNT; RMAN> RESTORE DATABASE; RMAN> RECOVER DATABASE; RMAN> ALTER DATABASE OPEN; Uma tablespace RMAN> SQL 'ALTER TABLESPACE users OFFLINE'; RMAN> RESTORE TABLESPACE users; RMAN> RECOVER TABLESPACE users; RMAN> SQL 'ALTER TABLESPACE users ONLINE'; Um datafile RMAN> SQL 'ALTER DATABASE DATAFILE 64 OFFLINE'; RMAN> RESTORE DATAFILE 64; RMAN> RECOVER DATAFILE 64; RMAN> SQL 'ALTER DATABASE DATAFILE 64 ONLINE'; Passos a serem seguidos : (1) coloque o banco no status mount . (2) Restore os arquivos necessrios com o commando RESTORE. (3) Recover os datafiles com o commando RECOVER . (4) Volte o banco ao status de open

Apostila Bsica de RMAN

Pgina 5

RMAN-ORACLE
Outros Comandos uteis.

Comando Auxiliares para utilizao do RMAN : SHOW : Exibe as configuracoes permanentes do RMAN .Configuracoes como canais automaticos,estratgia de reteno , numero de cpias e etc... . Exemplos :
SHOW RETENTION POLICY; SHOW DEVICE TYPE; SHOW DEFAULT DEVICE TYPE; SHOW CHANNEL; SHOW MAXSETSIZE; SHOW ALL;

LIST : Exibe as informaes sobre os backup efetuados. Exemplos :


RMAN> LIST BACKUP; RMAN> LIST BACKUP OF DATABASE; RMAN> LIST BACKUP SUMMARY; RMAN> LIST INCARNATION; RMAN> LIST BACKUP BY FILE; RMAN> LIST COPY OF DATABASE ARCHIVELOG ALL; RMAN> LIST COPY OF DATAFILE 1, 2, 3; RMAN> LIST BACKUP OF DATAFILE 11 SUMMARY; RMAN> LIST BACKUP OF ARCHIVELOG FROM SEQUENCE 1437; RMAN> LIST CONTROLFILECOPY "/tmp/cntrlfile.copy"; RMAN> LIST BACKUPSET OF DATAFILE 1;

REPORT : Bem mais sofisticado que as duas opes acima.Ira te mostar uma viso detalhado do repositrio.
DELETE : Para dar a opo de deletar os backup feitos.
RMAN> delete backup; RMAN> DELETE NOPROMPT EXPIRED BACKUP OF TABLESPACE user_data COMPLETED BEFORE 'SYSDATE-14'; RMAN> DELETE BACKUP OF DATABASE LIKE '/tmp%'; RMAN> DELETE ARCHIVELOG ALL BACKED UP 2 TIMES TO DEVICE TYPE sbt; RMAN> DELETE BACKUPSET 101, 102, 103; RMAN> DELETE CONTROLFILECOPY '/tmp/cntrlfile.copy'; RMAN> DELETE BACKUP OF SPFILE TABLESPACE users DEVICE TYPE sbt; Outra coisa importante que podemos abrigar varios comandos entre um RUN { <VARIOS COMANDOS>}, assim, exemplificando, nosso backup poderia ser feito por script com a seguinte sintaxe: RMAN> run { backup database plus archivelog;

Apostila Bsica de RMAN

Pgina 6

RMAN-ORACLE
backup current controlfile; } DICA!!!!!!!

Se der algum erro "RMAN-03009" tente novamente toda a lista de comandos, pois se trata de um erro generico.

Lembre-se que isso o bsico do Bsico quando se fala de RMAN.

4- Referencias on-line.
http://www.dbapool.com/forumthread/topic_7312.html http://ss64.com/ora/rman_configure.html http://ruevers.webs.com/rman.htm http://repettas.wordpress.com/2009/05/15/rman-backup-rac-example/ http://profissionaloracle.com.br/blogs/rodrigoalmeida/category/backup-recover/rman/ http://www.rodrigoalmeida.net/blog/backup-recover-de-control-file-com-rman http://profissionaloracle.com.br/blogs/rodrigoalmeida/category/backup-recover/rman/

Apostila Bsica de RMAN

Pgina 7

Vous aimerez peut-être aussi