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]

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Un fichier bin est un format de fichier informatique et est l'abréviation de « fichier binaire ». Les fichiers bin sont couramment utilisés pour stocker et transférer des programmes informatiques ou des données. Dans le développement de logiciels, le compilateur convertit le code source sous forme binaire et génère un fichier bin exécutable. Ces fichiers bin contiennent le code machine du programme informatique et peuvent être exécutés directement sur l'ordinateur. Étant donné que les fichiers binaires contiennent des instructions machine de bas niveau, ils sont généralement plus efficaces et plus rapides que les fichiers texte.

La méthode d'utilisation de MDK pour générer un fichier bin comprend des étapes telles que la création d'un projet, l'écriture du code d'application, la définition du chemin et du nom de sortie, la compilation et la liaison. Introduction détaillée : 1. Ouvrez le logiciel MDK et créez un nouveau projet. Sélectionnez « Nouveau projet » dans le menu « Projet », puis sélectionnez le modèle et le fournisseur de l'appareil cible ; 2. Dans la boîte de dialogue contextuelle, sélectionnez le chemin de sauvegarde et le nom du projet, puis cliquez sur « Enregistrer ». bouton, etc

Comprendre les fonctionnalités clés de SpringMVC : pour maîtriser ces concepts importants, des exemples de code spécifiques sont nécessaires. SpringMVC est un cadre de développement d'applications Web basé sur Java qui aide les développeurs à créer des structures flexibles et évolutives via le modèle architectural Model-View-Controller (MVC). application Web. Comprendre et maîtriser les fonctionnalités clés de SpringMVC nous permettra de développer et de gérer nos applications Web plus efficacement. Cet article présentera quelques concepts importants de SpringMVC

Sortie de PHP8.3 : aperçu des nouvelles fonctionnalités À mesure que la technologie continue de se développer et que les besoins évoluent, les langages de programmation sont constamment mis à jour et améliorés. En tant que langage de script largement utilisé dans le développement Web, PHP s'est constamment amélioré pour offrir aux développeurs des outils plus puissants et plus efficaces. La version PHP 8.3 récemment publiée apporte de nombreuses nouvelles fonctionnalités et améliorations tant attendues. Jetons un coup d'œil à ces nouvelles fonctionnalités. Initialisation des propriétés non nulles Dans les versions précédentes de PHP, si une propriété de classe ne se voyait pas explicitement attribuer une valeur, sa valeur

Avec le développement rapide d'Internet, les langages de programmation évoluent et se mettent à jour constamment. Parmi eux, le langage Go, en tant que langage de programmation open source, a attiré beaucoup d'attention ces dernières années. Le langage Go est conçu pour être simple, efficace, sûr et facile à développer et à déployer. Il présente les caractéristiques d'une concurrence élevée, d'une compilation rapide et d'une sécurité de la mémoire, ce qui le rend largement utilisé dans des domaines tels que le développement Web, le cloud computing et le big data. Cependant, il existe actuellement différentes versions du langage Go disponibles. Lors du choix d’une version linguistique Go appropriée, nous devons prendre en compte à la fois les exigences et les fonctionnalités. tête

Une analyse approfondie des nouvelles fonctionnalités de PHP8 pour vous aider à maîtriser les dernières technologies Au fil du temps, le langage de programmation PHP n'a cessé d'évoluer et de s'améliorer. La version PHP8 récemment publiée offre aux développeurs de nombreuses nouvelles fonctionnalités et améliorations intéressantes, apportant plus de commodité et d'efficacité à notre travail de développement. Dans cet article, nous analyserons en profondeur les nouvelles fonctionnalités de PHP8 et fournirons des exemples de code spécifiques pour vous aider à mieux maîtriser ces dernières technologies. Le compilateur JIT PHP8 introduit la compilation JIT (Just-In-Time)

Il n'y a pas de concept de classe au sens traditionnel dans Golang (langage Go), mais il fournit un type de données appelé structure, à travers lequel des fonctionnalités orientées objet similaires aux classes peuvent être obtenues. Dans cet article, nous expliquerons comment utiliser les structures pour implémenter des fonctionnalités orientées objet et fournirons des exemples de code concrets. Définition et utilisation des structures Examinons d'abord la définition et l'utilisation des structures. Dans Golang, les structures peuvent être définies via le mot-clé type, puis utilisées si nécessaire. Les structures peuvent contenir des attributs

Les fonctions C++ ont les types suivants : fonctions simples, fonctions const, fonctions statiques et fonctions virtuelles ; les fonctionnalités incluent : les fonctions en ligne, les paramètres par défaut, les retours de référence et les fonctions surchargées. Par exemple, la fonction calculateArea utilise π pour calculer l'aire d'un cercle d'un rayon donné et la renvoie en sortie.
