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