A gente só espera que o pessoalzinho aí tenha aprendido a lição, que a perda 
dos dados que estavam no datafile corrompido/perdido sirva de lição pra turma...
  Bom, sobre o procedimento : supondo sempre que a instância em questão já 
consegue enxergar/acessar os diskgroups em questão, se os tamanhos envolvidos 
permitirem, uma outra opção seria se fazer a transferência dos datafiles (afora 
os da tablespace SYSTEM) online - simplesmente pede-se um ALTER TABLESPACE nnn 
OFFLINE, copia via RMAN o datafile para o ASM via  copy datafile 
'/pathcompleto/nomedodatafile.dbf' to '+DGEMQUESTÃO, e depois voltar a 
tablespace online e remover o datafile no filesystem - iirc o copy do RMAN já 
atualiza o dicionário e o controlfile, não é necessário se fazer manualmente um 
ALTER DATABASE RENAME DATAFILE ... Isso para cada tablespace .... Depois o que 
se faria é uma SALVAGEM dos dados que estão nessa tablespace manca, criando-se 
uma nova tablespace no ASM e fazendo-se exp/imp ou INSERT /*+ APPEND */ dos 
dados para a nova tablespace mas com um WHERE que evite acesso aos dados que 
estavam no datafile perdido, e finalmente o DROP dessa tablespace corrupta..... 
   O procedimento acima em tese teria a vantagem de ter menos tempo de 
indisponibilidade total (só para mover para o ASM os datafiles da tablespace 
SYSTEM é que vc vai ficar indisponível) , mas é Claro que certamente vc pode 
fazer com um backup as copy já apontando para o ASM, sim.... 
  Eu olhei bem por cima os comandos, rapidamente, mas a sintaxe e a ordem 
parecem estar corretas, sim ....
 

  []s
  
    Chiappa
    
 ===> OBS : Só lembro que, NECESSARIAMENTE, quando vc removeu o datafile X 
corrompido do controlfile, ele AINDA vai estar referenciado no DICIONÁRIO - 
veja que não é só no controlfile que há referências aos datafiles, lembre-se 
que na DBA_SEGMENTS certamente ainda vão haver segmentos apontando para o 
FILE_ID tal do datafile inexistente, na DBA_EXTENTS idem, ** Vão haver ROWIDs 
** que apontam para um extent e um bloco que estavam nesse datafile sumido.... 
OU SEJA, não basta só "remover" o datafile sumido do controlfile, vc TEM que 
remover os dados/segmentos/extents que estavam nesse arquivo perdido, yep ??

Responder a