-
Acerca de Oracle Database
-
Lista de comprobación previa al descarte: salvaguardias críticas
-
Comando DROP DATABASE
-
¿Cómo eliminar una base de datos Oracle completa?
-
Tareas de limpieza posteriores a la eliminación
-
¿Cómo eliminar una base de datos Oracle, incluidos los archivos de datos?
-
¿Cuál es la diferencia entre DROP y DELETE en una base de datos Oracle?
-
Haga una copia de seguridad de su base de datos Oracle antes de eliminarla
-
Preguntas frecuentes sobre la eliminación de una base de datos Oracle
-
Conclusión
Acerca de Oracle Database
Oracle Database es uno de los sistemas de gestión de bases de datos relacionales (SGBDR) más populares del mundo. Almacena información crítica para las aplicaciones, desde sitios web pequeños hasta sistemas empresariales globales. En su núcleo, Oracle organiza los datos en tablespaces gestionados por varios componentes clave:
Archivos de datos almacenan los datos del usuario y del sistema.
Archivos de control: supervisan la estructura y el estado de la base de datos.
Archivos de registro de rehacer: registran los cambios con fines de recuperación.
Archivos de parámetros (
spfileopfile) contienen la configuración.Archivos temporales: admiten los espacios de tablas temporales utilizados en la clasificación o combinación de conjuntos de datos grandes.
Archivos de contraseñas: gestionan la autenticación de los usuarios con privilegios.
Comprender estos componentes es importante porque eliminar una base de datos suprime casi todos ellos de forma permanente. Por ejemplo, al ejecutar DROP DATABASE, se eliminan todos los archivos de datos asociados, los archivos de control, los registros de rehacer (redo logs), los archivos temporales (tempfiles) enumerados en los archivos de control e incluso los archivos de parámetros, si son referenciados por la instancia. Sin embargo, algunos elementos, como los archivos de contraseñas o los directorios creados manualmente, pueden permanecer a menos que se eliminen por separado.
También es importante conocer las distintas arquitecturas de las versiones modernas de Oracle:
En configuraciones tradicionales (anteriores a la versión 12c), cada instancia gestiona una única base de datos.
En la arquitectura multitenant (a partir de la versión 12c), una base de datos contenedora (CDB) puede alojar varias bases de datos inyectables (PDB). Eliminar una CDB suprime todas las PDB que contiene; eliminar una PDB afecta únicamente a esa unidad inyectable.
Antes de realizar cualquier acción destructiva, como eliminar una base de datos o un PDB, revise siempre qué componentes se verán afectados y asegúrese de que existan copias de seguridad.
Lista de comprobación previa al descarte: salvaguardias críticas
Antes de eliminar cualquier base de datos Oracle, incluso en entornos de prueba, vale la pena verificar nuevamente su preparación. Unos minutos invertidos aquí pueden evitar horas de arrepentimiento después.
Primero: verifique que existan copias de seguridad recientes fuera de su servidor de producción. Utilice la función de validación de RMAN (VALIDATE BACKUP) para confirmar la integridad de las copias de seguridad; ¡no se base únicamente en suposiciones! A continuación: identifique las dependencias enumerando las aplicaciones conectadas a esta base de datos —por ejemplo, herramientas de generación de informes o trabajos programados— y notifique a las partes interesadas sobre la interrupción programada.
Compruebe las sesiones activas mediante:
SELECT sid, serial# FROM v$session WHERE tipo != 'BACKGROUND';
Esto garantiza que ningún usuario siga conectado durante la eliminación.
Si está recuperando espacio de almacenamiento tras una eliminación o planea la desactivación de un servidor, calcule el uso total del espacio con:
SELECT SUM(bytes)/1024/1024 AS SIZE_MB FROM dba_data_files;
Por último: revise los enlaces externos (SELECT * FROM DBA_DB_LINKS;) para evitar dejar conexiones rotas en otras partes de su entorno.
Comando DROP DATABASE
El comando DROP DATABASE es el método oficial de Oracle para eliminar una base de datos completa, incluyendo sus estructuras de almacenamiento físico, del disco. Introducido en la versión 10g, este comando automatiza lo que antes eran eliminaciones manuales de archivos arriesgadas.
Debe tener privilegios SYSDBA para ejecutar este comando correctamente. El proceso requiere acceso exclusivo: ningún otro usuario puede conectarse mientras se ejecuta. Por eso debe cerrar primero la base de datos y montarla en modo restringido, una medida de seguridad que evita eliminaciones accidentales durante las operaciones normales.
Cuando se ejecuta correctamente:
Todos los archivos de datos enumerados en los archivos de control se eliminan
Los propios archivos de control se eliminan
Los archivos de registro redo en línea desaparecen
El archivo de parámetros del servidor (
spfile) también va incluidoSin embargo:Los archivos de contraseñas suelen permanecer en el disco; es necesario eliminarlos manualmente
Los registros de auditoría almacenados fuera de los directorios estándar no se modifican
Los archivos de configuración de red, como
listener.oraotnsnames.ora, permanecen intactos
Para bases de datos que utilizan ASM (Administración Automática de Almacenamiento), los archivos de datos gestionados por ASM se eliminan automáticamente, pero es posible que los directorios no específicos de la base de datos requieran atención manual posteriormente.
Recuerde: ¡una vez eliminado mediante este método, no hay forma de deshacer la acción! Solo las copias de seguridad válidas permiten la recuperación tras la eliminación.
¿Cómo eliminar una base de datos Oracle completa?
Eliminar una base de datos Oracle completa implica varios pasos cuidadosos, diseñados tanto para garantizar la seguridad como para cumplir con las mejores prácticas en todos los niveles de experiencia:
Primero: ¡siempre asegúrese de tener copias de seguridad actualizadas almacenadas fuera del sitio o en soportes seguros antes de continuar!
Paso 1: Establecer las variables de entorno
En sistemas Linux/UNIX, establezca ORACLE_SID para que los comandos apunten a la instancia correcta:
export ORACLE_SID=your_database_sid
En Windows, utilice:
SET ORACLE_SID=your_database_sid
Sustituya your_database_sid por el valor real de su SID, que encontrará en las configuraciones de tnsnames o del listener.
Paso 2: Conéctese como SYSDBA
Abrir una ventana de terminal y luego conectarse mediante SQL*Plus:
sqlplus / as sysdba
Paso 3: Apagar la base de datos
Cierre todas las conexiones de forma ordenada para que no se pierdan transacciones:
APAGADO INMEDIATO;
¡Espere hasta que finalice el apagado antes de continuar!
Paso 4: Montar de forma exclusiva con acceso restringido
Vuelva a iniciar, pero solo monte—sin abrir—la base de datos, de modo que únicamente las sesiones con privilegios puedan conectarse:
STARTUP MONTAR RESTRINGIDO;
En entornos de instancia única se implica el modo EXCLUSIVO; si trabaja con RAC, primero desactive el modo de clúster (ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=SPFILE;). Siempre compruebe el estado después de montar:
SELECT estado FROM v$instance; -- Debe devolver 'MOUNTED'
Paso 5: Eliminar la base de datos
Ahora emita el comando irreversible:
ELIMINAR BASE DE DATOS;
Oracle eliminará todos los archivos de datos, archivos de control, registros y archivos de parámetros del servidor (spfile) asociados que estén referenciados en las entradas del archivo de control, y mostrará una confirmación al completarse correctamente (“Base de datos eliminada.”).
Tenga en cuenta que los archivos de contraseñas, que normalmente se encuentran en $ORACLE_HOME/dbs/orapw${ORACLE_SID}, deben eliminarse manualmente si así se desea; lo mismo aplica para los directorios de administración restantes que no están registrados en los metadatos del archivo de control.
Paso 6: Salir de SQL*Plus
Escriba SALIR cuando haya terminado:
EXIT;
Después de estos pasos, su instancia Oracle de destino ha sido eliminada del disco, quedando únicamente las carpetas de configuración, auditoría, contraseñas y administración creadas manualmente, a menos que se eliminen por separado.
Tareas de limpieza posteriores a la eliminación
Incluso después de ejecutar DROP DATABASE, pueden quedar rastros en el disco, especialmente scripts personalizados o artefactos a nivel del sistema operativo que Oracle no gestiona directamente:
1. Eliminar archivos de parámetros
Elimine el archivo spfile/init o pfile, si existe, en
$ORACLE_HOME/dbs/.
rm $ORACLE_HOME/dbs/spfile${ORACLE_SID}.ora
rm $ORACLE_HOME/dbs/init${ORACLE_SID}.ora2. Limpieza de los registros de auditoría
Eliminar el contenido del volcado de auditoría de
$ORACLE_BASE/admin/$ORACLE_SID/adump/.
3. Eliminar archivos de contraseñas
Eliminar manualmente el (los) archivo(s) de contraseña:
rm $ORACLE_HOME/dbs/orapw${ORACLE_SID}4. Actualizar la configuración del agente de escucha
Edite las entradas de
listener.ora/tnsnames.oraque hagan referencia a los SID eliminados para evitar que futuros intentos de conexión fallen inesperadamente.
5. Recuperar espacio en el disco duro
Si se utilizó ASM, verifique el estado del grupo de discos mediante las herramientas ASM; de lo contrario, elimine las carpetas antiguas de administración, registros y archivos según sea necesario.
6. Actualizar inventario
Si desinstala el software de forma completa, ejecute los comandos del instalador para separar el directorio de instalación donde corresponda (
runInstaller -detachHome ORACLE_HOME=$ORACLE_HOME).
¡Estos pasos adicionales ayudan a mantener los servidores ordenados y evitan confusiones en el futuro!
¿Cómo eliminar una base de datos Oracle, incluidos los archivos de datos?
A veces, simplemente eliminar las estructuras principales de la base de datos no es suficiente: también podría desear eliminar los registros archivados y las copias de seguridad (por ejemplo, al retirar hardware). Aquí es donde destaca el Administrador de recuperación (RMAN):
RMAN le permite eliminar tanto las bases de datos como sus copias de seguridad registradas, incluidos los registros archivados que se rastrean dentro de su repositorio:
Paso 1: Conéctese a RMAN como usuario de destino
Abrir la terminal e introducir:
rman TARGET /
Paso 2: Apagar y montar
Dentro del símbolo del sistema de RMAN, escriba:
APAGAR INMEDIATAMENTE; INICIAR EN MODO MONTAJE;
Paso 3: Eliminarlo todo
Para borrar la base de datos y todos los respaldos y registros catalogados:
ELIMINAR BASE DE DATOS INCLUYENDO COPIAS DE SEGURIDAD;
Esta instrucción elimina todo lo registrado en el repositorio de RMAN, incluidos los conjuntos de copias de seguridad, las copias de imagen y los registros de arco almacenados localmente o en la zona de recuperación rápida (FRA), siempre que estén registrados. Verá mensajes que le solicitarán confirmación, a menos que se supriman mediante la opción NOPROMPT (útil únicamente en automatizaciones mediante scripts):
ELIMINAR BASE DE DATOS INCLUYENDO COPIAS DE SEGURIDAD SIN CONFIRMACIÓN;
Nota sobre las copias de seguridad manuales
¡Las copias de seguridad copiadas fuera del seguimiento de RMAN o almacenadas externamente sin estar catalogadas deben eliminarse manualmente después! Asimismo, recuerde que ni SQL*Plus ni RMAN afectan los archivos especiales de dispositivos crudos; gestiónelos a nivel del sistema operativo si es necesario.
Cancelar el registro del catálogo de recuperación
Si utiliza catálogos centrales de recuperación, anule el registro de los metadatos explícitamente tras finalizar la eliminación:
DESGREGAR BASE DE DATOS;
Paso 4: Salir de RMAN
Escriba SALIR cuando haya terminado.
Tras este proceso, ambas estructuras lógicas y los artefactos físicos o basados en copias desaparecen de los discos locales/FRA, siempre que se hayan registrado previamente en RMAN.
¿Cuál es la diferencia entre DROP y DELETE en una base de datos Oracle?
Muchas personas confunden «DROP» con «DELETE», ¡pero significan cosas muy distintas dentro de los entornos Oracle!
| Command | Scope | Reversibility | Example |
|---|---|---|---|
| DROP DATABASE | Entire DB | No | DROP DATABASE; |
| DROP TABLE | Single Table | No | DROP TABLE employees; |
| DELETE | Rows In Table | Yes | DELETE FROM orders WHERE order_id=12345; |
| TRUNCATE | All Rows/Table | No | TRUNCATE TABLE logs; |
Utilice DROP DATABASE únicamente al eliminar instancias completas de forma permanente: ¡esto borra todo, incluidas la estructura, los datos y los punteros de configuración! Utilice DELETE para borrar filas específicas manteniendo intactas las definiciones de las tablas, o bien use TRUNCATE para eliminar rápidamente grandes volúmenes de filas sin registrar cada eliminación individual.
Haga una copia de seguridad de su base de datos Oracle antes de eliminarla
Antes de realizar cualquier paso irreversible, como eliminar por completo una base de datos, es fundamental contar con una protección de copia de seguridad robusta, lo que nos lleva a una suite profesional de soluciones de copia de seguridad y recuperación diseñada específicamente para las necesidades empresariales, tanto en entornos virtuales como físicos.
Vinchin Backup y Recuperación ofrece capacidades profesionales de copia de seguridad que admiten prácticamente todas las bases de datos más utilizadas en la actualidad, incluidas Oracle, MySQL, SQL Server, MariaDB, PostgreSQL y PostgresPro.
Para proteger la base de datos, ofrece funciones completas más allá de las rutinas simples de copia de seguridad:
Ofrece integración con copias de seguridad en la nube y archivado en cinta para necesidades de retención a largo plazo;
Ofrece opciones de copia de seguridad completa e incremental, y sus tecnologías integradas de compresión y desduplicación ayudan a maximizar la eficiencia y minimizar los costos de almacenamiento.
Ofrece protección contra ransomware que protege los activos críticos frente a amenazas cibernéticas, mientras que los flujos de trabajo de restauración incluyen opciones de recuperación en servidores nuevos.
Ofrece funciones únicas, como el seguimiento de cambios de bloques (BCT), y omite de forma inteligente los archivos accesibles o desconectados, lo que mejora especialmente la fiabilidad en despliegues complejos, como los que ejecutan bases de datos Oracle.
Gestionar las políticas de protección mediante la intuitiva consola web de Vinchin requiere tan solo cuatro pasos simplificados:
1. Seleccione las bases de datos de origen,

2. Seleccione los destinos de almacenamiento.

3. Configure estrategias de copia de seguridad,

4. Envíe el trabajo.

Únase a miles de clientes satisfechos en todo el mundo que confían diariamente en las soluciones de Vinchin, altamente valoradas: ¡haga clic abajo ahora para comenzar su propia prueba sin riesgos (60 días de acceso).
Preguntas frecuentes sobre la eliminación de una base de datos Oracle
P1: ¿Puedo recuperar una base de datos Oracle después de ejecutar DROP DATABASE?
No; una vez eliminadas, todas las estructuras físicas y lógicas desaparecen para siempre, a menos que exista una copia de seguridad externa válida lista para los procedimientos de restauración.
P2: ¿Necesito detener todas las aplicaciones y usuarios antes de eliminar?
Sí; asegúrese de que cada aplicación o sesión de usuario se desconecte primero; de lo contrario, los errores o advertencias detendrán el progreso en mitad de la operación.
P3: ¿Cómo elimino de forma segura bases de datos basadas en RAC?
Establezca el parámetro CLUSTER_DATABASE en FALSE/monte de forma exclusiva/apague los demás nodos/abra el comando DROP desde el último nodo superviviente.
P4: ¿Mis herramientas de supervisión mostrarán errores después de la interrupción?
Sí, debe eliminar manualmente las referencias o los destinos obsoletos dentro de los paneles de control del OEM o la nube tras el evento de interrupción.
P5: ¿El borrado también elimina las carpetas de billetera/contraseña/auditoría/registro/scripts personalizados?
No; debe eliminarlos manualmente a nivel del sistema operativo, ya que ni SQL*Plus ni RMAN los eliminan automáticamente.
Conclusión
Eliminar una base de datos Oracle es una operación muy potente que borra todos los datos, los archivos de configuración y los registros, dejando sin rastro alguno de la base de datos en su servidor. Tras seguir esta guía, usted ya sabe cómo utilizarla de forma segura independientemente de su nivel de experiencia, y cómo proteger sus datos antes de proceder.
Tanto si acaba de comenzar como si tiene años de experiencia como administrador, para evitar errores costosos más adelante, ¡haga primero una copia de seguridad! Vinchin simplifica y robustece la protección y restauración de bases de datos críticas; ¡no lo dude y pruebe nuestra versión de prueba gratuita hoy mismo!
Compartir en: