Deletou ??? O /proc ajuda

Neste post, demonstro como é possível recuperar um datafile que tenha sido exlcuído do filesystem. Esta técnica é aplicada apenas em ambiente Linux e para tal funcionar existem as seguintes condições, big ifs :

  1. Se a base de daos não tiver sido reiniciada.
  2. Se o servidor não tiver sido reiniciado.
  3. Se o datafile não tiver o status de offline antes do ocorrido.

Preparação: criação de um tablespace e simular o problema, no caso com o rm.

Processo de recuperação:

Os processos background (PMON, DBWR, SMON etc) tem acesso a todos os files abertos pela instância Oracle, portanto, quando se faz um lsof pelo PID de um dos processos background iremos obter o descritor do datafile que foi apagado.

Para lembrar, neste caso em que o datafile foi apagado, a única coisa que é excluído é o descritor o mesmo ainda permanece no disco, e o mesmo poderá ser sobre-escrito, por isso é importante que ação seja logo após ao “problema”. Isso também explica o porquê que a instância nem a maquina pode ser reiniciada (perde o endereço do descritor).

Este processo tb pode ser utilizado para recuperar redo logs e outros arquivos associados a instância.

Tablespace operacional :):):):)

Pelo menos para este tipo de situação, o Murphy irá chupar dedo!!!

Saudações Vascaínas…