Sie sind auf Seite 1von 2

Recuperação Incompleta Utilizando RMAN

A simulação de uma recuperação incompleta utilizando Rman envolve


os seguintes passos:
1- Backup completo da base de dados
2- Simulação de um erro do usuário
3- Recuperação incompleta até o momento no tempo logo anterior ao
erro
4- Teste de sucesso da recuperação após abrir o banco de dados

Passos
A seguir, enconta-se um passo-a-passo detalhado que deve ser
seguido para o sucesso da operação:

1- Conecte-se à base de dados como o usuário SYSTEM, com o


SQL*Plus

2- Certifique-se que o banco de dados está em modo archivelog


com o archivamento habilitado:
SQL> select log_mode from v$database;
SQL> select archiver from v$instance;
Se as consultas acima não retornarem respectivamente
ARCHIVELOG e STARTED, configure o banco de dados para
trabalhar em modo archive.

3- Habilite a exibição da hora no prompt do SQL*Plus


SQL> set time on
10:23:15 SQL>

4- Crie uma ou mais tabelas fake e insira um conjunto de dados


nas mesmas

5- Conecte-se ao RMAN como usuário SYS, usando a autenticação


do sistema operacional
rman target /

6- Execute um backup completo, usando os seus padrões


configurados
RMAN> backup database;

7- Na sua sessão do SQL*Plus, anote a hora e depois exclua a


tabela e confirme a sua ausência
8- Na sessão do Rman, rode o bloco de comandos a seguir,
recuperando a base de dados até o momento logo antes da
exclusão da tabela:
RMAN> run {
2> shutdown immediate;
3> startup mount;
4> sql “alter session set nls_date_format=’’yy-mm-
dd hh24:mi:ss’’”;
5> set until time ’04-12-11 10:35;30’;
6> restore database;
7> recover database;
8> alter database open resetlogs;}

9- Na sessão do SQL*Plus, reconecte-se como o usuário SYSTEM e


verifique se a tabela foi recuperada e se o número de sequência
do switch foi resetado
10:49:25 SQL> select count(*) from STG_ADM.DEPT;

COUNT(*)
----------
1080
10:50:13 SQL> select count(*) from STG_ADM.EMP;

COUNT(*)
----------
1350
10:50:46 SQL> select count(*) from DIVS_ADM.EMP_2;

COUNT(*)
----------
1350
10:51:22 SQL> select count(*) from DIVS_ADM.DEPT_2;

COUNT(*)
----------
1080
10:52:33 SQL> select group#,sequence#,status from
v$log;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
1 0 UNSUSED
2 1 CURRENT
3 0 UNUSED

Das könnte Ihnen auch gefallen