Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Está nos detalhes


Eu tenho um banco de dados Oracle 12.1.0.2 Multitenant do qual estou tentando remover um PDB. No entanto, removi por engano o armazenamento do servidor de banco de dados e o PDB não pode acessar seus arquivos. Ao desconectar o PDB, recebo o seguinte erro:
SQL> alter pluggable database GOLD2019_08_22_125953 unplug into '/tmp/GOLD2019_08_22_125953.xml';
alter pluggable database GOLD2019_08_22_125953 unplug into '/tmp/GOLD2019_08_22_125953.xml'
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 50277 - see DBWR trace file
ORA-01110: data file 50277:
'/u01/app/oracle/oradata/mt_golden_2019_08_22_125953/data03/datafile_20.dbf'

Bem, isso é lamentável, mas esperado no meu caso. Por engano, retirei o armazenamento para este PDB antes de desconectá-lo. A maior parte da literatura no site de suporte da Oracle diz para restaurar o PDB do seu backup. Mas este PDB é um clone de produção e não me interessa fazer backup dele. São 25+TB e se algo der errado com ele, removo o PDB e crio um novo clone de produção. Nenhum backup é necessário, exceto para me salvar do meu erro bobo de remover o armazenamento antes de desconectar.

Como não consegui desconectar o PDB, tentei apenas descartar o PDB, mas recebo um erro diferente:
SQL> drop pluggable database GOLD2019_08_22_125953 keep datafiles;
drop pluggable database GOLD2019_08_22_125953 keep datafiles
*
ERROR at line 1:
ORA-65179: cannot keep datafiles for a pluggable database that is not unplugged

Agora me sinto como se estivesse em uma situação de Catch-22. Não consigo desconectar o PDB nem derrubá-lo.

Eu vi esse erro em muitas ocasiões e sempre desejei poder simplesmente descartar o PDB sem ter que desconectá-lo primeiro. Não tenho vontade de conectar isso em outro CDB. Eu só quero que a coisa se vá para sempre. E foi aí que percebi que está nos detalhes. Quando li a mensagem de erro ORA-65179, concentrei-me na última parte dela. O PDB não é desconectado primeiro. Li essa mensagem de erro pelo menos 20 vezes em meu trabalho com o Multitenant e perdi o detalhe crítico que me impediu de descartar o PDB, que agora destacarei abaixo.

ORA-65179:não pode manter arquivos de dados para um banco de dados conectável que não está desconectado

O detalhe que continuo pulando é que não consegui MANTER os arquivos de dados. Isso significa que posso descartar o PDB se também remover os arquivos de dados?

SQL> drop pluggable database GOLD2019_08_22_125953 including datafiles;

 Pluggable database dropped. 

Com certeza, eu poderia facilmente abandonar o PDB. Às vezes, as coisas mais interessantes são encontradas nos detalhes se desacelerarmos um pouco e nos certificarmos de ver tudo à nossa frente, em vez de pular para o fim.