Erro ao criar controlfile no duplicate – perdi tudo?

By Mario Barduchi

Fala pessoal.
Uma dica rápida mas que pode ajudar no momento de necessidade.
Hoje estava fazendo um duplicate de uma base em RAC e por um descuido da minha parte o parâmetro “cluster_database” ficou setado com TRUE.
Como todos sabem durante o processo de duplicate deixamos esse parâmetro como FALSE.
Enfim, ao final do processo – era uma base de 5T então foi um processo bem demorado, eu tomei o erro abaixo no momento do CREATE CONTROLFILE:
released channel: aux1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 10/08/2017 13:04:28
RMAN-05501: aborting duplication of target database
RMAN-06136: ORACLE error from auxiliary database: ORA-01503: CREATE CONTROLFILE failed
ORA-12720: operation requires database is in EXCLUSIVE mode
Obviamente não poderia perder todo o meu trabalho até porque tinha prazo para entrega da base.
Verifiquei nos logs que o Restore e Recover estavam completos e que só faltava os direcionamentos do clone para o novo controlfile.
Na realidade, a sequência que faltava era a partir desse ponto abaixo:
contents of Memory Script:
{
set newname for tempfile 1 to
‘+ASMDATA01’;
set newname for tempfile 2 to
‘+ASMDATA01’;
set newname for tempfile 3 to
‘+ASMDATA01’;
set newname for tempfile 4 to
‘+ASMDATA01’;
set newname for tempfile 5 to
‘+ASMDATA01’;
set newname for tempfile 6 to
‘+ASMDATA01’;
switch clone tempfile all;
catalog clone datafilecopy
Fiz umas pesquisas no MOS e a partir desse ponto verifiquei que seria apenas recriado o controlfile, catalogado os datafiles e feito o switch final.
Deu um pouco de trabalho no início, listei os datafiles nos DISKGROUP’s e depois apenas recriei o controlfile e abri a base.
Nesse momento, como diz meu amigo Ricardo Portilho, não existe DBA Ateu ahahahahhahaha…
Mas também lembrei dele quando demorou para o comando ser completado e como ele sempre diz “Se demorou deve estar certo…”.
A criação foi normal com: CREATE CONTROLFILE SET DATABASE ‘MV0610’ RESETLOGS ARCHIVELOG…
Então fica a dica, caso tome um erro nesso ponto do duplicate, o trabalho não está perdido.
Abraço
Mario

Fonte: ORADICAS – Mario Barduchi