Oracle10g新特性:Recycle Bin回收站
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 Oracle10g提供了类似操作系统中的回收站功能。当drop table的时候,实际上只是将其重命名,并将table以及相关联的对象如index,constraint等放到回收站(RecycleBin)中,后续如果发现drop错了table
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入
Oracle10g提供了类似操作系统中的回收站功能。当drop table的时候,实际上只是将其重命名,并将table以及相关联的对象如index,constraint等放到回收站(RecycleBin)中,后续如果发现drop错了table,可以使用flashback table命名将回收站中的table还原,这就是Oracle10g的Flashback Drop功能。
1.什么是Recycle Bin
实际上,Recycle Bin只是一个保存被drop的对象的一个数据字典表。所以,可以通过如下语句查询回收站中的信息:select * from recyclebin
除非拥有sysdba权限,每个用户只能看到属于自己的对象。所以,对于用户来说,好像每个人都拥有自己的回收站。即使用户有删除其他schema对象的权限,也只能在recyclebin中看到属于自己的对象。
做个小试验:SQL> conn ning/ning已连接。
SQL> drop table test;
表已删除。
SQL> drop table test.test;
表已删除。
SQL> select object_name,original_name from recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$xJlIkIFVR/yau1Qb8ocxxQ==$0 TEST
SQL> conn test/test已连接。
SQL> select object_name,original_name from recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$1PKEiRExRN2g3tqEEWLfyw==$0 TEST
以下几种drop不会将相关对象放进RecycleBin:
* drop tablespace:会将RecycleBin中所有属于该tablespace的对象清除* drop user:会将RecycleBin中所有属于该用户的对象清除* drop cluster:会将RecycleBin中所有属于该cluster的成员对象清除* drop type:会将RecycleBin中所有依赖该type的对象清除
RecycleBin中的对象会被系统自动按照规则重命名,这是为了防止命名冲突。命名格式为:BIN$unique_id$version
其中unique_id是26个字符的对象唯一标识符,version则是对象在数据库中的版本号。
SQL> create table t(id int);
表已创建。
SQL> drop table t;
表已删除。
SQL> select object_name,original_name from recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$+7J5MgT2RbCX+tka+zjpgA==$0 T
SQL> create table t(id int);
表已创建。
SQL> drop table t;
表已删除。
SQL> select object_name,original_name from recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$+7J5MgT2RbCX+tka+zjpgA==$0 T BIN$pc+kkUM7QjuQeCDGtwlzgQ==$0 T
可以看到,删除table t后,重建一个名为t的table,再次删除,其unique_id是不一样的。
这时,做一个还原看看:
SQL> select object_name,original_name from recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$+7J5MgT2RbCX+tka+zjpgA==$0 T
这里,Oracle选择了最后一次删除的T表还原。
再次删除:SQL> drop table t;
表已删除。
SQL> select object_name,original_name from recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$4bNgZiMGTA63iwA5xflh5A==$0 T BIN$+7J5MgT2RbCX+tka+zjpgA==$0 T
可以看到unique_id又变了。所以,通过这种命名方式,避免了对于删除table后又重建了同名table的情况可能造成的命名冲突。
[1] [2] [3] [4]

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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

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



Eine Bin-Datei ist ein Computerdateiformat und die Abkürzung für „Binärdatei“. Bin-Dateien werden üblicherweise zum Speichern und Übertragen von Computerprogrammen oder Daten verwendet. Bei der Softwareentwicklung wandelt der Compiler Quellcode in Binärform um und generiert eine ausführbare Bin-Datei. Diese Bin-Dateien enthalten den Maschinencode des Computerprogramms und können direkt auf dem Computer ausgeführt werden. Da Binärdateien Maschinenanweisungen auf niedriger Ebene enthalten, sind sie im Allgemeinen effizienter und schneller als Textdateien.

Die Methode zur Verwendung von MDK zum Generieren einer Bin-Datei umfasst Schritte wie das Erstellen eines Projekts, das Schreiben von Anwendungscode, das Festlegen des Ausgabepfads und -namens sowie das Kompilieren und Verknüpfen. Detaillierte Einführung: 1. Öffnen Sie die MDK-Software und erstellen Sie ein neues Projekt. Wählen Sie „Neues Projekt“ im Menü „Projekt“ und wählen Sie dann das Modell und den Lieferanten des Zielgeräts aus. 2. Wählen Sie im Popup-Dialogfeld den Speicherpfad und den Namen des Projekts aus und klicken Sie auf „Speichern“. Knopf usw.

PHP8.3 veröffentlicht: Überblick über neue Funktionen Da sich die Technologie weiterentwickelt und sich ändern muss, werden Programmiersprachen ständig aktualisiert und verbessert. PHP ist eine in der Webentwicklung weit verbreitete Skriptsprache und wurde ständig verbessert, um Entwicklern leistungsfähigere und effizientere Tools zur Verfügung zu stellen. Die kürzlich veröffentlichte PHP 8.3-Version bringt viele lang erwartete neue Funktionen und Verbesserungen. Werfen wir einen Blick auf einen Überblick über diese neuen Funktionen. Initialisierung von Nicht-Null-Eigenschaften Wenn in früheren Versionen von PHP einer Klasseneigenschaft nicht explizit ein Wert zugewiesen wurde, ist es ihr Wert

Verstehen Sie die Hauptfunktionen von SpringMVC: Um diese wichtigen Konzepte zu beherrschen, sind spezifische Codebeispiele erforderlich. SpringMVC ist ein Java-basiertes Framework für die Entwicklung von Webanwendungen, das Entwicklern beim Aufbau flexibler und skalierbarer Strukturen durch das Architekturmuster Model-View-Controller (MVC) hilft. Internetanwendung. Wenn wir die wichtigsten Funktionen von SpringMVC verstehen und beherrschen, können wir unsere Webanwendungen effizienter entwickeln und verwalten. In diesem Artikel werden einige wichtige Konzepte von SpringMVC vorgestellt

Eine ausführliche Analyse der neuen Funktionen von PHP8, um Ihnen zu helfen, die neueste Technologie zu beherrschen. Im Laufe der Zeit hat sich die Programmiersprache PHP ständig weiterentwickelt und verbessert. Die kürzlich veröffentlichte PHP8-Version bietet Entwicklern viele spannende neue Funktionen und Verbesserungen, die unsere Entwicklungsarbeit komfortabler und effizienter machen. In diesem Artikel analysieren wir die neuen Funktionen von PHP8 eingehend und stellen spezifische Codebeispiele bereit, die Ihnen helfen, diese neuesten Technologien besser zu beherrschen. Der JIT-Compiler PHP8 führt die JIT-Kompilierung (Just-In-Time) ein

Mit der rasanten Entwicklung des Internets werden Programmiersprachen ständig weiterentwickelt und aktualisiert. Unter ihnen hat die Go-Sprache als Open-Source-Programmiersprache in den letzten Jahren große Aufmerksamkeit erregt. Die Go-Sprache ist so konzipiert, dass sie einfach, effizient, sicher und leicht zu entwickeln und bereitzustellen ist. Es zeichnet sich durch hohe Parallelität, schnelle Kompilierung und Speichersicherheit aus und wird daher häufig in Bereichen wie Webentwicklung, Cloud Computing und Big Data eingesetzt. Derzeit sind jedoch verschiedene Versionen der Go-Sprache verfügbar. Bei der Auswahl einer geeigneten Go-Sprachversion müssen wir sowohl Anforderungen als auch Funktionen berücksichtigen. Kopf

In Golang (Go-Sprache) gibt es kein Konzept einer Klasse im herkömmlichen Sinne, es stellt jedoch einen Datentyp namens Struktur bereit, durch den objektorientierte Funktionen ähnlich wie Klassen erreicht werden können. In diesem Artikel erklären wir, wie Strukturen zur Implementierung objektorientierter Funktionen verwendet werden, und stellen konkrete Codebeispiele bereit. Definition und Verwendung von Strukturen Werfen wir zunächst einen Blick auf die Definition und Verwendung von Strukturen. In Golang können Strukturen über das Schlüsselwort type definiert und dann bei Bedarf verwendet werden. Strukturen können Attribute enthalten

C++-Funktionen haben die folgenden Typen: einfache Funktionen, konstante Funktionen, statische Funktionen und virtuelle Funktionen; zu den Funktionen gehören: Inline-Funktionen, Standardparameter, Referenzrückgaben und überladene Funktionen. Beispielsweise verwendet die Funktion „calculeArea“ π, um die Fläche eines Kreises mit einem bestimmten Radius zu berechnen und gibt sie als Ausgabe zurück.
