Recuperar banco de dados é uma parte importante da administração do banco de dados Oracle. Aqui neste post, vou tentar cobrir o cenário sobre como recuperar banco de dados usando o RMAN
Caso 1:Perda de um arquivo de dados
Muitas vezes temos o cenário em que perdemos o arquivo de dados por causa de uma falha no disco rígido e conseguimos restaurar o arquivo de dados para corrigir as coisas.
Aqui neste post, eu estaria explicando para realizar isso
Tomemos um exemplo para explicá-lo
Temos uma tabela emp_master no banco de dados
- Conte as linhas
SQL> SELECT COUNT(*) FROM emp_master; -- 100 rows
2) Remova o arquivo de dados do sistema de arquivos
3) Tente fazer a contagem novamente
SELECT COUNT(*) FROM emp_master; SELECT COUNT(*) FROM emp_master; SELECT COUNT(*) FROM emp_master * ERROR at line 1: ORA-01116: error in opening database file 50 ORA-01110: data file 50: '/oradata/TEST/test_tools1.dbf' ORA-27041: unable to open file
4) Para fazer a recuperação, deixe o arquivo de dados offline e depois restaure-o e recupere-o novamente e torne-o online
$
run {
allocate channel t1 type 'SBT_TAPE'
sql 'alter database datafile 50 offline';
restore datafile 50;
recover datafile 50;
sql 'alter database datafile 50 online';
}
SQL> SELECT COUNT(*) FROM emp_master;
Caso 2:Perda de um tablespace
Novamente, se perdemos o tablespace TOOLS inteiro, a instrução RMAN seria diferente
run {
allocate channel t1 type 'SBT_TAPE'
sql 'alter tablespace TOOLS offline';
restore tablespace TOOLS;
recover tablespace TOOLS;
sql 'alter tablespace TOOLS online';
}
Caso 3:Perda de todos os arquivos de dados, exceto arquivo de controle e redo logs
run {
startup mount
allocate channel t1 type 'SBT_TAPE'
restore database;
recover database;
sql 'alter database open';
}
Artigos relacionados
Como criar o catálogo de recuperação do RMAN e registrar o banco de dados no catálogo
Comandos de backup do RMAN
Comandos de backup da lista RMAN
Oracle Recovery Manager:folha de dicas do RMAN