Oracle
 sql >> Base de données >  >> RDS >> Oracle

C'est dans les détails

J'ai une base de données Oracle 12.1.0.2 Multitenant dont j'essaie de supprimer un PDB. Cependant, j'ai supprimé par erreur le stockage du serveur de base de données et la PDB ne peut pas accéder à ses fichiers. Lors du débranchement de la PDB, j'obtiens l'erreur suivante :

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'

Eh bien, c'est malheureux, mais il fallait s'y attendre dans mon cas. J'ai retiré par erreur le stockage de ce PDB avant de le débrancher. La plupart de la littérature sur le site de support d'Oracle indique de restaurer la PDB à partir de votre sauvegarde. Mais ce PDB est un clone de production et je ne me soucie pas de le sauvegarder. C'est 25 + To et si quelque chose ne va pas, je supprime le PDB et crée un nouveau clone de production. Aucune sauvegarde n'est nécessaire, sauf peut-être pour me sauver de mon erreur stupide de supprimer le stockage avant de le débrancher.

Comme je ne pouvais pas débrancher l'APB, j'ai essayé de simplement supprimer l'APB mais j'obtiens une erreur différente :

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

Maintenant, j'ai l'impression d'être dans une situation de catch-22. Je ne peux pas débrancher le PDB ni le laisser tomber.

J'ai vu cette erreur à plusieurs reprises et j'ai toujours souhaité pouvoir simplement supprimer l'APB sans avoir à le débrancher au préalable. Je n'ai aucune envie de le brancher sur un autre CDB. Je veux juste que ça parte pour de bon. Et c'est là que j'ai réalisé que c'était dans les détails. Quand j'ai lu ce message d'erreur ORA-65179, je me suis concentré sur la dernière partie de celui-ci. Le PDB n'est pas débranché en premier. J'ai lu ce message d'erreur au moins 20 fois dans mon travail avec Multitenant et j'ai raté le détail critique qui m'a empêché de supprimer l'APB que je vais maintenant souligner ci-dessous.

ORA-65179 :ne peut pas garder fichiers de données pour une base de données enfichable qui n'est pas débranchée

Le détail que je n'arrête pas de sauter est que je ne peux pas GARDER les fichiers de données. Cela signifie-t-il que je peux supprimer l'APB si je supprime également les fichiers de données ?

SQL> drop pluggable database GOLD2019_08_22_125953 including datafiles;

 Pluggable database dropped. 

Effectivement, je pourrais facilement laisser tomber l'APB. Parfois, les choses les plus intéressantes se trouvent dans les détails si nous ralentissons un peu et veillons à tout voir devant nous au lieu de sauter à la fin.