sql >> Base de Datos >  >> RDS >> Oracle

Está en los detalles

Tengo una base de datos Oracle 12.1.0.2 Multitenant de la que estoy tratando de eliminar una PDB. Sin embargo, eliminé por error el almacenamiento del servidor de la base de datos y la PDB no puede acceder a sus archivos. Al desconectar la PDB, aparece el siguiente error:

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'

Bueno, eso es desafortunado, pero era de esperar en mi caso. Saqué por error el almacenamiento de esta PDB antes de desconectarla. La mayor parte de la literatura en el sitio de soporte de Oracle dice restaurar la PDB desde su copia de seguridad. Pero este PDB es un clon de producción y no me interesa respaldarlo. Tiene más de 25 TB y si algo sale mal, elimino el PDB y creo un nuevo clon de producción. No se necesita una copia de seguridad, excepto para salvarme de mi tonto error de eliminar el almacenamiento antes de desconectar.

Como no pude desconectar la PDB, intenté simplemente soltar la PDB, pero aparece un error 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

Ahora siento que estoy en una situación Catch-22. No puedo desconectar el PDB ni puedo soltarlo.

He visto este error en muchas ocasiones y siempre deseé poder soltar el PDB sin tener que desconectarlo primero. No tengo ningún deseo de conectar esto a otro CDB. Solo quiero que la cosa desaparezca para siempre. Y fue entonces cuando me di cuenta de que está en los detalles. Cuando leí ese mensaje de error ORA-65179, me concentré en la última parte. El PDB no se desconecta primero. He leído este mensaje de error al menos 20 veces en mi trabajo con Multitenant y me perdí el detalle crítico que me impidió eliminar el PDB que ahora resaltaré a continuación.

ORA-65179:no se puede mantener archivos de datos para una base de datos conectable que no está desconectada

El detalle que sigo omitiendo es que no pude MANTENER los archivos de datos. ¿Significa eso que puedo eliminar la PDB si también elimino los archivos de datos?

SQL> drop pluggable database GOLD2019_08_22_125953 including datafiles;

 Pluggable database dropped. 

Efectivamente, podría dejar caer fácilmente el PDB. A veces, las cosas más interesantes se encuentran en los detalles si nos detenemos un poco y nos aseguramos de ver todo lo que tenemos delante en lugar de saltar hasta el final.