Olá,
Isso já aconteceu aqui no meu trabalho um dia no passado e ficamos em dúvida de como proceder para voltar os dados.
Acontece que tinhamos um backup diário do RMAN full e 09:00 da manhã um tablespace foi criado pela equipe de banco de dados, porém em um caminho indevido, quando foi por volta do 12:00 o nosso administrador de Sistema operacional deu um “rm” no datafile que achou estar perdido fora da pasta onde os outros arquivo estavam.
Vou tentar ilustrar o mesmo cenário e claro mostrar que não há com que se preocupar se o seu banco de dados está em modo archivelog, o problema é bem menor do que parece.
Meu banco está no windows e em archivelog, logo, para remover o arquivo eu vou obrigatóriamente ter que parar o banco todo para ilustrar o que aconteceu no Unix.
1) Schema do meu banco de dados (RMAN> report schema;)
Até o momento não tenho backup do meu banco de dados, o mesmo acabou de ser disparado por mim como mostrado na figura 2.
2) Verificação de Backup (RMAN> list backup;) e backup do banco (RMAN> backup as backupset database;)
Depois de ter feito um backup eu criei uma nova tablespace para realizar alguns testes, e ela não está inclusa no meu backupset, isso é óbvio, espero.
3) Criação das tablespaces
Dei um “shutdown abort” no banco e removi manualmente pelo Sistema Operacional o datafile dessa tablespace que acabei de criar e que ainda não estava no meu backupset. Quando tento subir o banco novamente, dá erro pois o dbwr não encontra o arquivo.
4) Tentativa de subir o banco de dados
Agora a mágica…
Mesmo sem estar contido no meu conjunto de backups o Rman conseguiu restaurar o datafile e recuperar a tablespace e abrir o banco, e porque ele conseguiu fazer isso?
Simples! Porque quando eu criei a tablespace isso ficou lá no meu redolog. Isso também resolveria para tabelas, índices e etc. Até aí nenhuma novidade, o que é novidade nisso, é que em versões anteriores ao 10g, o DBA tinha que manualmente criar um arquivo vazio com um programas como (touch, vi, Edit e etc) no sistema operacional e depois fazer o processo com o RMAN.
A Oracle sempre ajuda os DBA’s a cada versão.