


Drei Methoden zur schnellen Wiederherstellung versehentlich gelöschter Oracle-Datenbanken
Dieser Artikel bringt Ihnen relevantes Wissen über Oracle, in dem vor allem die damit verbundenen Probleme beim versehentlichen Löschen von Daten in der Oracle-Datenbank vorgestellt werden und wie Sie die Daten schnell wiederherstellen können, ohne die vollständige Datenbanksicherung und Archivprotokollauslastung zu berücksichtigen Wenn ich es zusammenstelle, hoffe ich, dass es für alle hilfreich sein wird.
Empfohlenes Tutorial: „Oracle-Video-Tutorial“
Wie kann ich die Daten in der Oracle-Datenbank schnell wiederherstellen, ohne die vollständige Datenbanksicherung und Archivprotokollauslastung zu berücksichtigen?
Hier sind 3 Methoden.
1. Verwenden Sie die von Oracle bereitgestellte Flashback-Methode, die für die Löschmethode geeignet ist.
Ermitteln Sie zunächst den Zeitpunkt der gelöschten Daten:
select * from v$sql where sql_text like '%table_name%' ; 1
Entsprechend dem Inhalt von sql_textcode> Suchen Sie im Ergebnis nach <code>delete
. Führen Sie den sql_text
内容,找到delete
执行语句对应的删除时间点,执行下面语句查询出删除的数据。
select * from table_name as of timestamp to_timestamp(‘删除时间点’,‘yyyy-mm-dd hh24:mi:ss’) where (删除时的条件) 12
检查数据无误后,执行下面操作,将数据插回原表中。注意主键不重复
insert into table_name select * from from table_name as of timestamp to_timestamp(‘删除时间点’,‘yyyy-mm-dd hh24:mi:ss’) where (删除时的条件) 123
2. 利用oracle虚拟回收站功能
原理是因为oracle数据库在删除表时会将删除信息存放于某虚拟回收站中而非直接清空,在此种状态下数据库标记该表的数据库为可以复写,所以在该块未被重新使用前依然可以恢复数据。该方法多用于drop删除。
首先查询user_table
视图,找到被删除的表:
select table_name,dropped from user_tables; select object_name,original_name,type,droptime from user_recyclebin; 12
注意此时的,object_name
和original_name
就是回收站存放的表名和原来删除的表名,如果表名没有被重新命名,可以通过下面语句进行恢复:
flashback table original_name to before drop; 1
如果不知道源表名,或者需要重新命名新的表名存放数据,则可以通过回收站中的object_name
进行恢复,命令如下:
flashback table object_name to before drop new_table_name; 1
3. 用oracle数据库的闪回功能可以将数据库恢复到过去某一状态
注意,此时是整库恢复,具体语法如下:
SQL>alter database flashback on SQL>flashback database to scn SCNNO; SQL>flashback database to timestamp to_timestamp(‘frombyte 2021-09-02 23:59:59’,‘yyyy-mm-dd hh24:mi:ss’); 123
4. 彻底删除数据
如果确定需要删除的数据又不想无谓的占用空间,我们可以使用以下3种方式:
- 采用truncate方式进行截断。(不能进行数据回恢复)
- 在drop时加上purge选项:
drop table table_name purge
- 通过删除
recyclebin
区域来永久性删除表 ,drop table table_name cascade constraints purge table table_name;
5. 关于清空回收站
-
删除当前用户回收站
purge recyclebin;
-
删除全体用户在回收站的数据
aus, der der Anweisung entspricht, und führen Sie die folgende Anweisung aus, um die gelöschten Daten abzufragen.purge dba_recyclebin;
Löschzeitpunkt rrreee
Achten Sie darauf, dass der Primärschlüssel nicht wiederholt wird virtueller Papierkorb, anstatt ihn hier direkt zu leeren. In diesem Zustand markiert die Datenbank die Tabelle als
kann überschrieben werden
user_table
ab, um die gelöschte Tabelle zu finden: 🎜rrreee🎜Beachten Sie, dass zu diesem Zeitpunkt object_name
und original_name
gespeichert sind Der Papierkorb Der Tabellenname und der ursprünglich gelöschte Tabellenname. Wenn der Tabellenname nicht umbenannt wurde, können Sie ihn mit der folgenden Anweisung wiederherstellen: 🎜rrreee🎜Wenn Sie den Quelltabellennamen nicht kennen oder ihn umbenennen müssen Neuer Tabellenname zum Speichern der Daten. Sie können den Papierkorb object_name
in object_name
zum Wiederherstellen verwenden. Der Befehl lautet wie folgt: 🎜rrreee🎜🎜3 Verwenden Sie die Flashback-Funktion der Oracle-Datenbank, um die Datenbank auf einen bestimmten Zustand in der Vergangenheit wiederherzustellen🎜🎜🎜Beachten Sie, dass es sich um eine 🎜Gesamtdatenbankwiederherstellung🎜 handelt. Die spezifische Syntax lautet wie folgt: 🎜rrreee🎜🎜4. Daten vollständig löschen 🎜🎜🎜Wenn Sie sicher sind Damit die Daten gelöscht werden müssen und keinen unnötigen Speicherplatz belegen, können wir die folgenden drei Methoden verwenden: 🎜- Verwenden Sie die Truncate-Methode. (Datenwiederherstellung ist nicht möglich) 🎜
- Fügen Sie beim Löschen die Bereinigungsoption hinzu:
drop table table_name purge
🎜 - Löschen Sie die Tabelle dauerhaft, indem Sie den Bereich
recyclebin
löschen.drop table table_name Cascade Constraints purge table table_name;
🎜🎜🎜🎜5. Informationen zum Leeren des Papierkorbs🎜🎜- 🎜Löschen Sie den aktuellen Benutzerpapierkorb🎜🎜
purge recyclebin; 🎜🎜<li>🎜Alle Benutzerdaten im Papierkorb löschen🎜🎜<code>purge dba_recyclebin;
🎜🎜🎜🎜Empfohlenes Tutorial: „🎜Oracle Video Tutorial🎜“🎜🎜
- 🎜Löschen Sie den aktuellen Benutzerpapierkorb🎜🎜
Das obige ist der detaillierte Inhalt vonDrei Methoden zur schnellen Wiederherstellung versehentlich gelöschter Oracle-Datenbanken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





Lösungen für Oracle können nicht geöffnet werden, einschließlich: 1. Starten Sie den Datenbankdienst; 2. Starten Sie den Zuhörer; 3.. Hafenkonflikte prüfen; 4. Umgebungsvariablen korrekt einstellen; 5. Stellen Sie sicher, dass die Firewall- oder Antivirus -Software die Verbindung nicht blockiert. 6. Überprüfen Sie, ob der Server geschlossen ist. 7. Verwenden Sie RMAN, um korrupte Dateien wiederherzustellen. 8. Überprüfen Sie, ob der TNS -Dienstname korrekt ist. 9. Netzwerkverbindung prüfen; 10. Oracle Software neu installieren.

Für das Löschen aller Daten in Oracle sind die folgenden Schritte erforderlich: 1. Erstellen Sie eine Verbindung; 2. Deaktivieren Sie fremde Schlüsselbeschränkungen; 3.. Tabellendaten löschen; 4. Transaktionen einreichen; 5. Aktivieren Sie fremde Schlüsselbeschränkungen (optional). Stellen Sie sicher, dass Sie die Datenbank vor der Ausführung sichern, um den Datenverlust zu verhindern.

Die Methode zur Lösung des Oracle Cursor Closeure -Problems umfasst: explizit den Cursor mithilfe der Close -Anweisung schließen. Deklarieren Sie den Cursor in der für Aktualisierungsklausel so, dass er nach Beendigung des Umfangs automatisch schließt. Deklarieren Sie den Cursor in der Verwendung der Verwendung so, dass er automatisch schließt, wenn die zugehörige PL/SQL -Variable geschlossen ist. Verwenden Sie die Ausnahmebehandlung, um sicherzustellen, dass der Cursor in jeder Ausnahmesituation geschlossen ist. Verwenden Sie den Verbindungspool, um den Cursor automatisch zu schließen. Deaktivieren Sie die Automatikübermittlung und Verzögerung des Cursors Schließen.

Oracle Database Paging verwendet Rownum Pseudo-Säulen oder Abrufanweisungen zum Implementieren: Rownum Pseudo-Säulen werden verwendet, um Ergebnisse nach Zeilennummern zu filtern und für komplexe Abfragen geeignet sind. Die Abrufanweisung wird verwendet, um die angegebene Anzahl der ersten Zeilen zu erhalten, und eignet sich für einfache Abfragen.

In Oracle kann die For -Loop -Schleife Cursors dynamisch erzeugen. Die Schritte sind: 1. Definieren Sie den Cursortyp; 2. Erstellen Sie die Schleife; 3.. Erstellen Sie den Cursor dynamisch; 4. Führen Sie den Cursor aus; 5. Schließen Sie den Cursor. Beispiel: Ein Cursor kann mit dem Zyklus für Kreislauf erstellt werden, um die Namen und Gehälter der Top 10 Mitarbeiter anzuzeigen.

Führen Sie die folgenden Schritte aus, um eine Oracle -Datenbank zu stoppen: 1. Eine Verbindung zur Datenbank herstellen; 2. Sofort herunterfahren; 3.. Herunterfahren vollständig.

SQL -Anweisungen können basierend auf der Laufzeiteingabe erstellt und ausgeführt werden, indem die dynamische SQL von Oracle verwendet wird. Zu den Schritten gehören: Vorbereitung einer leeren Zeichenfolgenvariable zum Speichern von dynamisch generierten SQL -Anweisungen. Verwenden Sie die sofortige Ausführung oder Vorbereitung, um dynamische SQL -Anweisungen zu kompilieren und auszuführen. Verwenden Sie die Bind -Variable, um die Benutzereingabe oder andere dynamische Werte an dynamische SQL zu übergeben. Verwenden Sie sofortige Ausführung oder führen Sie aus, um dynamische SQL -Anweisungen auszuführen.

Das Erstellen eines Hadoop -verteilten Dateisystems (HDFS) auf einem CentOS -System erfordert mehrere Schritte. Dieser Artikel enthält einen kurzen Konfigurationshandbuch. 1. Bereiten Sie sich auf die Installation von JDK in der frühen Stufe vor: Installieren Sie JavadevelopmentKit (JDK) auf allen Knoten, und die Version muss mit Hadoop kompatibel sein. Das Installationspaket kann von der offiziellen Oracle -Website heruntergeladen werden. Konfiguration der Umgebungsvariablen: Bearbeiten /etc /Profildatei, setzen Sie Java- und Hadoop -Umgebungsvariablen, damit das System den Installationspfad von JDK und Hadoop ermittelt. 2. Sicherheitskonfiguration: SSH-Kennwortfreie Anmeldung zum Generieren von SSH-Schlüssel: Verwenden Sie den Befehl ssh-keygen auf jedem Knoten
