¿Cómo eliminar una base de datos Oracle con drop database?

drop-database

Es realmente rara la vez que se solicita eliminar una BD, sin embargo, nosotros como DBA debemos saber cómo realizar esta actividad.

Debemos tener presente que hay varias formas de eliminar una base de datos:

  • SQL*PLUS
  • RMAN
  • dbca

Hoy veremos la manera de eliminar una base de datos a través de SQL*PLUS, con la sentencia drop database

SQL*PLUS

Al principio, validamos las instancias que tenemos arriba

[oracle@soyundba ~]$ ps -efl | grep smon
0 S oracle    2878     1  0  80   0 - 649978 SYSC_s 21:14 ?       00:00:00 ora_smon_soyundba
0 S oracle    2962  2816  0  80   0 - 25848 pipe_w 21:24 pts/1    00:00:00 grep smon

Como podemos observar, tenemos la instancia llamada soyundba, teniendo en cuenta que ya debemos tener configuradas nuestras variables de entorno desde el .bash_profile

SQL> SET LINES 200
COL NAME FOR A24
COL VALUE FOR A55
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME LIKE '%dump%dest%' OR NAME LIKE '%audit%dest%';

NAME                     VALUE
------------------------ -------------------------------------------------------
background_dump_dest     /oracle/app/oracle/diag/rdbms/soyundba/soyundba/trace
user_dump_dest           /oracle/app/oracle/diag/rdbms/soyundba/soyundba/trace
core_dump_dest           /oracle/app/oracle/diag/rdbms/soyundba/soyundba/cdump
audit_file_dest          /oracle/app/oracle/admin/soyundba/adump

Mientras tanto con esto podremos obtener los directorios importantes y los cuales deberemos eliminar manualmente:

  • /oracle/app/oracle/diag/rdbms/soyundba/
  • /oracle/app/oracle/admin/soyundba/

A partir de este momento comienza lo divertido, procedemos a bajar la base de datos

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

Realizaremos el levantado de la base de datos en modo exclusive restrict

SQL> startup mount exclusive restrict
ORACLE instance started.

Total System Global Area 2405122048 bytes
Fixed Size                  2255592 bytes
Variable Size             603981080 bytes
Database Buffers         1778384896 bytes
Redo Buffers               20500480 bytes
Database mounted.

SQL> select instance_name,status,logins from v$Instance;

INSTANCE_NAME    STATUS       LOGINS
---------------- ------------ ----------
soyundba         MOUNTED      RESTRICTED

Finalmente, con la sentencia drop database realizaremos la eliminación de nuestra base de datos, este tardará un tiempo dependiendo del tamaño

SQL> drop database;

Database dropped.

Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

Sin embargo, aquí no hemos terminado, pues con la consulta anterior de los archivos, debemos ir a eliminar aquellos archivos físicos de nuestra base de datos (control file, redo logs, spfile, etc.). También como los backups y archive logs

[oracle@soyundba ~]$ rm -rf /oracle/app/oracle/diag/rdbms/soyundba/
[oracle@soyundba ~]$ rm -rf /oracle/app/oracle/admin/soyundba/
[oracle@soyundba ~]$ rm -rf /oracle/app/oracle/product/11.2.0/db/dbs/*soyundba*
[oracle@soyundba ~]$ rm -rf /backup/soyundba/
[oracle@soyundba ~]$ rm -rf /arclog/soyundba/

Así mismo, debemos realizar la eliminación del archivo /etc/oratab

[oracle@soyundba ~]$ grep soyundba /etc/oratab
soyundba:/oracle/app/oracle/product/11.2.0/db:Y
[oracle@soyundba ~]$ grep -v soyundba /etc/oratab > /tmp/oratab
[oracle@soyundba ~]$ cat /tmp/oratab > /etc/oratab
[oracle@soyundba ~]$ grep soyundba /etc/oratab

Ahora si, finalmente hemos realizado la eliminación de nuestra base de datos.

Adicional, dado el caso que sea necesario, de esta manera se puede eliminar una pluggable database

https://soyundba.com/2022/09/14/como-borrar-una-base-de-datos-oracle-pluggable/
 

Acerca de JulianOrtiz0506

Soy administrador de bases de datos y desarrollador web, desde mis inicios en el mundo de la informática, he implementando proyectos personales y empresariales. Por consiguiente esto me ha permitido contar con una amplia calificación y destreza sobre mis áreas de conocimiento. Sobre todo suelo estar en constante aprendizaje, diariamente me estoy informando sobre nuevas tecnologías. Ya queme gusta estar actualizado en la tecnología de punta para todas las plataformas que me apasionan y con las cuales trabajo día a día.

Ver todas las entradas de JulianOrtiz0506 →

Deja una respuesta

Tu dirección de correo electrónico no será publicada.