首页 数据库 mysql教程 Oracle10g新特性:Recycle Bin回收站

Oracle10g新特性:Recycle Bin回收站

Jun 07, 2016 pm 03:12 PM
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] 

Oracle10g新特性:Recycle Bin回收站

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

bin是什么文件 bin是什么文件 Jan 23, 2024 pm 03:33 PM

bin文件是一种计算机文件格式,是“二进制文件”的缩写。bin文件通常用于存储和传输计算机程序或数据。在软件开发中,编译器将源代码转换为二进制形式,生成可执行的bin文件。这些bin文件包含了计算机程序的机器代码,可以直接在计算机上运行。因为二进制文件包含了底层的机器指令,所以它们通常比文本文件更加高效和快速。

mdk生成bin文件的方法 mdk生成bin文件的方法 Oct 10, 2023 am 09:56 AM

使用MDK生成bin文件的方法包括创建工程、编写应用程序代码、设置输出路径和名称、进行编译和链接等步骤。详细介绍:1、打开MDK软件,创建一个新的工程。在“Project”菜单中选择“New Project”,然后选择目标设备的型号和供应商;2、在弹出的对话框中,选择工程的保存路径和名称,并点击“Save”按钮等等。

PHP 8.3发布:新特性一览 PHP 8.3发布:新特性一览 Nov 27, 2023 pm 12:52 PM

PHP8.3发布:新特性一览随着技术的不断发展和需求的不断变化,编程语言也在不断更新和改进。作为一种广泛应用于网络开发的脚本语言,PHP一直在不断进步,为开发者提供更强大和高效的工具。最近发布的PHP8.3版本带来了许多期待已久的新特性和改进,下面让我们来看一下这些新特性的一览。非空属性的初始化在过去的PHP版本中,如果一个类的属性没有被明确赋值,它的值

掌握Spring MVC的关键概念:了解这些重要特性 掌握Spring MVC的关键概念:了解这些重要特性 Dec 29, 2023 am 09:14 AM

了解SpringMVC的关键特性:掌握这些重要的概念,需要具体代码示例SpringMVC是一种基于Java的Web应用开发框架,它通过模型-视图-控制器(MVC)的架构模式来帮助开发人员构建灵活可扩展的Web应用程序。了解和掌握SpringMVC的关键特性将使我们能够更加有效地开发和管理我们的Web应用程序。本文将介绍一些SpringMVC的重要概念

学习PHP8的新特性,深入理解最新技术的指南 学习PHP8的新特性,深入理解最新技术的指南 Dec 23, 2023 pm 01:16 PM

深入解析PHP8的新特性,助您掌握最新技术随着时间的推移,PHP编程语言一直在不断演进和改进。最近发布的PHP8版本为开发者提供了许多令人兴奋的新特性和改进,为我们的开发工作带来了更多便利和效率。在本文中,我们将深入解析PHP8的新特性,并提供具体的代码示例,旨在帮助您更好地掌握这些最新的技术。JIT编译器PHP8引入了JIT(Just-In-Time)编

选择适用的Go版本,根据需求和特性 选择适用的Go版本,根据需求和特性 Jan 20, 2024 am 09:28 AM

随着互联网的快速发展,编程语言也在不断演化和更新。其中,Go语言作为一种开源的编程语言,在近年来备受关注。Go语言的设计目标是简单、高效、安全且易于开发和部署。它具有高并发、快速编译和内存安全等特性,让它在Web开发、云计算和大数据等领域中有着广泛的运用。然而,目前Go语言也有不同的版本可供选择。在选择合适的Go语言版本时,我们需要考虑需求和特性两个方面。首

Golang中有类似类的面向对象特性吗? Golang中有类似类的面向对象特性吗? Mar 19, 2024 pm 02:51 PM

在Golang(Go语言)中并没有传统意义上的类的概念,但它提供了一种称为结构体的数据类型,通过结构体可以实现类似类的面向对象特性。在本文中,我们将介绍如何使用结构体实现面向对象的特性,并提供具体的代码示例。结构体的定义和使用首先,让我们看一下结构体的定义和使用方式。在Golang中,结构体可以通过type关键字定义,然后在需要的地方使用。结构体中可以包含属

C++ 函数的类型和特性 C++ 函数的类型和特性 Apr 11, 2024 pm 03:30 PM

C++函数有以下类型:简单函数、const函数、静态函数、虚函数;特性包括:inline函数、默认参数、引用返回、重载函数。例如,calculateArea函数使用π计算给定半径圆的面积,并将其作为输出返回。

See all articles