Wie lösche ich eine Oracle-Datenbank sicher und entferne alle Datendateien?

Dieser Beitrag beschreibt, wie eine Oracle-Datenbank mithilfe von SQL*Plus und RMAN sicher gelöscht werden kann. Er umfasst sechs wichtige Schritte und enthält Tipps zur Bereinigung nach der Entfernung.

download-icon
Kostenloser Download
für VM, Betriebssystem, DB, Datei, NAS usw.
emma

Updated by Emma on 2026/06/11

Inhaltsverzeichnis
  • Über Oracle Database

  • Checkliste vor dem Löschen: Wichtige Sicherheitsvorkehrungen

  • Befehl DROP DATABASE

  • So löschen Sie eine gesamte Oracle-Datenbank

  • Aufgaben zur Bereinigung nach DROP

  • So löschen Sie eine Oracle-Datenbank inklusive der Datenfiles

  • Was ist der Unterschied zwischen DROP und DELETE in Oracle-Datenbanken?

  • Sichern Sie Ihre Oracle-Datenbank vor dem Löschen

  • Häufig gestellte Fragen zum Löschen einer Oracle-Datenbank

  • Zusammenfassung

Über Oracle Database

Oracle Database ist eines der weltweit beliebtesten relationalen Datenbankverwaltungssysteme (RDBMS). Es speichert geschäftskritische Informationen für Anwendungen – von kleinen Websites bis hin zu globalen Unternehmenssystemen. Im Kern organisiert Oracle Daten in Tablespaces, die von mehreren zentralen Komponenten verwaltet werden:

  • Datendateien speichern Benutzer- und Systemdaten.

  • Steuerverzeichnisse verfolgen die Struktur und den Zustand der Datenbank.

  • Redo-Logdateien protokollieren Änderungen für Wiederherstellungszwecke.

  • Parameterdateien (spfile oder pfile) enthalten Konfigurationseinstellungen.

  • Tempdateien unterstützen temporäre Tabellenräume, die beim Sortieren oder Verknüpfen großer Datensätze verwendet werden.

  • Passwortdateien verwalten die Authentifizierung für privilegierte Benutzer.

Das Verständnis dieser Komponenten ist wichtig, da das Löschen einer Datenbank fast alle davon dauerhaft entfernt. Wenn Sie beispielsweise DROP DATABASE ausführen, werden alle zugehörigen Datenfiles, Kontrolldateien, Redo-Logs und Temporärdateien (die in den Kontrolldateien aufgelistet sind) gelöscht – und sogar Parameterdateien, sofern sie von der Instanz referenziert werden. Einige Elemente wie Kennwortdateien oder manuell erstellte Verzeichnisse bleiben jedoch möglicherweise erhalten, es sei denn, sie werden separat entfernt.

Es ist außerdem wichtig, etwas über verschiedene Architekturen in modernen Oracle-Versionen zu wissen:

  • In herkömmlichen Konfigurationen (vor 12c) verwaltet jede Instanz eine einzige Datenbank.

  • In der Mehrmandantenarchitektur (ab Version 12c) kann eine Container-Datenbank (CDB) mehrere steckbare Datenbanken (PDBs) hosten. Das Löschen einer CDB entfernt alle darin enthaltenen PDBs; das Löschen einer PDB betrifft ausschließlich diese steckbare Einheit.

Bevor Sie eine zerstörerische Aktion wie das Löschen einer Datenbank oder einer PDB durchführen, prüfen Sie stets, welche Komponenten betroffen sein werden – und stellen Sie sicher, dass Sicherungskopien vorhanden sind!

Checkliste vor dem Löschen: Wichtige Sicherheitsvorkehrungen

Bevor Sie eine Oracle-Datenbank – selbst in Testumgebungen – löschen, lohnt es sich, Ihre Vorbereitung noch einmal zu überprüfen. Einige Minuten Aufwand jetzt können später stundenlanges Bedauern verhindern.

Zuerst: Stellen Sie sicher, dass aktuelle Sicherungen außerhalb Ihres Produktionsservers vorhanden sind. Verwenden Sie die Validierungsfunktion von RMAN (VALIDATE BACKUP), um die Integrität der Sicherungen zu bestätigen; verlassen Sie sich nicht allein auf Annahmen! Als Nächstes: Ermitteln Sie Abhängigkeiten, indem Sie alle Anwendungen auflisten, die mit dieser Datenbank verbunden sind – beispielsweise Reporting-Tools oder geplante Jobs –, und informieren Sie die Beteiligten über die geplante Ausfallzeit.

Überprüfen Sie aktive Sitzungen mit:

SELECT sid, serial# FROM v$session WHERE type != 'BACKGROUND';

Dadurch wird sichergestellt, dass während der Entfernung keine Benutzer mehr verbunden sind.

Falls Sie nach einer Löschung Speicherplatz zurückgewinnen oder einen Server außer Betrieb nehmen möchten, berechnen Sie die gesamte Speichernutzung mit:

SELECT SUM(bytes)/1024/1024 AS SIZE_MB FROM dba_data_files;

Schließlich: Überprüfen Sie externe Verbindungen (SELECT * FROM DBA_DB_LINKS;), um sicherzustellen, dass Sie keine fehlerhaften Verbindungen an anderer Stelle in Ihrer Umgebung hinterlassen.

Befehl DROP DATABASE

Der Befehl DROP DATABASE ist Oracles offizielle Methode, eine gesamte Datenbank, einschließlich ihrer physischen Speicherstrukturen, von der Festplatte zu löschen. Dieser ab Version 10g eingeführte Befehl automatisiert früher risikoreiche manuelle Dateilöschungen.

Sie benötigen SYSDBA-Berechtigungen, um diesen Befehl erfolgreich auszuführen. Der Vorgang erfordert exklusiven Zugriff: Während seiner Ausführung darf sich kein anderer Benutzer verbinden. Daher müssen Sie die Datenbank zunächst schließen und sie im eingeschränkten Modus einhängen – eine Sicherheitsmaßnahme, die versehentliche Löschvorgänge während des normalen Betriebs verhindert.

Wenn ordnungsgemäß ausgeführt:

  • Alle in den Kontrolldateien aufgeführten Datenbankdateien werden gelöscht

  • Steuerverzeichnisdateien werden selbst entfernt

  • Online-Redo-Log-Dateien verschwinden

  • Die Serverparameterdatei (spfile) wird ebenfalls übertragen.

Jedoch:

  • Passwortdateien verbleiben oft auf der Festplatte, sie erfordern eine manuelle Bereinigung

  • Prüfspuren, die außerhalb der Standardverzeichnisse gespeichert sind, bleiben unverändert

  • Netzwerkkonfigurationsdateien wie listener.ora oder tnsnames.ora bleiben unverändert

Für Datenbanken, die ASM (Automatic Storage Management) verwenden, werden von ASM verwaltete Datafiles automatisch gelöscht – nicht datenbankspezifische Verzeichnisse erfordern jedoch möglicherweise manuelle Nacharbeit.

Beachten Sie: Sobald ein Element auf diesem Weg gelöscht wurde, ist kein Rückgängigmachen mehr möglich! Nur gültige Sicherungen ermöglichen eine Wiederherstellung nach der Löschung.

So löschen Sie eine gesamte Oracle-Datenbank

Das Löschen einer gesamten Oracle-Datenbank umfasst mehrere sorgfältige Schritte, die sowohl der Sicherheit als auch den bewährten Methoden auf allen Erfahrungsstufen Rechnung tragen:

Zuerst – stellen Sie stets sicher, dass Sie aktuelle Sicherungskopien an einem externen Standort oder auf sicheren Datenträgern gespeichert haben, bevor Sie fortfahren!

Schritt 1: Umgebungsvariablen festlegen

Auf Linux-/UNIX-Systemen ORACLE_SID so festlegen, dass Befehle die richtige Instanz ansprechen:

export ORACLE_SID=your_database_sid

Unter Windows verwenden Sie:

SET ORACLE_SID=your_database_sid

Ersetzen Sie your_database_sid durch den tatsächlichen SID-Wert, der in den tnsnames- oder Listener-Konfigurationen angegeben ist.

Schritt 2: Verbindung als SYSDBA herstellen

Öffnen Sie ein Terminalfenster und stellen Sie dann eine Verbindung mit SQL*Plus her:

sqlplus / as sysdba

Schritt 3: Datenbank herunterfahren

Schließen Sie alle Verbindungen ordnungsgemäß, um sicherzustellen, dass keine Transaktionen verloren gehen:

SHUTDOWN IMMEDIATE;

Warten Sie, bis der Herunterfahren-Vorgang abgeschlossen ist, bevor Sie fortfahren!

Schritt 4: Exklusives Einhängen mit eingeschränktem Zugriff

Starten Sie erneut, aber mounten Sie die Datenbank—öffnen Sie sie nicht—, sodass nur privilegierte Sitzungen eine Verbindung herstellen können:

STARTUP MOUNT RESTRICT;

In Einzelinstanz-Umgebungen ist der EXCLUSIVE-Modus implizit; bei Verwendung von RAC muss zunächst der Cluster-Modus deaktiviert werden (ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=SPFILE;). Überprüfen Sie nach dem Mounten stets den Status:

SELECT status FROM v$instance;
-- Sollte „MOUNTED“ zurückgeben

Schritt 5: Datenbank löschen

Geben Sie nun den irreversiblen Befehl aus:

DROP DATABASE;

Oracle entfernt alle zugehörigen Datenbankdateien, Steuerdateien, Protokolldateien und die Serverparameterdatei (SPFILE), auf die in den Einträgen der Steuerdatei verwiesen wird – und zeigt bei Erfolg eine Bestätigung an („Datenbank gelöscht.“).

Beachten Sie, dass Passwortdateien, die sich in der Regel unter $ORACLE_HOME/dbs/orapw${ORACLE_SID} befinden, bei Bedarf manuell gelöscht werden müssen; dasselbe gilt für verbliebene Administrationsverzeichnisse, die nicht durch Metadaten der Kontrolldatei verfolgt werden.

Schritt 6: Beenden von SQL*Plus

Geben Sie BEENDEN ein, wenn Sie fertig sind:

EXIT;

Nach diesen Schritten wurde Ihre Ziel-Oracle-Instanz von der Festplatte gelöscht – es verbleiben lediglich manuell erstellte Ordner für Konfiguration, Audit, Passwörter und Administration, sofern diese nicht separat bereinigt werden!

Aufgaben zur Bereinigung nach DROP

Auch nach Ausführung von DROP DATABASE können noch Spuren auf der Festplatte verbleiben – insbesondere benutzerdefinierte Skripte oder Betriebssystem-artefakte, die nicht direkt von Oracle selbst verwaltet werden:

1. Parameterdateien entfernen

  • Löschen Sie die SPFILE- oder INIT-PFILE-Datei, falls vorhanden, im Verzeichnis $ORACLE_HOME/dbs/.

     rm $ORACLE_HOME/dbs/spfile${ORACLE_SID}.ora 
     rm $ORACLE_HOME/dbs/init${ORACLE_SID}.ora

2. Auditspuren bereinigen

  • Entfernen Sie die Inhalte des Audit-Dumps aus $ORACLE_BASE/admin/$ORACLE_SID/adump/.

3. Passwortdateien löschen

  • Passwortdatei(en) manuell entfernen:

  •      rm $ORACLE_HOME/dbs/orapw${ORACLE_SID}

4. Listener-Konfiguration aktualisieren

  • Bearbeiten Sie die Einträge in listener.ora/tnsnames.ora, die auf entfernte SID(s) verweisen, damit zukünftige Verbindungsversuche nicht unerwartet fehlschlagen.

5. Festplattenspeicher freigeben

  • Falls ASM verwendet wurde, überprüfen Sie den Status der Datenträgergruppe mithilfe der ASM-Tools; andernfalls löschen Sie die alten Ordner für Administration, Protokolle und Archivierung nach Bedarf.

6. Bestand aktualisieren

  • Falls die Software außer Betrieb genommen wird, führen Sie den Installer vollständig aus und verwenden Sie bei Bedarf die Befehle zum Trennen des Installationsverzeichnisses (runInstaller -detachHome ORACLE_HOME=$ORACLE_HOME).

Diese zusätzlichen Schritte helfen dabei, die Server ordentlich zu halten – und Verwirrung in Zukunft zu vermeiden!

So löschen Sie eine Oracle-Datenbank inklusive der Datenfiles

Manchmal reicht das einfache Löschen der wichtigsten Datenbankstrukturen nicht aus – möglicherweise möchten Sie auch Archivlogs und Sicherungen entfernen (zum Beispiel beim Ausscheiden von Hardware). Hier zeigt sich die Stärke des Recovery Managers (RMAN):

RMAN ermöglicht es Ihnen, sowohl Datenbanken als auch deren registrierte Sicherungen – einschließlich der in seinem Repository verfolgten Archivlogs – zu löschen:

Schritt 1: Verbindung zu RMAN als Zielbenutzer herstellen

Öffnen Sie das Terminal und geben Sie Folgendes ein:

rman TARGET /

Schritt 2: Herunterfahren und einhängen

Geben Sie innerhalb der RMAN-Eingabeaufforderung Folgendes ein:

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;

Schritt 3: Löschen Sie alle Inhalte

Zum Löschen der Datenbank sowie ALLER katalogisierter Sicherungen/Protokolle geben Sie Folgendes ein:

DATABASE LÖSCHEN MIT EINSCHLUSS VON SICHERUNGEN;

Damit werden alle in dem RMAN-Repository bekannten Objekte entfernt – darunter Sicherungssätze, Image-Kopien und Archiv-Logs, die lokal oder im FRA gespeichert sind – vorausgesetzt, sie sind registriert! Es erscheinen Bestätigungsaufforderungen, sofern diese nicht durch die Option NOPROMPT unterdrückt werden (nützlich nur bei automatisierten Skripten):

DATABASE LÖSCHEN EINSCHLIESSLICH SICHERUNGEN OHNE BESTÄTIGUNG;

Hinweis zu manuellen Sicherungen

Sicherungen, die außerhalb der RMAN-Verfolgung kopiert wurden – oder extern gespeichert wurden, ohne katalogisiert zu sein – müssen anschließend manuell gelöscht werden! Beachten Sie außerdem, dass Rohgeräte-Spezialdateien weder von SQL*Plus noch von RMAN gelöscht werden; gegebenenfalls müssen diese auf Betriebssystemebene behandelt werden.

Von der Wiederherstellungskatalog abmelden

Falls zentrale Wiederherstellungskataloge verwendet werden, müssen die Metadaten nach Abschluss des Löschvorgangs explizit abgemeldet werden:

DATENBANK DE-REGISTRIEREN;

Schritt 4: RMAN beenden

Geben Sie EXIT ein, wenn Sie fertig sind!

Nach diesem Vorgang verschwinden sowohl die logischen Strukturen als auch die physischen bzw. kopiebasierten Artefakte von den lokalen Festplatten/FRA – vorausgesetzt, sie wurden zuvor in RMAN registriert.

Was ist der Unterschied zwischen DROP und DELETE in Oracle-Datenbanken?

Viele Menschen verwechseln „DROP“ mit „DELETE“ – doch beide Befehle bedeuten in Oracle-Umgebungen etwas völlig anderes!

CommandScopeReversibilityExample
DROP DATABASEEntire DBNoDROP DATABASE;
DROP TABLESingle TableNoDROP TABLE employees;
DELETERows In TableYesDELETE FROM orders WHERE order_id=12345;
TRUNCATEAll Rows/TableNoTRUNCATE TABLE logs;

Verwenden Sie DROP DATABASE nur dann, wenn Sie ganze Instanzen dauerhaft entfernen – dadurch werden sämtliche Inhalte einschließlich Struktur, Daten und Konfigurationszeiger vollständig gelöscht! Verwenden Sie DELETE, um bestimmte Zeilen zu löschen, aber die Tabellendefinitionen unverändert zu belassen – oder verwenden Sie TRUNCATE, um Zeilen schnell in großen Mengen zu entfernen, ohne einzelne Löschvorgänge zu protokollieren.

Sichern Sie Ihre Oracle-Datenbank vor dem Löschen

Bevor Sie irreversible Schritte wie das Löschen einer gesamten Datenbank unternehmen, ist ein zuverlässiger Sicherungsschutz unerlässlich, dies führt uns zu einer professionellen Backup- und Wiederherstellungslösung, die speziell auf die Anforderungen von Unternehmen in virtuellen und physischen Umgebungen zugeschnitten ist. 

Vinchin Backup & Recovery bietet professionelle Backup-Funktionen, die nahezu alle gängigen Datenbanken derzeit unterstützen – darunter Oracle, MySQL, SQL Server, MariaDB, PostgreSQL und PostgresPro.

Zum Schutz der Datenbank bietet es umfassende Funktionen jenseits einfacher Sicherungsroutinen:

  • Es bietet eine Integration in Cloud-Backups und die Archivierung auf Band für langfristige Aufbewahrungsanforderungen;  

  • Es bietet umfassende und inkrementelle Sicherungsoptionen, und integrierte Komprimierungs- und Deduplizierungstechnologien helfen, die Effizienz zu maximieren und gleichzeitig die Speicherkosten zu minimieren.

  • Es bietet Ransomware-Schutz, der kritische Assets vor Cyberbedrohungen schützt, während die Wiederherstellungsworkflows neue Optionen zur Wiederherstellung auf einem neuen Server umfassen.

  • Es bietet einzigartige Funktionen wie die Blockänderungsverfolgung (BCT); das intelligente Überspringen zugänglicher oder offline befindlicher Dateien erhöht insbesondere bei komplexen Bereitstellungen – beispielsweise bei Oracle-Datenbanken – die Zuverlässigkeit.

Die Verwaltung von Schutzrichtlinien über die intuitive Webkonsole von Vinchin erfordert nur vier optimierte Schritte:

1. Wählen Sie die Quelldatenbanken aus.

Quelldatenbanken auswählen

2. Wählen Sie die Ziel-Speicherorte aus.

Ziel-Speicherorte auswählen

3. Sicherungsstrategien konfigurieren,

Sicherungsstrategien konfigurieren

4. Die Aufgabe einreichen.

Auftrag einreichen

Werden Sie Teil von Tausenden zufriedener Kunden weltweit, die sich täglich auf die hochbewerteten Lösungen von Vinchin verlassen – klicken Sie unten, um jetzt Ihre eigene risikofreie Testversion zu starten (60 Tage vollständiger Funktionszugriff), und laden Sie noch heute unseren einfach zu installierenden Installer herunter!

Häufig gestellte Fragen zum Löschen einer Oracle-Datenbank

F1: Kann ich eine Oracle-Datenbank nach der Ausführung von DROP DATABASE wiederherstellen?

Nein; sobald sie gelöscht wurden, verschwinden alle physischen/logischen Strukturen für immer, es sei denn, es existiert ein gültiges externes Backup, das für Wiederherstellungsprozeduren bereitsteht.

F2: Muss ich alle Apps/Benutzer vor dem Löschen beenden?

Ja; stellen Sie sicher, dass jede Anwendung bzw. jede Benutzersitzung zunächst getrennt wird; andernfalls führen Fehler bzw. Warnungen zu einer Unterbrechung des Vorgangs während der Ausführung.

F3: Wie lösche ich RAC-basierte Datenbanken sicher?

Parameter CLUSTER_DATABASE auf FALSE setzen/exklusiv im MOUNT-Modus starten/andere Knoten herunterfahren/DROP-Befehl vom letzten verbleibenden Knoten aus ausführen.

F4: Zeigen meine Überwachungstools nach dem Ausfall Fehler an?

Ja. Sie sollten Verweise/veraltete Ziele manuell innerhalb der OEM-/Cloud-Dashboards nach dem Drop-Ereignis entfernen.

F5: Entfernt das Löschen auch die Ordner „Wallet“, „Passwort“, „Audit“, „Verlauf“ und „benutzerdefiniertes Skript“?

Nein. Sie müssen diese manuell auf Betriebssystemebene löschen, da weder SQL*Plus noch RMAN sie automatisch bearbeiten.

Zusammenfassung

Das Löschen einer Oracle-Datenbank ist ein äußerst wirkungsvoller Vorgang, bei dem sämtliche Daten, Konfigurationsdateien und Protokolle unwiderruflich gelöscht werden – die Datenbank hinterlässt keinerlei Spur auf Ihrem Server.  Nach der Lektüre dieses Leitfadens wissen Sie nun, wie Sie diesen Vorgang sicher auf jedem Erfahrungsstand durchführen und wie Sie Ihre Daten vorab schützen können.

Ganz gleich, ob Sie gerade erst beginnen oder bereits jahrelange Erfahrung als Administrator haben, um später kostspielige Fehler zu vermeiden, sichern Sie es bitte zuerst! Vinchin macht den Schutz und die Wiederherstellung kritischer Datenbanken einfach und zugleich robust. Zögern Sie nicht und testen Sie noch heute unsere kostenlose Testversion!

Teilen auf:

Categories: Database Tips